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