首页
社区
课程
招聘
关于ASProtect 2.1x SKE -> Alexey Solodovnikov脱后修复的疑问
发表于: 2006-8-12 14:33 6956

关于ASProtect 2.1x SKE -> Alexey Solodovnikov脱后修复的疑问

2006-8-12 14:33
6956
参照cyto大侠的 [脚本+补区段]-ASProtect 2.1x SKE-文件夹保护 2006 2.10。http://bbs.pediy.com/showthread.php?s=&threadid=27239
一文,脱某软件壳,本来偶菜鸟是不敢碰这猛壳的,但看雪论坛牛人们对此壳已经研究得十分透彻,优秀脱文倍出,也贸然来试试,不想却还是没捞着,呵呵。

首先使用Volx脚本:Aspr2.XX_IATfixer_v1.02.osc
运行完毕,提示:
"There are stolen code after API and the address of the call xxxxxxxx are saved in the file named SCafAPI.bin "
选择resume,提示:
"Import table is fixed, you can dump the file now or later. check the address and size of IAT in log window"
再次选择resume,运行到OEP,提示:
"Stolen code start, press OK button to add comments"

提示"Comments are added",点确定,停在伪OEP处。

0124026E    55              push    ebp                              ; 00040CBAF
0124026F    BD 7EA64600     mov     ebp, 46A67E
01240274    C1C5 DB         rol     ebp, 0DB
01240277    EB 02           jmp     short 0124027B
01240279    CD20 0BEB8D6C   vxdjump 6C8DEB0B
0124027F    24 06           and     al, 6
01240281    8D6C35 FA       lea     ebp, [ebp+esi-6]
01240285    2BEE            sub     ebp, esi
01240287    6A FF           push    -1
01240289    68 52DE4200     push    42DE52
0124028E    66:9C           pushfw
01240290    50              push    eax
01240291    334424 08       xor     eax, [esp+8]
01240295    C1D0 DD         rcl     eax, 0DD
01240298    26:EB 02        jmp     short 0124029D
0124029B    CD20 8BC4F3EB   vxdjump EBF3C48B
012402A1    02CD            add     cl, ch
012402A3    208D 40065226   and     [ebp+26520640], cl

LordPE选择进程dump,保存为dumped.exe

IAT:因为使用了脚本,呵呵,真是强大,很容易确定RVA:E000,size:630
上ImportREC,选择进程,填入RVA+Size,获取函数,全部有效,修改OEP=0124026E-400000=E4026E,保存备用。

接下来,补区段,00AE0000 12400000 12C00000等几个区段,用LordPE逐一装配,然后ImportREC载入先前保存的IAT修复存为dumped_.exe

继续照猫画虎,Route Check:
OD载入dumped_.exe,从OEP步进,来到特征码处:

00AFFDDB    8B73 30         mov     esi, [ebx+30]
00AFFDDE    8B7B 14         mov     edi, [ebx+14]
00AFFDE1    A1 44BAB100     mov     eax, [B1BA44]
00AFFDE6    8B40 34         mov     eax, [eax+34]
00AFFDE9    FFD0            call    eax
00AFFDEB    2945 0C         sub     [ebp+C], eax
00AFFDEE    8B45 0C         mov     eax, [ebp+C]
00AFFDF1    2B43 18         sub     eax, [ebx+18]
00AFFDF4    2B43 68         sub     eax, [ebx+68]

修改为:
00AFFDDB    8B73 30         mov     esi, [ebx+30]
00AFFDDE    8B7B 14         mov     edi, [ebx+14]
00AFFDE1    A1 44BAB100     mov     eax, [B1BA44]
00AFFDE6    8B4424 58       mov     eax, [esp+58]
00AFFDEA    90              nop
00AFFDEB    83E8 05         sub     eax, 5
00AFFDEE    90              nop
00AFFDEF    90              nop
00AFFDF0    90              nop
00AFFDF1    2B43 18         sub     eax, [ebx+18]
00AFFDF4    2B43 68         sub     eax, [ebx+68]

另存为:dumped_fix.exe
运行:出错

对照原程序跟踪,结果发现原程序在OD里,无论怎么隐藏OD都无法运行起来。也会出现这类似的错误。

为节省论坛空间,我脱的这个程序以及修复过的程序都另外打包放到:
http://www.bsqing.com/test.rar
希望各位大侠们帮我看看是什么问题导致修复不成功,应该如何解决,谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
2
最初由 无奈无赖 发布
参照cyto大侠的 [脚本+补区段]-ASProtect 2.1x SKE-文件夹保护 2006 2.10。http://bbs.pediy.com/showthread.php?s=&threadid=27239
一文,脱某软件壳,本来偶菜鸟是不敢碰这猛壳的,但看雪论坛牛人们对此壳已经研究得十分透彻,优秀脱文倍出,也贸然来试试,不想却还是没捞着,呵呵。

首先使用Volx脚本:Aspr2.XX_IATfixer_v1.02.osc
运行完毕,提示:
........


看了你脱壳后文件:dumped_fix.exe
发现你是先修复IAT,然后补区段的。
先补区段再Refix。
2006-8-12 15:13
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
多谢cyto大侠,呵呵。我再试试。
2006-8-12 15:15
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
唉!~问题依旧,依然是这样子的。不知道哪里出错了。
2006-8-12 15:33
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
5
最初由 无奈无赖 发布
唉!~问题依旧,依然是这样子的。不知道哪里出错了。


应该是CRC验证的问题。
对比2个脚本:找OEP的脚本与修复IAT的脚本,应该可以搞定。
2006-8-12 15:53
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢,你有空帮我看看看吗?

然后我再照你的方法再照猫画虎一翻

