コピー2018.08.16TVアニメ「ヨルムンガンド」PV第1弾アニメ『ヨルムンガルド』(2012)最近ガンアクションに飢えており、既に見たアニメですがまた見てます。内容を忘れてしまっているので結構楽めるし、ガンアクションにも満足です。「a.outを編集してprintfの出力を変更する」で、a.out(ELF)を直接書き換えて出力文字列を変更しましたが、WindowsのEXEファイル(PEフォーマット)も同じようなことができるでしょうか。C#のコンパイラcscで生成したファイルを確認してみます。使うソースはこれです。t.cs省略C:\Users\takk\tmp>では、生成されたt.exeを、Linuxで確認。EXEファイルの先頭にはマジックナンバーMZが埋め込まれています。EXEファイル中の文字列を確認します。HELLOがどこにもありません。プログラム中の文字列は、そのままバイナリになるわけではないようです。念のため、grepで確認。いうことは、EXEファイルを書き換えて、文字列変更することはできない、ということになります。EXEファイル中のその他のデータを書き換えることはできるでしょうか。さきほどのstringsの一覧でファイル名らしきデータがありました。ファイル名なら書き換えても動作するかと思います。t.exeEXEファイルに埋め込まれているt.exeをu.exeに変更してみます。