我在读取二进制文件的.text部分时遇到了一些问题。
该二进制文件是由gcc编译的。
readelf -S binary_file此命令显示
.text PROGBITS 0000831C 00031C 000340.text段为0000831c,偏移量= 00031c,大小= 000340时的地址
我试过了
file = open('binary_file')
content = file.readlines()而顶石无法辨认。
如果.text内容看起来像
f102 030e 0000 a0e3 如何将其理解为
content = b'\xf1\x02\x03\x0e\x00\x00\xa0\xe3'发布于 2016-03-02 11:35:35
默认情况下,open()以文本模式打开文件。要以二进制模式打开文件,您需要提供适当的模式:'rb‘-这意味着以二进制模式打开以进行读取。
readlines()被设计为从文件中读取一行文本,因此使用它从二进制文件中读取没有意义。
你想要这样的东西:
file = open('binary_file', 'rb')
content = file.read()https://stackoverflow.com/questions/35731034
复制相似问题