电脑软件脱壳的方法有多种,以下是针对不同壳类型的脱壳工具和方法:
aspack壳
unaspack:类似于lanuage,傻瓜式软件,运行后选取待脱壳的软件即可。缺点是只能脱aspack早些时候版本的壳,不能脱高版本的壳。
caspr:
第一种:待脱壳的软件(如aa.exe)和caspr.exe位于同一目录下,执行windows起始菜单的运行,键入caspr aa.exe脱壳后的文件为aa.ex_,删掉原来的aa.exe,将aa.ex_改名为aa.exe即可。使用方法类似fi,优点是可以脱aspack任何版本的壳,脱壳能力极强,缺点是Dos界面。
第二种:将aa.exe的图标拖到caspr.exe的图标上,若已侦测出是aspack壳,用unaspack脱壳出错,说明是aspack高版本的壳,用caspr脱即可。
upx壳
使用upx待脱壳的软件(如aa.exe)和upx.exe位于同一目录下,执行windows起始菜单的运行,键入upx -d aa.exe。
PEcompact壳
使用unpecompact,使用方法类似lanuage,傻瓜式软件,运行后选取待脱壳的软件即可。
procdump
万能脱壳但不精,一般不要用,使用方法:运行后,先指定壳的名称,再选定欲脱壳软件,确定即可,脱壳后的文件大于原文件,由于脱壳软件很成熟,手动脱壳一般用不到。
手动脱壳方法
单步跟踪法:
用OD载入,点“不分析代码!”
单步向下跟踪F8,实现向下的跳,遇到程序往回跳的(包括循环),我们在下一句代码处按F4
如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去
一般有很大的跳转(大跨段),比如jmp XXXXXX或者JE XXXXXX或者有RETN的一般很快就会到程序的OEP。
ESP定律法:
ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP。
其他工具
文件分析工具:Fi,GetTyp,peid,pe-scan。
OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid。
dump工具:IceDump,TRW,PEditor,ProcDump32,LordPE。
PE文件编辑工具:PEditor,ProcDump32,LordPE。
重建Import Table工具:ImportREC,ReVirgin。
建议:
初学者:建议先使用一些自动脱壳工具,如UPX或caspr,这些工具相对容易上手。
高级用户:可以学习手动脱壳方法,如单步跟踪法和ESP定律法,这些方法更灵活,可以应对更多复杂的壳。
专业用户:可以尝试使用更高级的脱壳工具,如SoftICE,这些工具功能强大,但需要一定的专业知识。
请根据具体情况选择合适的脱壳方法和工具。