たとえば、すべての FF バイトを AF に変更するために、ファイル内の 16 進バイトのアドレスを取得したいと考えています。
そのため、まず一致するバイト シーケンスを見つける必要があります。それ、どうやったら出来るの?
実際、やってみた
import re
target = 0x76c0
f = open("bin.dat", 'rb+')
data = f.read()
match = re.search(target, data)
if match:
print "Found."
data.replace(target,0xffff)
else:
print "No match"
f.close()
それを見つけて置き換えますが、どういうわけかpythonはf.close()について不平を言います。そこで、f.seek() と f.write を使用して別のアプローチを開始しましたが、最初のバイト一致のアドレスが必要です。
何か案は?
ありがとう、ジョン