0

exeファイルのバイトを上書きしたい。

したがって、ランダムな文字列を生成し、変換してから、exeに書き込む必要があります。

この形式で表示される4つの16進文字列を上書きする必要があります。xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(8-4-4-4-12)ダッシュが必要なので、これも問題でした。

これは最初の文字列の場所です。

hexdump

属性のスクリーンショット

これを開始する方法、これらの4つの文字列を、正しい形式でランダムな文字列(16進数、つまりランダムは0123456789abcdefのみ)で上書きする方法がまったくわかりませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

5

上書きする文字列は GUID です。Guidクラスを使用して新しいクラスを生成できます( MSDN ドキュメントを参照してください) 。

ファイルへの書き込みは、BinaryWriterクラスを使用します。

using (System.IO.BinaryWriter fileWriter = new System.IO.BinaryWriter(System.IO.File.Open("path", System.IO.FileMode.Open)))
{
    fileWriter.BaseStream.Position = 0xB8EB9; // set the offset
    fileWriter.Write(Encoding.ASCII.GetBytes(Guid.NewGuid().ToString()));
}

イデオンサンプル

于 2013-01-26T16:23:05.327 に答える