【问题标题】:Unlink an ELF executable取消链接 ELF 可执行文件
【发布时间】:2014-08-10 07:20:36
【问题描述】:

是否可以取消链接动态链接的 ELF 可执行文件?我想从最终的可执行文件重新生成一个目标文件(.o)而不从源代码重新编译,然后静态重新链接它。

【问题讨论】:

  • 你在做什么?逆向工程?黑客攻击?
  • @ArjunShankar:语言在变化和发展。我觉得争论 original 的含义是什么有点毫无意义;P
  • 只需使用unlink系统调用;)
  • @hobbs 哈哈哈好笑话:-p,但我想保留我的文件!

标签: gcc reverse-engineering ld elf


【解决方案1】:

对于 x86/x86_64,有 ErmineELF Statifierjumpstart 之类的东西。

来自 Ermine 的This feature comparison page 很好地展示了 Ermine Pro/Lite 与 ELF Statifier 的功能。

【讨论】:

  • Ermine 的好指针!谢谢,我在 X86_64 上测试了它的试用版,希望它也适用于 ARM。我还查看了 Ermine 页面上提到的开源“statifier”,但它给了我“分段错误”,我认为这是由于不支持 ASLR。
  • 我对仿真不感兴趣(x86/x86_64 => ARM)。我对“统计”一个精灵可执行文件的概念很感兴趣。您能否更新您的回复以排除此问题,我可以接受您的回答。顺便问一下,您还想引用哪些其他链接? (我认为您可以将它们作为 cmets 发布在这里)。
  • 很高兴为您提供帮助!编辑答案以包含链接。是的,我确实相信 Statifier 的 ASLR 有问题。
【解决方案2】:

你可以试试 WCC 的运气

https://github.com/endrazine/wcc

$ wcc -c /bin/ls -o /tmp/ls.o

【讨论】:

  • 感谢您的回复。 wcc 从文档中看起来很棒,我不知道那个很棒的工具。我试试看。
猜你喜欢
  • 1970-01-01
  • 2016-05-28
  • 2015-09-10
  • 2012-02-11
  • 1970-01-01
  • 2012-12-09
  • 2014-01-16
  • 2019-04-12
  • 1970-01-01
相关资源
最近更新 更多