私はバイナリ セーブ ゲーム ファイルを使用しています。ファイルには多くのフィールドが含まれており、そのほとんどは固定されていますが、可変長フィールドがいくつかあり、それらの長さがわからないため解析に問題があります。私がやろうとしているのは、次のフィールドのオフセットを生成できるようになるまで、既知のオフセットからnullbyteに到達するか、何も返さないことです。
私が使用しているファイルは www.retro-gaming-world.com/SAVE.DAT です。フィールドの始まりは 0x8C30 で、どこで終わるか分からないという問題があります。
次のコードでこれを実行しようとしましたが、これを正しく行っているとは思いません。
while catch:
if "0" in temp2:
print "found it"
print temp2
print hex(infile.tell())
break
temp = infile.read(1)
temp2 += temp