预分析

这个阶段主要在于收集样本信息。

静态分析

分析样本是由什么语言编译的,分析出对应的调用约定,有无现成的符号表,签名文件等,为后续分析减少困难。

如果有壳,要知道是什么壳,一般病毒的壳都是强壳,我还不会分析。

分析导入表,如果壳隐藏了,只有后续看。大致看出有没有干文件操作,有没有干网络操作,有没有干驻留操作(注册表和服务)。判断出病毒类型。之后在对应的逻辑中仔细分析。

动态分析

在线沙箱中检测/虚拟机中检测。沙箱可以直接分析,如果是自己的虚拟机,则需要打开一个可以检测进程的(ARK)工具,获取样本的所有操作,尤其是:是否有文件创建和写入?网络连接的ip是多少?网络中读取的内容是什么?注册了哪些服务和注册表?Hook了哪些模块,用了哪些API等等。

分析

打开程序,根据预分析的内容定位关键位置然后具体分析。

跟CTF的逆向题差不多。