lab18-01
第一个是upx加密
这里我们手动脱壳,upx壳挺简单的,只要找到oep就行
注意到ollydbg进去的pushad,一般在popad后就会跳转到正确oep,所以在pushad后esp的地址设个硬件访问断点,按f9就能快速到达popad
最后的跳转jmp后地址就是正确oep了
直接用ollydbg脱壳
直接就脱壳成功了
至于判断是之前的那个恶意代码也不难IDA打开看看就能大概记起来
他是lab14-01,答案说upx -d会失败,,反正我是手动脱壳的
lab18-02
FSG加壳,定位到ope即可
这里快点选择下面插件可以快速到达程序oep
定位到这里,选择删除分析,就可以
还是选择ollydbg插件直接脱壳,成功.这是lab07-02
lab18-03
PECompact加壳
要找到oep运行到此次,然后单步步入,
跳到这里,在选择插件找到oep
oep入口
之后一样的操作即可脱壳成功,也可以像课本使用如第一个程序一样的方法 源程序是lab09-02
lab18-04
ASPack加壳
还是用pushad设硬件断点的方法
程序入口
后面操作一样,这是lab09-01
lab18-05
最后一个虽然显示为upx但是,总觉得异常
od打开,果然和一般的upx不一样.我们试一下使用插件失败
所以再使用一次插件,你会发现程序入口点找到了
脱壳就好,然而程序跑不起来因为还需要修复导入函数
这里我使用scylla来修复导入函数表
如下图,附加进程,然后自动查找IAT,然后获取输入表,最后修复转储后的文件(就是之前dump下来的文件),然后程序就能正常运行了
还要记得修复oep为401190
脱壳成功,IDA查看代码会发现程序和lab07-01一模一样
分析结束