sun152121 发表于 2011-4-4 11:29

通用考试系统_校园版追注册码过程

【文章标题】: 通用考试系统_校园版追注册码过程
【文章作者】: sun152121
【软件名称】: 通用考试系统_校园版
【软件大小】: 820K
【下载地址】: 自己搜索下载
【加壳方式】: 无壳
【保护方式】: 注册码
【编写语言】: VB
【使用工具】: OD PEID
【操作平台】: winxp
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
用PEID查壳,显示Microsoft Visual Basic 5.0 / 6.0,无壳。
载入OD,我们来到这里:
00402B10 >/$68 80874100   push    00418780                         ;(initial cpu selection)
00402B15|.E8 EEFFFFFF   call    <jmp.&MSVBVM60.#100>
00402B1A|.0000          add   byte ptr , al
00402B1C|.0000          add   byte ptr , al
00402B1E|.0000          add   byte ptr , al
00402B20|.3000          xor   byte ptr , al
00402B22|.0000          add   byte ptr , al
00402B24|.3800          cmp   byte ptr , al
00402B26|.0000          add   byte ptr , al
00402B28|.0000          add   byte ptr , al
00402B2A|.0000          add   byte ptr , al

F9运行,点击注册,我这里软件显示机器码:8808698827 , 输入注册码 0123456789,提示"注册码不正确,注册失败!"
F12暂停,打开堆栈:
调用堆栈:   主线程
地址       堆栈       函数过程 / 参数                     调用来自                      结构
0012E0D8   77D19418   包含ntdll.KiFastSystemCallRet         USER32.77D19416               0012E10C
0012E0DC   77D2770A   USER32.WaitMessage                  USER32.77D27705               0012E10C
0012E110   77D249C4   USER32.77D2757B                     USER32.77D249BF               0012E10C
0012E138   77D3A956   USER32.77D2490E                     USER32.77D3A951               0012E134
0012E3F8   77D3A2BC   USER32.SoftModalMessageBox            USER32.77D3A2B7               0012E3F4
0012E548   77D3A10B   USER32.77D3A147                     USER32.77D3A106               0012E544
0012E5B4   733FF6B2   包含USER32.77D3A10B                     MSVBVM60.733FF6B0             0012E5B0
0012E5F4   733FF52E   包含MSVBVM60.733FF6B2                   MSVBVM60.733FF52B             0012E5F0
0012E61C   733FF829   MSVBVM60.733FF414                     MSVBVM60.733FF824             0012E618
0012E64C   733F3BF0   MSVBVM60.733FF798                     MSVBVM60.733F3BEB             0012E648
0012E6B0   7346D07A   MSVBVM60.733F3963                     MSVBVM60.7346D075             0012E6AC
0012E728   004BA1B0   ? MSVBVM60.rtcMsgBox                  JDKS.004BA1AA               0012E724

选择最后一行,点右键“显示调用”,我们来到这里:

