仅从PE文件中提取.text部分

时间:2014-10-01 11:04:34

标签: text portable-executable

我试图从PE文件(dll)中提取.text部分,即代码。在Linux或某些python或ruby lib中是否有任何简单的工具可以让我轻松完成这项工作?

1 个答案:

答案 0 :(得分:5)

自己解决了。我使用了pefile python模块,我在其中提取了文本部分,并使用PointerToRawData和VirtualSize来推断文本部分的位置。然后我使用dd将.text部分提取到一个单独的文件中。

import pefile
pe = pefile.PE('filepath')
for section in pe.sections:
    if section.Name == '.text'
    print "%s %s" % (section.PointerToRawData),hex(section.Misc_VirtualSize))

然后dd:

dd if=<lib> of=<lib.text> bs=1 skip=$PointerToRawData count=$VirtualSize