程序特征:
1. VC6编译无壳程序
OllyDbg查看入口点代码如下:
VC6特点:入口点代码是固定的,入口调用的API也是相同的,其中有的push地址不同程序可能不同;区段有四个,也是固定的:.text、.rdata、.data、.rsrc
VS2008和VS2013编译无壳程序:
OllyDbg查看入口点代码如下:
VS特点:入口点只有两行代码,先call然乎jmp,call进去调用的API也是相同的;区段相对于VC多了.rdata
易语言编译无壳程序(独立编译和非独立编译)(由于易语言独立编译是调用VC的链接程序编译的,所以从区段和入口代码特征和VC相同,下图为非独立编译带运行库的)
OllyDbg查看入口点代码如下:
查看核心代码:
易语言特征:可以从程序里找一些call的调用最终都会走到上面核心代码图位置,这个方法可以区分VC和易语言,非独立编译更好识别,入口特征和模块特征都有krnln.fnr。
那么该如何识别加壳程序呢?
一. 通过查壳工具
二. 通过入口特征和区段特征来识别
区段信息可以通过PEid的EP处点击获取到,
入口特征可以通过OD载入获得,载入后可以按一下“Ctrl+A”,让OD分析一下代码,就可以把入口点一些特征字符串分析出来,从下图的入口信息可以轻松看出,这是一款Safengine加壳的程序,对于Shielden、Safengine、VProtect这类加壳程序都可以使用这种方法判断出来。
原文:https://www.cnblogs.com/b1ing/p/12240159.html