3

我非常喜欢IDA,但我正在 Solaris 上从事这个项目。我确实有一台 linux 机器,如果没有任何东西与 IDA 处于同一级别,那么我会说服管理层为其购买许可证。

除此之外,我正在寻找替代建议。IDA 中的其他一些功能会很方便,但我目前需要的主要是一个基于源代码的调用流图生成器。如果它需要构建步骤的额外输出,那很好,但是我需要查看的一些库我没有源代码。

到目前为止,看起来我最好的选择是 Valgrind 的Callgrindlidagprof。欢迎任何进一步的建议。

回复:gprof,Windriver 提供给我们的 GNU 编译器集缺少一些库,这些库通常会随 GNU 编译器一起提供,以提供(除其他外)性能分析工具。这是解决更普遍问题的好方法,但现在我选择先尝试其他解决方案。

编辑一些 Rational 工具(Purify、Quantify 等)可能也适用于此。我和 IDA 在同一条船上,但我认为有人用谷歌搜索可能会发现这个建议很有帮助。

edit2 Valgrind 尚未移植到 solaris/sparc ;p

4

3 回答 3

3

看看ERESI 项目。这是一个逆向工程框架,它有一个名为 ELFsh 的工具,具有从机器代码生成 CFG 的能力。它还没有稳定/决赛,但值得一试。

如果你想试试:

  • 下载并安装(Ubuntu 上的 apt-get)
  • 运行elfsh32。你将进入一个外壳。
  • 加载你的二进制文件:load /bin/bash
  • 分析一下:analyse
  • 生成图表:graph

您将获得一个 .dot 格式的图形和一个渲染的 PNG(这个太大,无法在此处发布)。

于 2011-04-12T19:16:50.173 回答
2

您可以使用Gprof生成调用图。它可以用Kprof可视化。

于 2011-04-12T18:53:18.637 回答
1

答案很晚,但仍然有用。在 Solaris 上,您可以使用collect.

  • collect your_program your_args...
  • 它将生成一个目录,如test.1.er
  • 然后,您可以在控制台上可视化调用图er_print -calltree test.1.er
  • 或者在 X-Window 上使用analyser
于 2016-06-28T13:22:43.473 回答