脱壳教程第一课
upx
首先查壳
手脱
了解是upx直接od打开,直接往下面翻,或者用esp法直接找到popad跳转
看到先call再jmp确认为OEP入口点
直接od脱壳可运行直接不用管了
NsPack
ESP
首先查壳
发现为北斗Nspack可以同上用手脱,或者采用ESP壳,在pushfd之后发现ESP改变,我们选择数据窗口中跟随,然后在数据窗口中选择断点,硬件访问,Word然后直接f9到达出栈位置
然后继续执行直到进入OEP,发现乱码,crtl+a进行分析,发现方法OEP特征
脱壳完毕可执行
FSG
FSG特殊的IAT修复以及查找
手动在过程中我们发现这样一个跳转
在下面的XOR处我们便会跳出函数,直接跑飞函数,但是在这之前有一个大循环,导致我们在一个判断函数之间跳转
我们直接f4执行到此处,进入,发现OPE
OPE在多次查阅之后发现
脱壳后发现问题
在当前的exe程序中无法定位IAT入口点,我们用Import REC修复,在OEP入口点的call函数中我们f7进入查看
发现这些红字调用,我们了解到这是对dll中一些函数的调用,右键一个调用call函数,在数据窗口中打开,选择内存地址,并在数据窗户口中选择长型地址来帮助我们查看
找到这个数据窗口的上下界,计算差值,,按图中填入数值,了解我们的基地址是400000,大小写差值也可以写1000,之后选择无效函数删除,直接导入
修理完成
PECompact
查壳
手脱技巧,在打开这个文件时,发现有大量的无效函数,我们选择分析之后直接执行,在PEC壳中有一个重要函数,ZxContinue,在发现这个函数时我们便可以进入,快速发现OEP
也可以看我博客中的另外一个关于PECompact的壳
ASProtect
查壳
直接手托一路动就行,注意先分析一下,另外的方法看我的另一篇博客
Upack
直接ESP即可脱壳
yoda
这个也可以ESP
脱壳教程第一课
https://fogpost.top/2024/09/18/脱壳教程第一课/