004BA1AA   .FF15 C0104000 call    dword ptr [<&MSVBVM60.#595>]   ;MSVBVM60.rtcMsgBox
004BA1B0   .8D85 78FFFFFF lea   eax, dword ptr
004BA1B6   .8D4D 88       lea   ecx, dword ptr
004BA1B9   .50            push    eax
004BA1BA   .8D55 98       lea   edx, dword ptr
004BA1BD   .51            push    ecx
004BA1BE   .8D45 A8       lea   eax, dword ptr
004BA1C1   .52            push    edx
004BA1C2   .50            push    eax
004BA1C3   .6A 04         push    4
004BA1C5   .FF15 44104000 call    dword ptr [<&MSVBVM60.__vbaFreeV>;MSVBVM60.__vbaFreeVarList
004BA1CB   .83C4 14       add   esp, 14
004BA1CE   .E9 D9010000   jmp   004BA3AC
004BA1D3   >8B0F          mov   ecx, dword ptr
004BA1D5   .57            push    edi
004BA1D6   .FF91 FC020000 call    dword ptr
004BA1DC   .8D55 C0       lea   edx, dword ptr
004BA1DF   .50            push    eax
004BA1E0   .52            push    edx
004BA1E1   .FF15 B8104000 call    dword ptr [<&MSVBVM60.__vbaObjSe>;MSVBVM60.__vbaObjSet


在这段断首下好断点:

004B9C90      55            push    ebp
004B9C91      8BEC          mov   ebp, esp
004B9C93   .83EC 0C       sub   esp, 0C                        ;(initial cpu selection)
004B9C96   .68 46264000   push    <jmp.&MSVBVM60.__vbaExceptHandle>;SE 处理程序安装
004B9C9B   .64:A1 0000000>mov   eax, dword ptr fs:
004B9CA1   .50            push    eax

F9运行后,断下来了

004B9C90      55            push    ebp


F8单步走


004B9D63   > \8B4D D8       mov   ecx, dword ptr           ;机器码//堆栈 ss:=08B30A1C, (UNICODE "8808698827")
ecx=7C93005D (ntdll.7C93005D)
跳转来自 004B9D4F

004B9D66   .51            push    ecx
004B9D67   .E8 94340000   call    004BD200                         ;产生真正的注册码//eax=08B3484C, (UNICODE "5B73ED99")
edx=00000000,EAX保存的是真码

004B9D6C   .8BD0          mov   edx, eax
004B9D6E   .8D4D E4       lea   ecx, dword ptr
004B9D71   .FF15 C8124000 call    dword ptr [<&MSVBVM60.__vbaStrMo>;MSVBVM60.__vbaStrMove
004B9D77   .8D4D D8       lea   ecx, dword ptr
004B9D7A   .FF15 28134000 call    dword ptr [<&MSVBVM60.__vbaFreeS>;MSVBVM60.__vbaFreeStr
004B9D80   .8D4D C0       lea   ecx, dword ptr
004B9D83   .FF15 24134000 call    dword ptr [<&MSVBVM60.__vbaFreeO>;MSVBVM60.__vbaFreeObj
004B9D89   .8B17          mov   edx, dword ptr
004B9D8B   .57            push    edi
004B9D8C   .FF92 00030000 call    dword ptr
004B9D92   .50            push    eax
004B9D93   .8D45 C0       lea   eax, dword ptr
004B9D96   .50            push    eax
004B9D97   .FFD3          call    ebx
004B9D99   .8BF0          mov   esi, eax
004B9D9B   .8D55 D8       lea   edx, dword ptr
004B9D9E   .52            push    edx
004B9D9F   .56            push    esi
004B9DA0   .8B0E          mov   ecx, dword ptr
004B9DA2   .FF91 A0000000 call    dword ptr
004B9DA8   .85C0          test    eax, eax
004B9DAA   .DBE2          fclex
004B9DAC   .7D 12         jge   short 004B9DC0
004B9DAE   .68 A0000000   push    0A0
004B9DB3   .68 00224200   push    00422200
004B9DB8   .56            push    esi
004B9DB9   .50            push    eax
004B9DBA   .FF15 8C104000 call    dword ptr [<&MSVBVM60.__vbaHresu>;MSVBVM60.__vbaHresultCheckObj
004B9DC0   >8B45 D8       mov   eax, dword ptr           ;取假码
004B9DC3   .8D4D 98       lea   ecx, dword ptr
004B9DC6   .8945 B0       mov   dword ptr , eax
004B9DC9   .8D45 A8       lea   eax, dword ptr
004B9DCC   .50            push    eax
004B9DCD   .51            push    ecx
004B9DCE   .C745 D8 00000>mov   dword ptr , 0
004B9DD5   .C745 A8 08000>mov   dword ptr , 8
004B9DDC   .FF15 E4104000 call    dword ptr [<&MSVBVM60.#520>]   ;MSVBVM60.rtcTrimVar
004B9DE2   .8D55 98       lea   edx, dword ptr
004B9DE5   .8D45 88       lea   eax, dword ptr
004B9DE8   .52            push    edx
004B9DE9   .50            push    eax
004B9DEA   .FF15 20114000 call    dword ptr [<&MSVBVM60.#528>]   ;MSVBVM60.rtcUpperCaseVar
004B9DF0   .8B4D E4       mov   ecx, dword ptr           ;再次出现真码
004B9DF3   .8D55 88       lea   edx, dword ptr
004B9DF6   .8D85 58FFFFFF lea   eax, dword ptr
004B9DFC   .52            push    edx                              ; /var18
004B9DFD   .50            push    eax                              ; |var28
004B9DFE   .898D 60FFFFFF mov   dword ptr , ecx          ; |
004B9E04   .C785 58FFFFFF>mov   dword ptr , 8008         ; |
004B9E0E   .FF15 2C114000 call    dword ptr [<&MSVBVM60.__vbaVarTs>; \__vbaVarTstEq
004B9E14   .8D4D C0       lea   ecx, dword ptr
004B9E17   .66:8BF0       mov   si, ax
004B9E1A   .FF15 24134000 call    dword ptr [<&MSVBVM60.__vbaFreeO>;MSVBVM60.__vbaFreeObj
004B9E20   .8D4D 88       lea   ecx, dword ptr
004B9E23   .8D55 98       lea   edx, dword ptr
004B9E26   .51            push    ecx
004B9E27   .8D45 A8       lea   eax, dword ptr
004B9E2A   .52            push    edx
004B9E2B   .50            push    eax
004B9E2C   .6A 03         push    3
004B9E2E   .FF15 44104000 call    dword ptr [<&MSVBVM60.__vbaFreeV>;MSVBVM60.__vbaFreeVarList
004B9E34   .83C4 10       add   esp, 10
004B9E37   .66:85F6       test    si, si
004B9E3A      0F84 FB020000 je      004BA13B                         ;关键跳,跳了就挂!//改 jne 或 改 nop爆破
004B9E40   .68 F8674200   push    004267F8
004B9E45   .FF15 78114000 call    dword ptr [<&MSVBVM60.__vbaNew>] ;MSVBVM60.__vbaNew
004B9E4B   .8D4D DC       lea   ecx, dword ptr
004B9E4E   .50            push    eax
004B9E4F   .51            push    ecx
004B9E50   .FFD3          call    ebx
004B9E52   .A1 04BD4C00   mov   eax, dword ptr
004B9E57   .85C0          test    eax, eax
004B9E59   .75 10         jnz   short 004B9E6B
004B9E5B   .68 04BD4C00   push    004CBD04
004B9E60   .68 9C144200   push    0042149C
004B9E65   .FF15 18124000 call    dword ptr [<&MSVBVM60.__vbaNew2>>;MSVBVM60.__vbaNew2
004B9E6B   >8B35 04BD4C00 mov   esi, dword ptr
004B9E71   .8D45 C0       lea   eax, dword ptr
004B9E74   .50            push    eax
004B9E75   .56            push    esi




--------------------------------------------------------------------------------
【经验总结】
这是一个明码比较的软件,追注册码也比较简单。改爆破也很简单。给新手的教程,高手飘过~

--------------------------------------------------------------------------------
【版权声明】: 本文原创, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2011年04月04日 11:26:46

sun152121 发表于 2011-4-4 11:35

软件可到我的网盘里下载。
文件名:通用考试系统.zip
下载地址:http://www.rayfile.com/files/4f4c42dc-5e6c-11e0-9d3e-0015c55db73d/

xspxsp133 发表于 2011-4-4 11:48

好好学习天天向上!

11186833 发表于 2011-4-4 12:29

好好学习天天向上!

juanmaoking 发表于 2011-4-4 13:00

本帖最后由 juanmaoking 于 2011-4-8 14:25 编辑

为什么我OD载入后,F9运行时没有跳出那个注册框?而是停在了这里??



juanmaoking 发表于 2011-4-4 13:04

为什么我打不开???弹窗了。。。




y123456789 发表于 2011-4-4 13:33

本帖最后由 y123456789 于 2011-4-4 13:33 编辑

回复 juanmaoking 的帖子

win7不能搞破解

装个虚拟机咯。

dxxiong 发表于 2011-4-4 16:12

向楼主学习学习了!

juanmaoking 发表于 2011-4-4 17:21

回复 y123456789 的帖子

所有的破解都不能的么?
这个软件我是直接打开就是这种情况的。

y123456789 发表于 2011-4-4 18:13

回复 juanmaoking 的帖子

楼主给的这个软件也有问题。

要自己下载个
页: [1] 2 3
查看完整版本: 通用考试系统_校园版追注册码过程