0

我需要在二进制文件中搜索特定字符串。字符串来自文本文件中的单词列表。我认为将文本文件中的单词翻译成可以搜索的格式会更容易。我需要将字符串翻译成的格式是十六进制字节表示法。例如,我需要搜索字符串 TRUE,这就是我需要的最终产品的样子:

Original Word = TRUE
Hex Translate = b'\x54\x52\x55\x45'

我一直试图通过几种方式做到这一点,但没有成功。这是我目前的尝试:

 for word in dirtyWords:
        data = word.strip('\n')
        data = word.encode('utf-8')
        data = binascii.hexlify(data)
        print(data)
        data = str(data).replace("b'",'').replace("'",'')
        sx = r"\x" + r"\x".join(data[n : n+2] for n in range(0, len(data), 2))
        print(sx)
        sx = sx.encode('utf-8')
        print(sx)

这给了我以下输出:

b'54525545'
\x54\x52\x55\x45
b'\\x54\\x52\\x55\\x45'

字节编码添加了一个额外的反斜杠,当我尝试搜索二进制文件时,它当然会失败。有任何想法吗?

4

0 回答 0