如何将exe或dll反编译为汇编

Kes*_*han 10 dll assembly decompiling exe

我对汇编语言非常感兴趣,我想了解exe文件如何运行dll如何运行等等...我有一个编写应用程序来反编译exe汇编代码的想法,因为我不是一个非常好的汇编程序员和由于缺乏对exe内部工作的了解,我无法做到.因为我可以读取十六进制的exe,我认为这不是不可能,但我不知道如何编写我自己的程序.任何资源或任何帮助将不胜感激.

Mat*_*att 18

我想你正在寻找一个不是反编译器的反汇编程序.IDA pro似乎很受欢迎,您可以在http://www.hex-rays.com/idapro/idadownfreeware.htm免费下载旧版本.

  • 当然有。IDA的最新版本可以做到这一点(与许多其他版本一样),但这并不是免费的。 (2认同)

Wal*_*ner 5

看一下这个Decompilation Wiki,我怀疑它会回答您的大多数问题。


Cor*_*lin 5

已经为你编写了很多解析器(见上文),但我不认为阅读反汇编代码会帮助你成为一个更好的汇编作家.这样做的主要原因是编译器在生成程序集之前会进行大量优化.通常这会使非常棘手的代码读取,但需要高效的代码进行分析.

  • 我对这个回复进行了投票,因为这不是一个答案,只是试图阻止OP试图反汇编.在第二个想法,因为这是一个有效的评论,我想撤消下来的投票,但所以不会让我这样做. (3认同)

650*_*502 5

如果您对编译程序在汇编程序级别的外观感兴趣,更有意义的方法是编译并查看生成的程序集。例如,对于 gcc/g++,这仅需要gcc -c -S filename.c并将留下一个明文汇编文件供查看。