小编典典

是否可以“反编译”Windows .exe?或者至少查看大会?

all

我的一个朋友从 Facebook 下载了一些恶意软件,我很想看看它在不感染自己的情况下做了什么。我知道您不能真正反编译 .exe,但我至少可以在
Assembly 中查看它或附加调试器吗?

编辑说它不是 .NET 可执行文件,没有 CLI 标头。


阅读 90

收藏
2022-04-27

共1个答案

小编典典

使用 调试器 ,您可以交互式地逐步执行程序集。
使用 反汇编 程序,您可以更详细地查看程序汇编。
使用 反编译器
,您可以将程序转回部分源代码,假设您知道它是用什么编写的(您可以使用PEiD等免费工具找到它-
如果程序被打包,您必须先解压缩它或Detect-it-Easy如果你在任何地方都找不到
PEiD。DIE 目前在github上有一个强大的开发者社区)。

调试器:

  • OllyDbg,免费,一个优秀的 32 位调试器,您可以找到许多用户制作的插件和脚本,使其更加有用。
  • WinDbg,免费的,Microsoft 提供的功能强大的调试器。WinDbg 对于查看 Windows 内部结构特别有用,因为它比其他调试器更了解数据结构。
  • SoftICE , SICE 给朋友。商业和开发于 2006 年停止。SoftICE 是一种在操作系统下运行的核心工具(并在调用时停止整个系统)。许多专业人士仍在使用 SoftICE,尽管可能很难获得并且可能无法在某些硬件(或软件 - 即,它无法在 Vista 或 NVIDIA gfx 卡上运行)上运行。

反汇编程序:

  • IDA Pro(商业)- 顶级反汇编器/调试器。大多数专业人士都在使用,比如恶意软件分析师等。虽然价格不菲(有 免费版本 ,但非常有限)
  • W32Dasm(免费) - 有点过时,但可以完成工作。我相信 W32Dasm 这些天是废弃软件,并且有许多用户创建的黑客来添加一些非常有用的功能。您必须四处寻找最佳版本。

反编译器:

  • Visual Basic: VB Decompiler,商业的,产生一些可识别的字节码。
  • Delphi:DeDe,免费,生成高质量的源代码。
  • C: HexRays,商业的,同一家公司的 IDA Pro 插件。产生了很好的效果,但要花一大笔钱,而且不会卖给任何人(至少我听说)。
  • .NET(C#):dotPeek,免费,将 .NET 1.0-4.5 程序集反编译为 C#。支持 .dll、.exe、.zip、.vsix、.nupkg 和 .winmd 文件。

无论您在做什么,都可能派上用场的一些相关工具是资源编辑器,例如ResourceHacker(免费)和一个好的十六进制编辑器,例如Hex
Workshop
(商业)。

此外,如果您正在进行恶意软件分析(或使用 SICE) ,我衷心建议您在虚拟机(即VMware
Workstation
)中运行所有内容。对于 SICE,它将保护您的实际系统免受
BSOD 的影响,对于恶意软件,它将保护您的实际系统免受目标程序的侵害。您可以在此处阅读有关使用 VMware 进行恶意软件分析的信息。

就个人而言,我使用 Olly、WinDbg 和 W32Dasm 以及一些较小的实用工具。

另外,请记住,反汇编甚至调试 其他人的 软件通常至少违反 EULA :)

2022-04-27