liuwei21cn 发表于 2009-2-17 15:54

SVKP 1.43另类脱壳练习笔记

【文章标题】: SVKP 1.43另类脱壳
【文章作者】: 狼魂
【作者主页】: http://www.wolf-soul.cn
【作者QQ号】: 859857556
【软件名称】: UnPackMe.SVK1.43.C
【下载地址】: 自己搜索下载
【作者声明】: 练习笔记,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
SVKP 1.43另类脱壳练习笔记。
首先PEID查壳SVKP 1.3x -> Pavol Cerven其实是1.43的

一、OD载入,设置OD忽略所有异常,在SFX项选择[跟踪真正入口处(不一定准确)】重新载入。

程序会断在   00427207   .E8 94210000   call UnPackMe.004293A0      

记下地址。


00427203      90            nop
00427204      90            nop
00427205      90            nop
00427206      90            nop
00427207   .E8 94210000   call UnPackMe.004293A0                   ;SFX 代码真正入口点//段在这里伪OEP
0042720C   .85C0          test eax,eax
0042720E   .75 0A         jnz short UnPackMe.0042721A
二、重新设置OD,取消忽略内存异常,在SFX项设回原来的第一个选择框。
载入OD,F8   然后用ESP定律,下硬件访问Dword断点    Shift+F9四次到达最后一次异常。

066ADC09    CD 01         int 1                         //最后一次异常
066ADC0B    E8 01000000   call 066ADC11
066ADC10- E9 83C4047C   jmp 826FA098
066ADC15    03EB            add ebp,ebx
066ADC17    039A 74FB648F   add ebx,dword ptr ds:
066ADC1D    05 00000000   add eax,0

AIT+M 在00400000处下 内存访问断点,shift+f9

066CE8D3    8A06            mov al,byte ptr ds:   //断在这里
066CE8D5    46            inc esi
066CE8D6    47            inc edi

此时取消内存访问断点,继续Shift+F9

0012FC40    60            pushad                         //段在这里
0012FC41    E8 03000000   call 0012FC49
0012FC46    D2EB            shr bl,cl
0012FC48    0A58 EB         or bl,byte ptr ds:
0012FC4B    0148 40         add dword ptr ds:,ecx

此时取消硬件断点 ,跳到00427207,F2下断

Ctrl+F11跟踪步入,然后RUN跟踪


Run trace, 选定行
   返回=888.
   线程=
   地址=0012FC53
   =popad
   修改后的寄存器=EAX=067BE159, ESP=0012FFC4

记下popad寄存器EAX=067BE159

然后打开OllyDbg PED umper插件单击【GetMAP】在006790000处新建区段wolf,在0067D0000处新建区段soul,返回,
在上面的三个选项打钩,单击【GetEIP OEP】获取OEP :00027207,然后点击【Dump]脱壳。
三、 修复
 用等级1修复无效指针,还显示7个无效,不理他直接修复。测试无法运行。

四、此时用到我们记下的EAX=067BE159减00400000=63BE159,用LordPE改入口为63BE159,重建一下PE。OK运行正常。



--------------------------------------------------------------------------------
【经验总结】
1、这个壳载入OD会报错,点去定即可。
2、要添加 C0000005 (ACCESS VIOLATION)   异常。

--------------------------------------------------------------------------------
【版权声明】: 本文原创于狼魂【wolfsoul】, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2009年02月17日 15:47:38

a2213572 发表于 2009-2-18 10:10

先收藏脫殼教學內容!
感謝您.

shungxin 发表于 2009-2-18 15:06

:) 有点深奥啊,努力,给自己加油啊

arfersiorfik 发表于 2009-10-20 22:25

SVKP居然没有偷代码?没有加密IAT?
你试试有这两个保护的

夜落 发表于 2012-9-1 12:04

arfersiorfik 发表于 2009-10-20 22:25 static/image/common/back.gif
SVKP居然没有偷代码?没有加密IAT?
你试试有这两个保护的

他是用插件工具把Stolen Code放在段首处理了..
页: [1]
查看完整版本: SVKP 1.43另类脱壳练习笔记