圣天诺Sentinel破解脱壳方法

圣天诺Sentinel破解脱壳方法

 

忘记是什么时候写的了,有笔记和视频录像,没地方放录像,就先发个笔记吧,当然是带狗脱。



SHK 1.2 dll脱壳
------------------------------------------------
在第1节就一直看jmp跟进 看到第一个call就下断,F9运行到此,回车跟进call,再看jmp跟进,如此循环跟,一直到第2节


到第2节后,向下找标志
cmp   dword ptr [XXXX],0
je  short XXXX  
jmp XXXX   回车跟进,向下找第一个call下断,F9运行到此,回车跟进,象第1节那样继续,一直到第3节;


到第3节后,向下找标志
mov  dword ptr [XXXX],0
cmp  dword ptr [XXXX],0
je  short XXXX    在这里F2下断,F9运行到此,取消断点
jmp  XXXX   回车跟随
跟随后,在下面的第一个call下断点,向上找一点点,在
pop eax
pop ecx   在这里点右键,查找命令cmp  dword ptr [ebp-106C],0
pop edi
Call XXXX
找到后,F2下断,F9运行到此,把下一行jnz处直接NOP掉,然后向下找,有点远,找到
and   eax,XXXXXXXX   XX数有点大;找到这,向下找
mov   eXx,dword ptr [ebp-14]
cmp   eXx,dword ptr [XXXX]   看右边提示列里有一个系统函数的注释,可以在数据窗口中查看这个系统函数
jb或ja XXXX   这里改成jmp,F2下断后运行到此,取消断点,按F9运行
会在Call处,取消断点跟随,之后又是jmp和call断下后跟进循环,一直到第4节

第4节,就是我们要找的OEP了,用LoadPE进行Dump。


IAT可以从数据窗口里找,也可以进OEP下面的第一个call里去看,有call系统函数地方,进去看,在数据窗口里查看寻找连续的IAT即可。用ImportREC修复IAT输入表(里面几个不能识别的函数Cut掉就行)。


SHK好象没有对dll的文件进行IAT加密,找IAT时,是在第2个call里进去看;

下面修复重定位表
记下ImageBase地址
10000000
01E30000
用ReloX修复重定位表


完工。。。。

上一篇:用随机森林算法求解kaggle比赛——HR Analytics: Job Change of Data Scientists


下一篇:03 脱壳示例