Python代码中的十六进制模式解析(使用位字符串)

2024-04-26 14:35:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个特定文件编辑器的原型,并且在解析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)和后3个字节(0xf700f0):我只想得到中间部分。

我尝试过不同的解决方案,但运气不好,有什么想法吗?

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

Tags: 文件代码fromimport字节模式find编辑器