首页
社区
课程
招聘
[旧帖] [求助]ASProtect 2.3 SKE build 05.14 Beta [2]!的破解与脱壳 0.00雪花
发表于: 2008-1-28 08:20 3489

[旧帖] [求助]ASProtect 2.3 SKE build 05.14 Beta [2]!的破解与脱壳 0.00雪花

2008-1-28 08:20
3489
用peid检测是asprotect壳,加插件正确测得壳的版本为
Version: ASProtect 2.3 SKE build 05.14 Beta [2]!
由于水平有限,否能脱壳,加OD跟踪,反OD,隐藏,能正常跟踪

软件名称:汉语大辞典 普及版
下载地址:http://www.skycn.com/soft/8079.html
工具:od 1.1汉化版 peid及插件,dede3.5

用网上的脚本脱壳,不能正常修复,但可用dede查,查后结果为:
本软件采用BC++Builder 编写
总共20多个表单窗口,而form8为reg窗口
其中的BitBtn为注册按钮,而BitBtnClick为触为的注册事件,其入口地址为41e72c

不脱壳的程序可能是壳的原因加入了动态验证码,你如果事前设好中断它强行退出

41e77d处的eax和edx同时出现假码明码,对密码处理
41e9ed逐位取出密码放到ebp-68处 ebp-0c处放的是其它剩下的
41ea03处指针加1即指针前移

41ea07处重新回跳到41e81d,也就是说

41e81d到41ea07是关键的密码处理部分=====================

41ea4a处也调用了出错提示

跟进到401a0d处出错

401a0d调用了一个系统窗口来完成出错提示

41e72c

向上看 41e7a2是个关键跳,如果它跳了完蛋了=========>

而41e796是关键跳上的第一个CALL

它把输入的4个8位数进行处理,得出一个字串,和取得的机器号进行比如,如果相等即为成功

在41ea57处对注册码进行验证,不是4个8位数是不行的

0041E7D7    E8 E02F0D00     call    004F17BC
0041E7DC    66:C745 B8 2000 mov     word ptr [ebp-48], 20 这里把32给ebp-48
0041E7E2    BA DE7B5A00     mov     edx, 005A7BDE
0041E7E7    8D45 F4         lea     eax, dword ptr [ebp-C]

对密码进行处理
0041E81D    8A1E            mov     bl, byte ptr [esi]
...
0041EA03    46              inc     esi
0041EA04    3B7D 9C         cmp     edi, dword ptr [ebp-64]
0041EA07  ^ 0F8C 10FEFFFF   jl      0041E81D
在下一条语句41ea0d下f4跳过,此时ebp-68和ebp-4里都是我们输入的假码
到41ea57断下后追进

00420659    8D45 E0         lea     eax, dword ptr [ebp-20]
0042065C    E8 9B881600     call    00588EFC
00420661    3B85 C0FEFFFF   cmp     eax, dword ptr [ebp-140]  比较看字符位数是否够
此时eax是需要的字符长23即35,而我输入的是22即34故意少一个
00420667    7C 5F           jl      short 004206C8
00420669    8B95 C8FEFFFF   mov     edx, dword ptr [ebp-138]
0042066F    8D45 DC         lea     eax, dword ptr [ebp-24]

在 e2072b中提示密码位数不够

4207e1->420a08是一个循环,下f4跳过
这中间追出一个码为30715504在ebp-14处

421000处较为可疑,它把取出来的数据由4位增加到7位

4210e1处也很可疑,它把算出来的ebp-14处的码算成了91146512

42117f处正式完成把ebp-8处的码变成8位11223344
我输入假码66666666-77777777-88888888-99999999
这里算出来一个码230366288

4211a1处又重新把这个假码去掉最后一次变成了23036628

4211c2为一个CALL后面有一个条件跳,要改为jmp
4212ae处还有一个跳也要跳,不跳也完蛋,改jmp
4212bc重启计算机@@@@@@@@@@@@@@调用421e04处的代码

4212ff处还有一个跳也要跳,不跳也完蛋,改jmp
42130d重启计算机@@@@@@@@@@@@@@调用421e04处的代码
421330处还有一个跳也要跳,不跳也完蛋,改jmp
下面还有N次校验都是重启机,可能是我水平问题吧,所以暂时放弃

420a08处判断是否循环完 ebp-40里放的假码长

所以在420a0e应完成密码相应处理
先取第二段的头两位
再取第一段的头两位
再取第三段的头两位和第四段的第一位

4210ff里已算出了用假码算出的机器码92146512放在ebp-14里

再取出第四段的第七位

421266完成错误密码框的给出

跟进=>421eb1提示出错

请感兴趣的朋友也跟一下,大家相互交流,希望能出结果.

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1889
活跃值: (183)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
顶一下,提请关注
2008-1-28 15:43
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我是菜鸟,有点深奥,我帮你顶!!大家多多来参与!!~~
2008-1-28 16:32
0
游客
登录 | 注册 方可回帖
返回
//