gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:54 25 4
gpt4 key购买 nike

我正在制作一个特定文件编辑器的原型(prototype),但在解析我的十六进制文件和查找特定模式时遇到了问题。这是我的代码(使用 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')

最佳答案

我假设您不需要位分辨率并且 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

关于python - Python 代码中的十六进制模式解析(使用位串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11308091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com