Python3 - 字节读取不返回预期值

时间:2015-11-08 23:05:28

标签: python python-3.x

我正在读取文件并尝试将字节值与我的测试变量进行比较。我的比较总是假的,因为我没有返回预期值。

我的代码:

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'

1 个答案:

答案 0 :(得分:1)

“P”是“\ x50”。你离开1.此外,“\ x14”是1个字节,你正在阅读2。