以前脱过几个,可能是加密选项没有这么多,用脚本然后很轻松就能搞定。呵呵,看来,大牛们再怎么把它研究得透彻,吾等菜鸟要想脱掉它还是并非易事啊。
2006-8-12 16:19
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
哈哈  打开任务管理器  结束那个进程就OK了~

然后再试  决对不会出现那问题
2006-8-12 16:27
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
晕,不是那么简单的,你说的那种也的确有,不过这个情况不是属于这个的。
2006-8-12 16:47
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
多谢machenglin,已下载附件,可删除,不过,附件里只有脱过后的文件。
望指出我是为何会出现这个错误。不胜感激!~
或者请machenglin简略描述一下你脱的步骤。
2006-8-12 17:09
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
呵呵,machenglin大侠是手动修复的,不是用的补区段方法。我是不敢尝试的了。
2006-8-12 17:18
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
11
也脱了一遍,没有CRC验证。
恢复了Stolen oep,再恢复Advaced Import Protection的API Stolen code就可以启动进入。

以下几个API Stolen code供参考,还有好多:
0040104A  // mov esi,eax
00401220  // mov esi,eax
00401247  // mov edi,eax
00401290  // mov esi,eax
00401333  // mov esi,eax
00401364  // mov edi,eax

上面几个解决后应该能运行了。
2006-8-13 06:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我也有同样问题
00DB8A66    3E:8B4424 58    MOV EAX,DWORD PTR DS:ESP+58]     ;dumped_3.00FF0E81

00DB8A6B    83E8 05         SUB EAX,5
00DB8A6E    90              NOP
00DB8A6F    90              NOP
00DB8A70    90              NOP
00DB8A71    2B43 18         SUB EAX,DWORD PTR DS:[EBX+18]
00DB8A74    2B43 68         SUB EAX,DWORD PTR DS:[EBX+68]
00DB8A77    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
00DB8A7A    8D43 24         LEA EAX,DWORD PTR DS:[EBX+24]
00DB8A7D    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
00DB8A80    85FF            TEST EDI,EDI
00DB8A82    76 38           JBE SHORT dumped_3.00DB8ABC
00DB8A84    EB 01           JMP SHORT dumped_3.00DB8A87

都改好的,跟踪了一下,再往下会出错
2006-8-26 00:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我郁闷很久了,N个文章看了N次(全是高人的)
自认为都看懂的,就是不行,哎!!!

下面我改好的,也是补区大法

00DB8A66    3E:8B4424 58    MOV EAX,DWORD PTR DS:[ESP+58]
00DB8A6B    90              NOP
00DB8A6C    83E8 05         SUB EAX,5
00DB8A6F    90              NOP
00DB8A70    90              NOP
00DB8A71    2B43 18         SUB EAX,DWORD PTR DS:[EBX+18]
00DB8A74    2B43 68         SUB EAX,DWORD PTR DS:[EBX+68]
00DB8A77    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
00DB8A7A    8D43 24         LEA EAX,DWORD PTR DS:[EBX+24]
00DB8A7D    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX
00DB8A80    85FF            TEST EDI,EDI
00DB8A82    76 38           JBE SHORT dumped_2.00DB8ABC
//跳到下面了

00DB8ABC    68 D88ADB00     PUSH dumped_3.00DB8AD8                   ; ASCII "111
"

执行后就到这里,我想是CRC出错,就是不知怎么排查
2006-8-26 00:19
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
14
最初由 小仙 发布
我郁闷很久了,N个文章看了N次(全是高人的)
自认为都看懂的,就是不行,哎!!!

下面我改好的,也是补区大法

........


已经说过了,不是CRC,而是Stolen code After API。
2006-8-26 07:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
大侠
Stolen code After API
有什么资料吗

我怎么搞定它


引用cyto大侠的:
也脱了一遍,没有CRC验证。
恢复了Stolen oep,再恢复Advaced Import Protection的API Stolen code就可以启动进入。

以下几个API Stolen code供参考,还有好多:
0040104A // mov esi,eax
00401220 // mov esi,eax
00401247 // mov edi,eax
00401290 // mov esi,eax
00401333 // mov esi,eax
00401364 // mov edi,eax

上面几个解决后应该能运行了


能具体点吗,我不太明白
2006-8-26 13:51
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
16
最初由 小仙 发布
大侠
Stolen code After API
有什么资料吗

我怎么搞定它
........


请参考kanxue大哥的文章,kanxue的精华文章不多,全是极品!
其中:
Asprotect SKE 2.2 的Advanced Import protection保护技术
更是极品中的极品。
如果想恢复Stolen code,那么参考wak大哥的文章:
ASProtect.SKE.2.11 stolen code解密

深刻学习了这两篇文章几乎可以解决绝大部分问题。
2006-8-26 19:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17

引用cyto大侠的:
也脱了一遍,没有CRC验证。
恢复了Stolen oep,再恢复Advaced Import Protection的API Stolen code就可以启动进入。

问一下很菜的问题
我是用脚本+补区的,
vol的超级脚本能自动修复IAT加密和Advaced Import Protection,是吗?
我现在不太明白了

到底vol的脚本帮我们做了什么,执行完,还有哪些可能的工作要我们做啊?
2006-8-27 09:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
顶一下,让高手回复个
2006-8-31 16:41
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我也试试!!!嘿嘿!
2006-9-1 14:55
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
20
Route Check修改好了,但我的程序是一直在一个循环里走,而跟了原程序,发现可以跳出循环,不知道为什么,找到跳的地方将JE改成JNE,程序就退出了,真是晕
2006-9-19 21:43
0
游客
登录 | 注册 方可回帖
返回
//