気にしないで、私はそれを自分で見つけました。
パスがpdbファイルにあるというAntonGogolevの声明のおかげで、私はそれが可能であることに気づきました。
pdbファイルでバイナリ検索と置換を実行し、ユーザー名を別のものに置き換えることができます。
私はすぐにこれを使ってみました:
https
://codereview.stackexchange.com/questions/3226/replace-sequence-of-strings-in-binary-file
そしてそれは(pdbファイルの50%で)機能しました。リンクのコードスニペットはバグがあるようです。
しかし、この概念は機能しているようです。
私は今このコードを使用しています:
public static void SizeUnsafeReplaceTextInFile(string strPath, string strTextToSearch, string strTextToReplace)
{
byte[] baBuffer = System.IO.File.ReadAllBytes(strPath);
List<int> lsReplacePositions = new List<int>();
System.Text.Encoding enc = System.Text.Encoding.UTF8;
byte[] baSearchBytes = enc.GetBytes(strTextToSearch);
byte[] baReplaceBytes = enc.GetBytes(strTextToReplace);
var matches = SearchBytePattern(baSearchBytes, baBuffer, ref lsReplacePositions);
if (matches != 0)
{
foreach (var iReplacePosition in lsReplacePositions)
{
for (int i = 0; i < baReplaceBytes.Length; ++i)
{
baBuffer[iReplacePosition + i] = baReplaceBytes[i];
} // Next i
} // Next iReplacePosition
} // End if (matches != 0)
System.IO.File.WriteAllBytes(strPath, baBuffer);
Array.Clear(baBuffer, 0, baBuffer.Length);
Array.Clear(baSearchBytes, 0, baSearchBytes.Length);
Array.Clear(baReplaceBytes, 0, baReplaceBytes.Length);
baBuffer = null;
baSearchBytes = null;
baReplaceBytes = null;
} // End Sub ReplaceTextInFile
firstname.lastname
「ポルターガイスト」など、同じように多くの文字を含むものに置き換えます。
今、私はバイナリ検索を実行し、ビルド後のアクションとして置き換える方法を理解する必要があるだけです。