将 EXE 反编译为 ASM

Posted

技术标签:

【中文标题】将 EXE 反编译为 ASM【英文标题】:Decompiling EXE to ASM 【发布时间】:2009-10-22 10:00:41 【问题描述】:

我想在空闲时间制作一个基本的防病毒软件。 基本上我了解了EXE(windows)文件的基本结构。 如何从文件和 PE 头中提取 ASM 代码?

【问题讨论】:

你为什么认为,杀毒软件中需要反汇编程序?? 那么我将如何检测病毒部分呢? @zxcat 你会怎么做呢? 【参考方案1】:

你可以安装Cygwin并使用objdump将一个exe反编译成asm。确保在安装 cygwin 时选择 binutils。安装 cygwin 后,您可以从 bash shell 运行以下命令:

objdump -Slx yourpgm.exe

【讨论】:

是的,或者在虚拟机上运行 Linux 并在那里使用 objdump。听起来像是黑色幽默;)【参考方案2】:

您可以使用一些免费的分布式反汇编程序。例如:ollydbg diassembler。

注意:PE 标头中只有一些 MS-DOS 存根可执行代码。

【讨论】:

"PE 标头中只有一些 MS-DOS 存根可执行代码。"如果没有呢?你永远不知道病毒会选择隐藏在哪里,而且标头也会加载到内存中,对吧?

以上是关于将 EXE 反编译为 ASM的主要内容,如果未能解决你的问题,请参考以下文章

如何将 .NET EXE 反编译为可读的 C# 源代码?

为啥将class反编译为java后,java直接编译时有错误

谁能帮我把一个hex文件反编译为c语言文件?

逆向工程:Python反编译工具的一点介绍(如何还原pyc文件)

逆向工程:Python反编译工具的一点介绍(如何还原pyc文件)

逆向工程:Python反编译工具的一点介绍(如何还原pyc文件)