我正在读取文件并尝试将字节值与我的测试变量进行比较。我的比较总是假的,因为我没有返回预期值。
我的代码:
def grey(self, varexec):
offsets = [0x388e93]
write = b'\x02'
test1 = b'\x02'
test2 = b'\x30'
test3 = b'\x10'
test4 = b'\x00'
for offset in offsets:
with open(varexec, 'rb') as offsetwriter:
offsetwriter.seek(offset)
offsetwriter.seek(6,1)
print(offsetwriter.read(2))
我希望print(offsetwriter.read(2))返回 B '\ X14' 如下所示,但事实并非如此。如果没有这个,我就不能使用if语句,因为它总是返回false,从而导致else。
CPU Disasm
Address Hex dump Command Comments
00788E93 |. 6A 01 PUSH 1 ; |Arg8 = 1
00788E95 |. 6A 0C PUSH 0C ; |Arg7 = 0C
00788E97 |. 51 PUSH ECX ; |Arg6
00788E98 |. 8D50 14 LEA EDX,[EAX+14] ; |
00788E9B |. 6A 30 PUSH 30 ; |Arg5 = 30
00788E9D |. 52 PUSH EDX ; |Arg4
00788E9E |. 68 0C030000 PUSH 30C ; |Arg3 = 30C
00788EA3 |. 50 PUSH EAX ; |Arg2 => [LOCAL.1455]
00788EA4 |. 68 8F020000 PUSH 28F ; |Arg1 = 28F
当我运行我的脚本时,我得到:
b'P\x14'
答案 0 :(得分:1)
“P”是“\ x50”。你离开1.此外,“\ x14”是1个字节,你正在阅读2。