将PE二进制文件转换为ELF二进制文件的最佳工具是什么?以下是这个问题的简要动机:假设我有一个简单的C程序。我使用linux的gcc编译它(这给出了ELF),并使用'i586-mingw32msvc-gcc'为Windows编译了它(这给出了一个PE二进制文件)。我想分析这两个二进制文件的相似之处,使用Bitblaze的静态分析工具-vine(http://bitblaze.cs.berkeley.edu/vine.html)现在vine对PE二进制文件的支持不是很好,所以我想转换PE->ELF,然后继续我的比较/分析。由于所有分析都必须在Linux上运行,所以我更喜欢在Linux上运
我有一个奇怪的异常,说错误的ELF类,但包装器设置正确。使用此SDK从比利时身份证发行商官方网站读取比利时身份证:http://eid.belgium.be/en/binaries/beid-sdk-3.5.3-ubuntu-9.10-i686-6193_tcm147-94066_tcm406-114986.tgz$uname-a#UsingNetBeansIDE7.3inUbuntu12.1064-bitLinuxsun-M14xR23.5.0-25-generic#39-UbuntuSMPMonFeb2518:26:58UTC2013x86_64x86_64x86_64GNU/Li
我有一个奇怪的异常,说错误的ELF类,但包装器设置正确。使用此SDK从比利时身份证发行商官方网站读取比利时身份证:http://eid.belgium.be/en/binaries/beid-sdk-3.5.3-ubuntu-9.10-i686-6193_tcm147-94066_tcm406-114986.tgz$uname-a#UsingNetBeansIDE7.3inUbuntu12.1064-bitLinuxsun-M14xR23.5.0-25-generic#39-UbuntuSMPMonFeb2518:26:58UTC2013x86_64x86_64x86_64GNU/Li
假设我有一个动态链接的ELF二进制文件,我想覆盖/重定向某些库调用。我知道我可以使用LD_PRELOAD来做到这一点,但我想要一个在二进制文件中永久存在、独立于环境并且适用于setuid/setgid二进制文件的解决方案,LD_PRELOAD可以实现。我想做的是从其他目标文件中添加代码(如果需要,可能在新的部分中)并将这些目标文件中的符号添加到二进制文件的符号表中,以便使用新添加的代码版本代替共享库代码。我相信这应该是可能的,而无需在现有代码中实际执行任何重定位;即使它们在同一个文件中,它们也应该能够在运行时以通常的PLT方式解析(对于它的值(value),我只关心函数,而不关心数据)
假设我有一个动态链接的ELF二进制文件,我想覆盖/重定向某些库调用。我知道我可以使用LD_PRELOAD来做到这一点,但我想要一个在二进制文件中永久存在、独立于环境并且适用于setuid/setgid二进制文件的解决方案,LD_PRELOAD可以实现。我想做的是从其他目标文件中添加代码(如果需要,可能在新的部分中)并将这些目标文件中的符号添加到二进制文件的符号表中,以便使用新添加的代码版本代替共享库代码。我相信这应该是可能的,而无需在现有代码中实际执行任何重定位;即使它们在同一个文件中,它们也应该能够在运行时以通常的PLT方式解析(对于它的值(value),我只关心函数,而不关心数据)
所以我有一个客户,他的当前主机不允许我通过exec()/passthru()/ect使用tar,我需要定期以编程方式备份站点,所以有解决方案吗?这是一个linux服务器。 最佳答案 PHP5.3提供了一种更简单的方法来解决这个问题。看这里:http://www.php.net/manual/en/phardata.buildfromdirectory.phpbuildFromDirectory(dirname(__FILE__).'/project');?> 关于php-在没有exe
所以我有一个客户,他的当前主机不允许我通过exec()/passthru()/ect使用tar,我需要定期以编程方式备份站点,所以有解决方案吗?这是一个linux服务器。 最佳答案 PHP5.3提供了一种更简单的方法来解决这个问题。看这里:http://www.php.net/manual/en/phardata.buildfromdirectory.phpbuildFromDirectory(dirname(__FILE__).'/project');?> 关于php-在没有exe
有人知道ELF/linux中与Mach-O的两级namespace符号解析等效的方法吗?我想要链接到lib+sym而不是sym的代码。我正在尝试做最能被描述为通常是JIT编译的预编译。我想获得符号的编译时绑定(bind),这通常由dlopen/dlsym完成。但是,可能会发生冲突,dlopen/dlsym可以很好地避免这种情况。似乎ELF实际上缺少这个,并且有VERSION的东西,但是任何解决方法或建议将不胜感激。 最佳答案 没有ELF等价物(通常不需要)。 关于linux-Mach-O
有人知道ELF/linux中与Mach-O的两级namespace符号解析等效的方法吗?我想要链接到lib+sym而不是sym的代码。我正在尝试做最能被描述为通常是JIT编译的预编译。我想获得符号的编译时绑定(bind),这通常由dlopen/dlsym完成。但是,可能会发生冲突,dlopen/dlsym可以很好地避免这种情况。似乎ELF实际上缺少这个,并且有VERSION的东西,但是任何解决方法或建议将不胜感激。 最佳答案 没有ELF等价物(通常不需要)。 关于linux-Mach-O
一个关于elf文件头的快速问题,我似乎找不到任何关于如何在elf头中添加/更改字段的有用信息。我希望能够更改魔数(MagicNumber)并将构建日期添加到标题中,可能还有一些其他内容。据我所知,链接器会创建header信息,但我在LD脚本中没有看到任何引用它的内容(尽管我是ld脚本的新手)。我正在使用gcc并为ARM构建。谢谢!更新:好吧,也许我的第一个问题应该是:是否可以在链接时创建/编辑头文件? 最佳答案 我不知道可以执行此操作的链接描述文件命令,但您可以使用objcopy命令在链接后执行此操作。--add-section选项