杀毒软件脱壳主要有两种方法:
硬脱壳
硬脱壳是指找出加壳软件的加壳算法,并编写逆向算法来实现脱壳。这种方法技术门槛较低,但面对带有加密和变形特点的壳时效果有限。
动态脱壳
动态脱壳是指在加壳程序运行时,它会自动还原成原始形态,即加壳程序会在运行过程中自行脱掉壳。这种方法需要杀毒软件具备较强的脱壳能力,可以先将病毒文件脱壳,再进行查杀,从而只需一条记录就可以对这些病毒通杀,提高查杀效率并减少对系统资源的占用。
常用脱壳工具
文件分析工具:如Fi, GetTyp, peid, pe-scan等,用于侦测壳的类型。
OEP入口查找工具:如SoftICE, TRW, ollydbg, loader, peid等,用于查找程序的OEP(Entry Point)入口。
dump工具:如IceDump, TRW, PEditor, ProcDump32, LordPE等,用于dump程序的内存内容。
PE文件编辑工具:如PEditor, ProcDump32, LordPE等,用于编辑PE文件。
重建Import Table工具:如ImportREC, ReVirgin等,用于重建程序的Import Table。
专用脱壳工具:如Caspr, Rad, loader, peid等,针对特定加壳软件如ASProtect等。
手动脱壳
软件手动脱壳是病毒分析和软件逆向的基本操作,主要帮助在分析程序时脱掉壳代码,以便查看关键代码。这通常涉及使用各种工具和技巧来分析和还原加壳程序。
建议
选择合适的工具:根据具体的加壳工具和病毒特征选择合适的脱壳工具。
提升技术能力:动态脱壳需要较高的技术能力,建议学习和实践相关技术以提高杀毒软件的脱壳能力。
定期更新:病毒和加壳技术不断更新,定期更新杀毒软件以应对新的威胁。
希望这些信息对你有所帮助。