首页
社区
课程
招聘
关于SVKP 1.3x -> Pavol Cerven脱壳
发表于: 2006-1-16 02:31 5158

关于SVKP 1.3x -> Pavol Cerven脱壳

2006-1-16 02:31
5158
脱这个SVKP 1.3x -> Pavol Cerven的文章太少,网上找了找只有几个,但我觉得最重要的问题都没说清楚
看了
【破解作者】 stasi[DCM][BCG][DFCG][FCG][OCN][CZG][D.4s]
【作者邮箱】 stasi@163.com
【作者主页】 www.icehack.org/stasi
【使用工具】 od
【破解平台】 Win9x/NT/2000/XP
【软件名称】 魔兽皇冠5.0.0805免费版
【加壳方式】 SVKP 1.3x -> Pavol Cerven
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
这个脱文,发现



搜索特征码
mov dword ptr ds:[edi],eax
popad

改成:
popad
mov dword ptr ds:[edi],eax  这方法真聪明,以后看能不能在其他地方用上:)

hr 0012FFB0

0012FCFB     E8 00000000     call 0012FD00
0012FD00     5D              pop ebp
0012FD01     E8 02000000     call 0012FD08
0012FD06     CD20 83042408   vxdcall 8240483
0012FD0C     C3              retn

模拟的干tc ebp==12ffc0

060DE7DB     55              push ebp
060DE7DC     E9 E0080000     jmp 060DF0C1           不断的乱序处理

060DF0C1     50              push eax
060DF0C2     B8 23E36501     mov eax,165E323
060DF0C7     294424 04       sub dword ptr ss:[esp+4],eax
060DF0CB     58              pop eax
060DF0CC     E9 21050000     jmp 060DF5F2            乘乱还要偷东西下

我自下了tc ebp==12ffc0 怎么也断不了???

希望大家能详细谈谈怎么断的

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
0012FCFB     E8 00000000     call 0012FD00
0012FD00     5D              pop ebp
0012FD01     E8 02000000     call 0012FD08
0012FD06     CD20 83042408   vxdcall 8240483
0012FD0C     C3              retn

以上的程序是在堆栈里运行的,所以具体地址可能不同。

你可以在最后一次典型中断(BOUND EAX, ...)发生时,在SEH所在的内存区间里,找特征码:“CMPDWORD PTR DS:[EBX], 251097CC”。
2006-1-18 03:29
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
首先感谢你呀
我已找到了入口点,但脱壳下来,程序一闪就过,是什么原因,能详细告诉我怎么样可以完整修复.
2006-1-19 00:10
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个我已经找到了,在401000下断就进入了入口

0012FCFB     E8 00000000     call 0012FD00
0012FD00     5D              pop ebp
0012FD01     E8 02000000     call 0012FD08
0012FD06     CD20 83042408   vxdcall 8240483
0012FD0C     C3              retn

这时应该怎么样修复这个软件,有没有比较好的方法,盼...

还是用tc下断来观察
2006-1-19 00:13
0
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我没有具体脱过这个程序。不过,对于SVKP来说,主要需处理以下两个问题:

- IAT表:按教程里说的处理即可。
- Stolen bytes:可以用ESP定律断下来,具体如下
  * 记下程序入口时,第一个pusha后的ESP值;
  * 在IAT处理后,在记下的ESP处下HR断点;
  * 断下时,应该在堆栈里;
  * 在OEP下断,然后run trace直到OEP;
  * 在trace log窗口中,非堆栈段的代码就是变形后的stolen bytes;
  * 你可以手工分析,恢复stolen bytes;也可以把stolen bytes拷贝到SVKP入口处(去掉不必要的jmp),不过这时OEP就变成SVKP入口了。
2006-1-19 03:28
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
后面就弄不清楚了,能不能把软件做一个教程,我的QQ是8592815
2006-1-19 22:03
0
雪    币: 164
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sas
7
用2次内存中断方法,很快就可以到达入口点,关键难度在iat修复上,搞不定
2006-4-20 11:42
0
雪    币: 223
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
最初由 sas 发布
用2次内存中断方法,很快就可以到达入口点,关键难度在iat修复上,搞不定

难度并不在这里,sdk算是这个壳里难点的东西了,不过用教本还是处理的比较好的
2006-4-20 12:37
0
游客
登录 | 注册 方可回帖
返回
//