脱壳基础知识入门之文件类型分析
2007-01-15 16:44:07 来源:WEB开发网拿到一个壳,第一步就是用相关工具分析一下是什么壳,然后就可心中有数地跟踪分析。文件分析工具有PEID,FileInfo等。
1.PEiD
PEiD的GUI界面操作非常方便直观。它的原理是利用查特征串搜索来完成识别工作的。各种开发语言都有固定的启动代码部分,利用这点就可识别出是何种语言编编译的。同样,不同的壳也有其特征码,利用这点就可识别是被何种壳所加密。PEiD提供了一个扩展接口文件userdb.txt,用户可以自定义一些特征码,这样就可识别出新的文件类型。
有些外壳程序为了欺骗PEiD等文件识别软件,会伪造启动代码部分,例如将入口代码改成与VisualC++6.0所编程程序入口处类似代码,即可达到欺骗目的。所以,文件识别工具所给出的结果只是个参考,文件是否被加壳处理过,还得跟踪分析程序代码才可得知。可参考这个文档了解如何伪装:让侦测工具把壳识别为VC++7.0的源代码 。目前Hying的壳PE-Armor伪装能力是最强的:
PEiD分析不出类型的文件就报告是“Nothingfound*”,如出现这情况一般都是未知壳或新版的壳。
下面PEiD识别出这个软件是用Asprotect1.2x加的壳。
2.FileInfo
FileInfo(简称Fi)另一款不错的文件检测工具。Fi运行时是DOS界面,在DOS窗口中运行程序相当不便,建议采用下面的技巧:
1.用鼠标将文件拖到Fi主文件上。
2.将Fi快捷方放进Windows的SendTo文件夹里.以后要分析某文件,只需右击“发送到”功能就可打开Fi。
FileInfo升级慢,其识别库不能自定义。而PEiD升级比较频繁,用户也可自定义特征码,因此PEiD用的比较普遍。
有时,FileInfo和PEID会报“PEWinGUI”,WinGUI就是Windows图形用户界面程序统称,表明程序可能没加壳。但不排除也有加壳的可能性,下图是一个ExeCryptor2.2x的壳,FileInfo报“*PEWinGUI*section*??”,其不能识别出来。识别信息中带了个问号,表明FI对给出的结果不是太肯定。
更多精彩
赞助商链接