繁体   English   中英

Python-提取两个偏移量之间的十六进制值

[英]Python - Extract Hex Value between two offsets

我有一个文件,我试图从中读取十六进制并提取两个偏移量之间的十六进制值。 这是我到目前为止的内容:

import re

path = input("Enter path to file you wish to decode (include file in path):  ")
count = 0

f = open(path, 'rb')
data = f.read()
f.close()

addedon = b'\x61\x64\x64\x65\x64\x5F\x6F\x6E\x69'



regex = re.compile(addedon)

for match_obj in regex.finditer(data):
    offset = match_obj.start()
    start = offset + 9
    end = start + 9
    value = data[start] + data[end]
    print("The offset is:  " + str(start) + ":" + str(end) + " containing: " + str(type(value)))
    count += 1

print("Number found:  " + str(count))

这将产生出现的次数,并在哪里可以找到我想要的值。 举个例子:

偏移量是:117:126包含:

如何获得这两个数字之间的十六进制值?

如果只需要hexa值,则可以使用hex(n),该函数将返回hexa重新设置,例如hex(126)-> 0x7e。 您可以制作一个简单的.split('x')并仅选择十六进制的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM