我正在尝试使用Python反汇编windowspe32文件,但是基于输出,我不确定是否正确。你知道吗
目前我正在尝试用pefile和capstone库反汇编PE文件的.data部分。你知道吗
import pefile
from capstone import *
def disassemble(fpath):
pe = pefile.PE(fpath)
for s in pe.sections:
print(s.Name)
md = Cs(CS_ARCH_X86, CS_MODE_32)
for j in md.disasm(s.get_data(), pe.OPTIONAL_HEADER.ImageBase + s.VirtualAddress):
print("0x%x:\t%s\t%s" % (j.address, j.mnemonic, j.op_str))
我希望(在.data部分)的输出类似于
.data
example_var DW 12345
example_var2 DB 'c'
...
但它以
<addr> <instr> <opstr>
0x4b601a add byte ptr [eax], al
有没有什么方法可以得到我想要的结果,或者这是不可能的,如果有,为什么?它还必须通过Windows而不是Linux进行反汇编
目前没有回答
相关问题 更多 >
编程相关推荐