1.无壳程序
1.1:vc6
入口特征。注意有调用相同的API
区段特征:用exeinfo PE查看区段有
用OD查看内存也可以看到
VC6特点:入口点代码是固定的代码,入口调用的API也是相同的,其中有的push地址不同程序可能不同;区段有四个也是固定的.text、.rdata、.data和.rsrc
1.2:vs2008&vs2013
入口一般为 call+jmp
进入call后,你会发现。与vc6的特征基本相同。也调用那几个API。
区段特征。软件查看:
od查看:
与vc6的区段特征相比多了一个 .reloc 重定位。
vs2013同理。
VS特点:入口点只有两行代码,一个CALL后直接JMP,第一个CALL进去后调用的API也是相同的;区段相对于VC6多了一个.reloc。
1.3:易语言非独立编译
入口特征:
区段特征难以分辨。因为与vc6的区块特征一致。(易语言底层是vc6)
易语言非独立编译特点:入口特征和模块特征都有krnln.fnr。
1.4:易语言独立编译
易语言独立编译的入口特征基本与vc6一样
与vc6相比我们使用智能搜索
可以看到易语言生成的特有特征。从而分辨
区段特征也与vc6的一样。
1.5:Delphi
区段特征:
入口特征:
进入第一个call里边有一个 GetModuleHandle。(加壳程序也有有这个GetModuleHandle)
1.6:BC++
区段特征:
入口特征:有一个很大的JMP,以及一个getmodulehandlea
1.7:ASM
文件小,直接调用系统的API了
1.8:net
拖进OD就运行。这也是一个特点吧。新的OD里没有那个插件,复现不了。
1.9:Autolt
入口特征和vs很像。
字符串搜索
2.加壳程序
2.1:Aspack壳
2.2:upx壳
2.3:Themida壳
旧版本入口:
新版本:
经过一些函数后就会跳转到旧版本的入口处。
区段特征不明显。名字随机。
2.4:VMProtect壳
入口特征反汇编很乱。JMP乱飞。
2.5:Shielden
按ctrl+A 分析代码。然后经过两个jmp到下图。按ctrl+a分析代码。出现提示!
来源:https://www.cnblogs.com/pupububu/p/14245990.html |