飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2454|回复: 4

[07版] 第三章:明码与暴破-暴破后写入正确信息-文二

[复制链接]

该用户从未签到

发表于 2007-4-11 20:55:00 | 显示全部楼层 |阅读模式
某电视软件 5.3.5
软件大小:894KB
软件类别:国产软件/网络音视  
下载次数:50800
软件授权:共享版
软件语言:简体中文
运行环境:Win9x/Me/NT/2000/XP/2003
更新时间:2007-4-11 10:58:12

OD载入,从程序OEP便可得出是VB程序。随意输入注册信息,有注册失败错误提示框。


搜索UNICODE,无果。我们下bp rtcMsgBox断点(拦截对话框断点)
OD断到这里:

740F405A >  55              push    ebp                              ; 程序断在这里
740F405B    8B4424 14       mov     eax, dword ptr [esp+14]

此时我们在OD的堆栈窗口看到:我们在该地址右键-反汇编窗口中跟随。来到这里,我们由此向上找该函数句柄处下断。



0045C540   .  FF15 28024600 call    dword ptr [<&MSVBVM50.#595>]  ;  MSVBVM50.rtcMsgBox
0045C546   .  8D4D 84       lea     ecx, dword ptr [ebp-7C]       ;  <返回到这里>上方就是程序弹出注册失败对话框的函数


0045BCC0   > \55            push    ebp                           ;  我们在这里下断。点注册后程序断在这里,我们F8单步向下跟踪
0045BCC1   .  8BEC          mov     ebp, esp
0045BCC3   .  83EC 0C       sub     esp, 0C
0045BCC6   .  68 A6134000   push    <jmp.&MSVBVM50.__vbaExceptHan>;  SE 处理程序安装

……
…… 省略中间部分代码
……

0045C0D3   .  FF15 08024600 call    dword ptr [<&MSVBVM50.__vbaHr>;  MSVBVM50.__vbaHresultCheckObj
0045C0D9   >  8B55 E0       mov     edx, dword ptr [ebp-20]       ;  这里调出了我们输入的假码
0045C0DC   .  52            push    edx
0045C0DD   .  FF15 60034600 call    dword ptr [<&MSVBVM50.#581>]  ;  MSVBVM50.rtcR8ValFromBstr
0045C0E3   .  FF15 5C024600 call    dword ptr [<&MSVBVM50.__vbaFp>;  MSVBVM50.__vbaFpR8
0045C0E9   .  DB85 40FFFFFF fild    dword ptr [ebp-C0]
0045C0EF   .  DD9D 04FFFFFF fstp    qword ptr [ebp-FC]
0045C0F5   .  DC9D 04FFFFFF fcomp   qword ptr [ebp-FC]
0045C0FB   .  DFE0          fstsw   ax
0045C0FD   .  F6C4 40       test    ah, 40
0045C100   .  74 07         je      short 0045C109
0045C102   .  BE 01000000   mov     esi, 1
0045C107   .  EB 02         jmp     short 0045C10B
0045C109   >  33F6          xor     esi, esi
0045C10B   >  8D4D E0       lea     ecx, dword ptr [ebp-20]
0045C10E   .  FF15 5C034600 call    dword ptr [<&MSVBVM50.__vbaFr>;  MSVBVM50.__vbaFreeStr
0045C114   .  8D4D C8       lea     ecx, dword ptr [ebp-38]
0045C117   .  FF15 58034600 call    dword ptr [<&MSVBVM50.__vbaFr>;  MSVBVM50.__vbaFreeObj
0045C11D   .  F7DE          neg     esi
0045C11F   .  66:85F6       test    si, si
0045C122   .  0F84 92030000 je      0045C4BA                      ;  我们看到这里有一个非常大的跳转 我们顺着该跳转向下走,发现该跳转跳向注册失败处。于是在此暴破将je修改为jne。

龙哥以前说过,VB程序中大跳转往往才是暴破的关键点。这句话在此得到了验证。修改该跳转后,程序向系统保存正确注册信息。在该程序所在硬盘根目录中生成Iotmrd.sys的文件,我们用记事本打开:

[MyApp]
pt1=5027
pt2=V
pt3=1151
pt4=Nisy

未注册前:
[MyApp]
pt1=5027
pt2=W

软件的机器码也是随机生成的,所以该文件便是通用注册信息。算法设计的再好,但如果存在这样的缺陷,简单修改便可暴破。算法再好也是徒然。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

x
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-4-11 20:58:30 | 显示全部楼层
超级电视 5.3.5
http://gz.onlinedown.net/soft/44942.htm

这软件相信大家都玩过 质量一般的电视软件 没什么意思 国软并且一直在更新 故把名字隐去~
PYG19周年生日快乐!

该用户从未签到

发表于 2007-4-12 16:45:36 | 显示全部楼层
龙哥以前说过,VB程序中大跳转往往才是暴破的关键点

文章最最精彩的一句话:)
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-4-12 17:32:40 | 显示全部楼层
原帖由 rayicy 于 2007-4-12 16:45 发表
龙哥以前说过,VB程序中大跳转往往才是暴破的关键点

文章最最精彩的一句话:)


高手总有潜水的一天 趁着青年 多为网络留下点回忆 ~~
PYG19周年生日快乐!

该用户从未签到

发表于 2007-4-12 18:46:52 | 显示全部楼层
原帖由 Nisy 于 2007-4-12 17:32 发表


高手总有潜水的一天 趁着青年 多为网络留下点回忆 ~~


这话不错:)
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表