[英]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.