我有一个文件,我试图从中读取十六进制并提取两个偏移之间的十六进制值。这是我到目前为止所做的:
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,包含:
如何获得这两个数字之间的十六进制值?
答案 0 :(得分:0)
如果你只想使用hexa值你可以使用hex(n),函数返回hexa表示,如hex(126) - > 0x7e格式。 你可以制作一个简单的.split(' x')并只选择十六进制的值。