4

特定のファイル エディターのプロトタイプを作成していますが、hex ファイルの解析と特定のパターンの検索に問題があります。これが私のコードです(Bitstringライブラリを使用):

from bitstring import BitArray, BitStream, Bit
f = open('d:\BB.bin', "rb")
s = BitArray(f)
f1 = s.find('0x000015354444444343434344444444434343434444444400F700F0')

>>> print(f1)
(15232,)

この部分は問題ありませんが、出力15232は何を参照しているのでしょうか? (私のファイルでは、実際のパターンは にあります770h)。

私の主な問題は、この種のパターンを探していることですが、最初の 3 バイト ( 0x000015) と最後のバイト ( ) のみを使用して0xf700f0います。中間部分のみを取得することに関心があります。

私はさまざまな解決策を試しましたが、うまくいきませんでした。何かアイデアはありますか?

f1 = s.find('0x000001''(.*)''F700F0')  
f1 = s.find('0x000001''0x.''0xF700F0') 
4

1 に答える 1

4

ビット解像度は必要なく、それでbytes十分だと思います。

import re
with open('d:\BB.bin', "rb") as f:
    f1 = re.findall( b'\x00\x00\x01(.*?)\xF7\x00\xF0', f.read() )

print f1
于 2012-07-03T10:24:30.850 に答える