【问题标题】:Reverse Engineering an ELF Binary对 ELF 二进制文件进行逆向工程
【发布时间】:2012-07-21 17:32:42
【问题描述】:

我有一个来自服务器上的潜在漏洞利用的二进制文件。我有兴趣将其反转,以确切了解该二进制文件旨在尝试利用的内容。我唯一的问题是 OBJDump 和其他类似的程序都会返回错误,表明无法读取文件。十六进制转储显示文件中确实存在 ELF 标头,但是我不够熟练,无法确定 ELF 是否完全基于十六进制正确构建。

【问题讨论】:

  • 尝试修改 ELF 标头以获得合理的值。一个常见的反调试技巧是在某些字段中放入疯狂的值,例如:将程序/节标题的大小设置为某个较大的值,因此调试工具会尝试分配过多而失败。当然,在那之后,可能还有更多的反调试技巧。

标签: assembly reverse-engineering


【解决方案1】:

试试IDA(交互式反汇编程序)。 Demo versions 可以打开 ELF 文件。 (我不确定freeware 是否可以,而且它仅适用于 Windows)。我们努力让它接受损坏/故意损坏的文件,所以如果它不能被 IDA 加载但在实际操作系统中工作,我会对一个示例感兴趣。

免责声明:我为 Hex-Rays 工作。

【讨论】:

  • 是的,这将是我在此过程中的下一步,但是我无法访问 IDA atm(没有 Windows 框)。我希望有另一种解决方案,例如调用 OBJDump 的一些时髦方式或跨平台解决方案。
  • 演示版可用于 Linux 和 OS X。
  • @Blackninja543 我在 32 位 Ubuntu 机器上完美地使用 Hex-Rays 反汇编程序和 Wine。
  • 确认 IDA 的免费版本(当前为 5.5)确实会打开 ELF 二进制文件,只要它们是 32 位的。
猜你喜欢
  • 2010-12-06
  • 2010-10-04
  • 2012-09-05
  • 2010-09-12
  • 2012-02-26
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-17
相关资源
最近更新 更多