如何反汇编 Pro*C/C++ 程序? [关闭]
Posted
技术标签:
【中文标题】如何反汇编 Pro*C/C++ 程序? [关闭]【英文标题】:How does one disassemble Pro*C/C++ programs? [closed] 【发布时间】:2010-10-08 07:16:02 【问题描述】:有没有办法反汇编 Pro*C/C++ 可执行文件?
【问题讨论】:
投票结束作为离题:要么工具推荐,要么太宽泛。 【参考方案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 位可执行文件反汇编程序。
【讨论】:
以上是关于如何反汇编 Pro*C/C++ 程序? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章