【问题标题】:How does one disassemble Pro*C/C++ programs? [closed]如何反汇编 Pro*C/C++ 程序? [关闭]
【发布时间】:2010-10-08 07:16:02
【问题描述】:

有没有办法反汇编 Pro*C/C++ 可执行文件?

【问题讨论】:

  • 投票结束作为离题:要么工具推荐,要么太宽泛。

标签: c++ c reverse-engineering decompiling


【解决方案1】:

通常应该有可用于可执行文件的反汇编程序,无论它们是如何创建的(gcc、proC、手写等),但反编译优化的二进制文件很可能导致不可读或源代码。

此外,Pro C/C++ 不是直接编译器,而是输出 C/C++ 代码,然后由平台本地编译器(gcc、xlc、vc++ 等)编译。

此外,如果没有大量手动更正,生成的代码通常无法直接再次编译。

如果您仍想试试运气,请先查看x86 disassemblers 列表。

【讨论】:

  • 可以从这个列表中推荐 IDA-Pro。它是商业产品,而且非常好。
  • 我认为有一个免费的 4.3 版本,或者您可以获取较新版本的演示版本。
【解决方案2】:

您应该尝试使用您选择的反汇编工具进行反汇编。归根结底,使用 PRO C/C++ 预处理器编译的可执行文件只是普通的 C/C++ 可执行文件。

如果您要查找的是代码中的 SQL 语句,您可能需要查看:

$ strings your_executable_file

它将为您提供可执行文件中存在的所有常量字符串的列表,并且您很可能会得到带有它的 SQL 语句。

祝你好运。

【讨论】:

  • 这很好。如果你能给我提供反汇编工具,那就更好了。
  • 另外,我正在寻找所有的程序代码,而不仅仅是 SQL 语句。
  • 嗯,反汇编工具依赖于平台。由于您没有指定一个,我假设您已经拥有该工具,或者不想评论您正在使用的操作系统或 CPU 架构。
【解决方案3】:

试试PE Explorer Disassembler,一个非常不错的 32 位可执行文件反汇编程序。

【讨论】:

    猜你喜欢
    • 2013-07-02
    • 2010-10-29
    • 2014-06-21
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多