バイナリファイルの1バイトを特定のoffset
に上書きしたいとします。値cval
は整数です。これを行うにはバイナリファイルの1バイトを上書きすると、objdumpによって認識されなくなりますか?
は、私は次のコードを書いている:offset
でバイトを読んだが、ELFバイナリを認識することはできませんobjdump
でこの位置結果への書き込み時に
f = open(program, "wb")
f.seek(offset, 0) # absolute
#print(f.read(1))
f.write(bytes([cval]))
f.close()
コードは完璧に動作します。
[email protected]:~/llvm-ir-obfuscation/checker$ objdump -dF fac_c
objdump: fac_c: File format not recognized
私は何が間違っていますか?
ヘッダーには書いていませんか? –
'f.read(1)'を実行すると、 '.text'セクションで正しく読み込まれます。しかし、書き込み操作は何とか物事を混乱させる。 – Shuzheng
この質問を投稿する前に、あなたの "認識できない"ファイルサイズをチェックしないようにしてください。 – jsbueno