首页
社区
课程
招聘
[VC6][ASProtect 2.11 SKE build 03.13][补区段]FlexHex_212
发表于: 2006-7-10 19:10 14116

[VC6][ASProtect 2.11 SKE build 03.13][补区段]FlexHex_212

cyto 活跃值
31
2006-7-10 19:10
14116
FlexHex_212

PEID0.94:ASProtect 2.1x SKE -> Alexey Solodovnikov
Version 0.13: ASProtect 2.11 SKE build 03.13 Release [1]
VC6.0

加壳选项:
stolen code
CRC
SDK函数

Stolen code用补区段方法解决
CRC的解决:2个脚本对照跑
SDK函数:写code及修改字符串搞定

顺便问下:
Emulate Standard system Functions
指的是什么?是不是类似stolen code,还是那些ImportREC未能修复的SDK函数?

详细文章见附件。

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (25)
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
文章不错。
建议cyto尽量直接将文本帖到论坛上,优点:
1.可以被搜索到
2.方便整理精华集里(不然我还得重新转换,比较麻烦)
3.附件不可靠,时间长了可能会清掉。
2006-7-10 19:57
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
最初由 cyto 发布
顺便问下:
Emulate Standard system Functions
指的是什么?


比如这个函数:

7C8114AB kernel32.GetVersion   mov     eax, fs:[18]
7C8114B1                       mov     ecx, [eax+30]
7C8114B4                       mov     eax, [ecx+B0]
7C8114BA                       movzx   edx, word ptr [ecx+AC]
7C8114C1                       xor     eax, FFFFFFFE
7C8114C4                       shl     eax, 0E
7C8114C7                       or      eax, edx
7C8114C9                       shl     eax, 8
7C8114CC                       or      eax, [ecx+A8]
7C8114D2                       shl     eax, 8
7C8114D5                       or      eax, [ecx+A4]
7C8114DB                       retn

Emulate Standard system Functions处理后:

7C8114AB
  .
  .  中间一段搬到壳里去了,类似高级输入表保护,CALL 0A000000,执行外壳代码后,跳到7C8114C7
  .  
7C8114C7                       or      eax, edx
7C8114C9                       shl     eax, 8
7C8114CC                       or      eax, [ecx+A8]
7C8114D2                       shl     eax, 8
7C8114D5                       or      eax, [ecx+A4]
7C8114DB                       retn
2006-7-10 20:02
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
沙发?
如何准确判断那些是需要补的区段?
2006-7-10 20:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
太高深了,不懂~!!
2006-7-10 20:21
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
6
快下不到 2.12的了
提供个地址
http://soft.btbbt.com/Softurl.asp?ID=27039
2006-7-10 20:21
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
7
最初由 riym 发布
太高深了,不懂~!!


提醒一次,勿恶意灌水!
你此类几个回帖删除了。
2006-7-10 20:35
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
8
cyto 进步很快
恭喜  
2006-7-10 20:40
0
雪    币: 175
活跃值: (2331)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
支持,不错。
2006-7-10 21:35
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
10
最初由 kanxue 发布
文章不错。
建议cyto尽量直接将文本帖到论坛上,优点:
1.可以被搜索到
2.方便整理精华集里(不然我还得重新转换,比较麻烦)
3.附件不可靠,时间长了可能会清掉。


贴图太多,不过比起stolen code的恢复还是easy了很多,
主要是有些字体搞了些颜色,一个个弄相当于stolen code恢复的工程。
2006-7-10 21:40
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
11
最初由 fly 发布
cyto 进步很快
恭喜


进步归功于看雪论坛及一蓑烟雨各位前辈的文章,受益匪浅啊。
再次谢谢各位前辈指点。
2006-7-10 21:42
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
LordPE选择进程dump,ImportREC选择进程,填入OEP,自动获取,最后一个Thunk明显不是函数,删除,Level1+Asprotect插件,还有7个无效。先修复dump,存为dumped_.exe。

最后一个Thunk明显不是函数,怎样判断不是函数?
2006-7-11 09:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
好贴!!顶!!!
2006-7-11 10:01
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
有错误的FThunk,为什么FThunk: 00197A78是无效的?

FThunk: 00197070        NbFunc: 00000007
0        00197070        ?        0000        04075EF0
1        00197074        kernel32.dll        014C        GetDriveTypeA
1        00197078        shell32.dll        018B        StrStrW
0        0019707C        ?        0000        04076208
0        00197080        ?        0000        04076268
0        00197084        ?        0000        040762BC
0        00197088        ?        0000        04076370

