我的一个朋友从Facebook上下载了一些恶意软件,我很好奇它在不感染我自己的情况下是怎么做的。我知道你不能真正地反编译。exe,但是我至少可以在程序集中查看它或附加调试器吗?

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


当前回答

好消息。IDA Pro的旧版本现在是免费的: http://www.hex-rays.com/idapro/idadownfreeware.htm

其他回答

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

调试器:

OllyDbg, free, a fine 32-bit debugger, for which you can find numerous user-made plugins and scripts to make it all the more useful. WinDbg, free, a quite capable debugger by Microsoft. WinDbg is especially useful for looking at the Windows internals, since it knows more about the data structures than other debuggers. SoftICE, SICE to friends. Commercial and development stopped in 2006. SoftICE is kind of a hardcore tool that runs beneath the operating system (and halts the whole system when invoked). SoftICE is still used by many professionals, although might be hard to obtain and might not work on some hardware (or software - namely, it will not work on Vista or NVIDIA gfx cards).

反汇编器:

IDA Pro(商用)-顶级的反汇编器/调试器。大多数专业人士都使用,比如恶意软件分析师等。虽然花费相当多的钱(有免费的版本,但它是相当有限的) W32Dasm(免费)-有点过时,但可以完成工作。我相信W32Dasm现在已经被抛弃了,有许多用户创建的hack可以添加一些非常有用的功能。你得四处看看才能找到最好的版本。

Decompilers:

VB反编译器,商用,产生某种可识别的字节码。 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的:)

我想说,在2019年(甚至在2022年),Ghidra (https://ghidra-sre.org/)值得一看。它是开源的(免费的),具有惊人的代码分析能力,包括反编译到相当可读的C代码的能力。

Boomerang也值得一试。

当然,看看IDA Pro。他们提供了一个评估版本,所以你可以尝试一下。

你可以使用dotPeek,非常适合反编译exe文件。它是免费的。

https://www.jetbrains.com/decompiler/