我试图用python使用pefile和capstone反汇编PE可执行文件,以便稍后从该代码中获取CFG。我的想法是获取PE文件中保存可执行代码的部分,并将所有这些字节传递给capstone。我不知道的是,我到底应该将哪个部分传递给capstone,这样在构造CFG时,不需要反汇编更多的代码,并且可以解析rva(即jo 0x10df9,地址0x10df9在反汇编指令列表中)。我试过了
md.disasm(pe.get_memory_mapped_image(), pe.OPTIONAL_HEADER.AddressOfEntryPoint)
但我担心它会从入口点反汇编到PE的末尾,我只想反汇编可执行代码。我一直在读PE格式,很可能代码总是在section.text中。我也在考虑把这一部分和:
^{pr2}$然后把这个部分的数据从入口点的字节开始传递给capstone,我认为这可以将数据从起始点到该部分的结尾。在
md.disasm(code_section.get_data(pe.OPTIONAL_HEADER.AddressOfEntryPoint))
但在这一节的末尾可能是不应该被反汇编的代码(我想,不确定)。所以我要反汇编文件的可执行文件是什么。在
您不需要传递参数来获取\u数据。在
这应该行得通
相关问题 更多 >
编程相关推荐