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 回答