c++ - 手动反编译引用

标签 c++ c assembly x86 disassembly

我正在寻找有关如何手动将 X86 反汇编反编译为 C/C++ 代码的书名或论文。 嗯,我知道很多可以完成这项工作的工具,但我认为手动完成它会更有效,即使这是一个缓慢的过程。

最佳答案

如果您非常习惯从特定编译器查看反汇编,您也许能够编写出不错的 C 或 C++ 代码。但即便如此,这也是一个非常缓慢的过程。仅采用一个小函数(比如一个 for 循环、几个 if 语句和一些基本数学)并将其重新构建回源代码对我来说可能需要半个小时,而且我不认为我很擅长它。当然,重点之一就是识别常用的算法,比如链表、二叉树、字符串管理、 vector 管理等。

通过机器完成这件事将为您完成大量工作,但即便如此,即使是几百行原始 C++ 代码也可能需要几天的时间才能将其转换为实际可读的内容。

关于c++ - 手动反编译引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18706145/

相关文章:

c++ - OSX Eclipse CDT - 根样式包括

c - 指针数组元素中有错误(不需要的)值

c - 请建议设计实现: dynamically updating list of items

gcc - printf 在使用较旧 gcc 的 x86-64 Linux 上陷入 AL = 10 的无限循环

c++ - gcc 的汇编输出奇怪/错误?

assembly - int 21h ah 02h 由于某种原因不起作用

c++ - 函数声明后的 "->"是什么?

C++:一个 std::runtime_error 对象会在 longjmp 中泄漏吗?

c++ - C++ 中可变数量的变量

c - 有没有办法在 C 的数组中存储结构变量?