FThunk: 00197A78        NbFunc: 00000005
0        00197A78        ?        0000        00547C1D
1        00197A7C        kernel32.dll        0216        InitializeCriticalSection
0        00197A80        ?        0000        0042BC40
0        00197A84        ?        0000        00547C1D
1        00197A88        kernel32.dll        0216        InitializeCriticalSection
2006-7-11 10:39
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
15
最初由 zjjxup 发布
有错误的FThunk,为什么FThunk: 00197A78是无效的?

FThunk: 00197070 NbFunc: 00000007
0 00197070 ? 0000 04075EF0
1 00197074 kernel32.dll 014C GetDriveTypeA
........


这个对我来说没什么技巧,只是累积的经验多了而已。
碰到n次SDK函数(学习Asprotect已经n久了),因此形成惯性,而且函数无效的话还可以手工修复,如果认错了函数,那么死的时候就比较麻烦。
至于最后一个Thunk明显不是函数,这个也是经验的,看一下数据窗口的值就可以判断了。
2006-7-11 20:30
0
雪    币: 313
活跃值: (250)
能力值: ( LV9,RANK:650 )
在线值:
发帖
回帖
粉丝
16
暗桩-CRC验证?:
载入dumped_1.exe,F9就退出,载入原程序,修复IAT脚本运行后F9也一样退出,但是寻找OEP的脚本不会退出。
好,2个脚本比较跟踪:
Aspr2.XX_IATfixer_v1.02.osc
Asprotect 2.xx SKE OEP finder.txt
层层进入:
004A0BEE     E8 F4210A00     call FlexHEX.00542DE7
00542DF7     E8 2ECD0000     call FlexHEX.0054FB2A
0054FB6E     FF50 50         call dword ptr ds:[eax+50]            ; FlexHEX.00408D80

再进入后发现在下面的call后跳转不一样:
00408DA9     8BF1            mov esi,ecx
00408DAB     E8 10C80400     call dumped_1.004555C0
00408DB0     85C0            test eax,eax
00408DB2     0F84 BA0C0000   je dumped_1.00409A72           ; 这里不一样的跳转

呵呵,这里很熟,CRC验证,参考:Web Log Explorer 3.1 Standard Edition
进入00408DAB的call来到不同的地方:
0045562A    /0F85 2B000000   jnz FlexHEX.0045565B         ; nop
nop掉就ok了,其实就是得到eax的值=1。

2个脚本比较跟踪,这里不知怎么比较跟踪,能不能教一下方法?
我下载了研究,怎么也找不到CRC校验,这个过程可不可以讲讲?
2006-7-11 22:39
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
17
最初由 hbqjxhw 发布
暗桩-CRC验证?:
载入dumped_1.exe,F9就退出,载入原程序,修复IAT脚本运行后F9也一样退出,但是寻找OEP的脚本不会退出。
好,2个脚本比较跟踪:
Aspr2.XX_IATfixer_v1.02.osc
Asprotect 2.xx SKE OEP finder.txt
........


开2个OD,分别脚本运行到OEP,然后step by step。
如果有过经验的话就直接搜索特征码。
2006-7-12 07:08
0
雪    币: 7309
活跃值: (3778)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
18
最初由 cyto 发布
开2个OD,分别脚本运行到OEP,然后step by step。
如果有过经验的话就直接搜索特征码。


能说说这个例子怎么搜索特征码嘛?
2006-7-12 12:49
0
雪    币: 417
活跃值: (475)
能力值: ( LV9,RANK:1250 )
在线值:
发帖
回帖
粉丝
19
最初由 海风月影 发布
能说说这个例子怎么搜索特征码嘛?


都是:
call xxxxx
test eax,eax
je xxx
进入call xxxx可以看到这样的代码:
...
test ecx,ecx
jnz xx

最笨的方法就是step by step,然后看到上面类似的特征码就基本可以确定。
我是根据多个软件跟踪的结果总结的,也可能不对,不过用这个方法搞定了几个。
2006-7-12 18:47
0
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
20
支持,不错。
2006-7-14 08:14
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
下载来研究研究
2006-9-30 19:12
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
22
先下载收藏,有空学习
2006-10-1 21:16
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
最初由 kanxue 发布
比如这个函数:

7C8114AB kernel32.GetVersion mov eax, fs:[18]
7C8114B1 mov ecx, [eax+30]
7C8114B4 mov eax, [ecx+B0]
........


这个学习下
2006-10-2 19:20
0
雪    币: 222
活跃值: (383)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
从这个帖子中学到不少东东
建议看雪在做精华时专门出一个版块,把这些精彩的一问一答收录下来,对我等菜菜太有用了
2006-10-4 09:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
请问脚本Asprotect 2.xx SKE OEP finder.txt到哪找啊?
我找了老半天也没找到,论坛里好象只有
ASProtect OEP Finder (all versions).txt  
ASProtect OEP Finder.txt  
这两个
2006-10-21 16:31
0
游客
登录 | 注册 方可回帖
返回
//