【发布时间】:2010-04-02 18:01:07
【问题描述】:
将 PE 二进制文件转换为 ELF 二进制文件的最佳工具是什么?
以下是这个问题的简要动机:
- 假设我有一个简单的 C 程序。
- 我使用 gcc for linux 编译它(这会产生 ELF),并使用 'i586-mingw32msvc-gcc' for Windows(这会产生一个 PE 二进制文件)。
- 我想使用 Bitblaze 的静态分析工具 vine(http://bitblaze.cs.berkeley.edu/vine.html) 分析这两个二进制文件的相似之处
- 现在 vine 对 PE 二进制文件没有很好的支持,所以我想转换 PE->ELF,然后继续我的比较/分析。
由于所有分析都必须在 Linux 上运行,我更喜欢在 Linux 上运行的实用程序/工具。
谢谢
【问题讨论】:
-
嗨,阿曼!您想在 Linux 上运行 Windows 二进制文件吗?将可执行文件从 PE 转换为 ELF 不是解决方案!
-
@SiuChingPong:我想比较一下两者,我已经更新了描述,以便人们可以提供答案。
-
@Aman:我明白了。你的问题现在更清楚了。我认为我对这个主题不够熟悉,无法回答你的问题,但我可以尽我所能给你一些建议。我访问了你发布的链接,没有提到任何关于 PE 或 ELF 的内容,所以它可能也适用于 PE。只需使用 MinGW 或 Cygwin 编译即可尝试。你知道二进制文件的“代码部分”是什么吗?我想如果你能把它解压并保存到一个文件中,Vine 或许可以分析这个“裸二进制”。以下是一些可能有用的关键字:binutils、objdump、objcopy、nm、readelf、ld、lld、ar、as。
-
如果您觉得我的 cmets 有用,请不要忘记 +1 :-)。
-
@SiuChingPong:当我运行 vine 的分析时,有一条警告消息说该工具尚未准备好用于 PE 二进制文件。
标签: linux binary elf portable-executable