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

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


当前回答

使用调试器,您可以交互式地逐级遍历程序集。 使用反汇编程序,您可以更详细地查看程序集。 使用反编译器,您可以将程序转换回部分源代码,假设您知道它是用什么编写的(您可以使用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的:)

其他回答

如果你没有时间,提交恶意软件到cwsandbox:

http://www.cwsandbox.org/

http://jon.oberheide.org/blog/2008/01/15/detecting-and-evading-cwsandbox/

HTH

使用调试器,您可以交互式地逐级遍历程序集。 使用反汇编程序,您可以更详细地查看程序集。 使用反编译器,您可以将程序转换回部分源代码,假设您知道它是用什么编写的(您可以使用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的:)

X64dbg是一个很好的开源调试器,它是主动维护的。

真不敢相信居然没人提豁免调试器的事。

免疫调试器是一个强大的工具,编写漏洞,分析恶意软件,并反向工程二进制文件。它最初是基于Ollydbg 1.0源代码,但与名称资源的bug修复。它有一个良好支持的Python API,易于扩展,因此您可以编写Python脚本来帮助您进行分析。

另外,Corelan团队的Peter写了一个很好的工具,叫mona.py,顺便说一句,这是一个很好的工具。

如果你只是想弄清楚恶意软件在做什么,在像Process Monitor这样的免费工具下运行它可能会更容易,它会在它试图访问文件系统、注册表、端口等时报告…

此外,使用像免费的VMWare服务器这样的虚拟机对这类工作非常有帮助。您可以创建一个“干净”映像,然后每次运行恶意软件时都返回到该映像。