gzdang 发表于 2008-12-7 11:29

一个局域网工具的破解

【文章标题】: 一个局域网工具的破解
【文章作者】: gzdang
【软件名称】: pease mibbrowser 1.14版
【下载地址】: 自己搜索下载
【加壳方式】: 无壳
【保护方式】: 重启验证
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: od ,peid
【操作平台】: win all
【软件介绍】: 一个局域网工具
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
1 运行程序,点击出注册界面后, 我的注册信息如下:

填入注册信息,
      注册名: gzdang
      注册码: 54321

点"注册"后,程序提示信息为 "谢谢您的注册"

看来程序在启动时比较注册码.

2 od载入程序MibBrowser.exe.查找字符串(UNICODE格式).找到:
超级字串参考+      , 项目 21
   地址=004017DF
   反汇编=push MibBrows.00440114
   文本字串=unregistered version
0040175B   .8D4C24 18   lea ecx,dword ptr ss:
0040175F   .C64424 70 0Cmov byte ptr ss:,0C
00401764   .E8 877F0200   call MibBrows.004296F0
00401769   .A1 F07B4400   mov eax,dword ptr ds:            :一个全局标志
0040176E   .85C0          test eax,eax
00401770      74 66         je short MibBrows.004017D8               :跳了就是 unregistered version
00401772   .8B5424 1C   mov edx,dword ptr ss:
00401776   .52            push edx
00401777   .51            push ecx
00401778   .8BCC          mov ecx,esp
0040177A   .896424 30   mov dword ptr ss:,esp
0040177E   .68 80014400   push MibBrows.00440180                   ;this software is registered to:
00401783   .E8 7EDF0200   call <jmp.&MFC42u.#538>
00401788   .51            push ecx
00401789   .C64424 78 0Dmov byte ptr ss:,0D
0040178E   .8BCC          mov ecx,esp
00401790   .896424 30   mov dword ptr ss:,esp
00401794   .68 4C014400   push MibBrows.0044014C                   ;about.dlg.registered.text
00401799   .E8 68DF0200   call <jmp.&MFC42u.#538>
0040179E   .8D8424 800000>lea eax,dword ptr ss:
004017A5   .C64424 78 0Cmov byte ptr ss:,0C
004017AA   .50            push eax
004017AB   .E8 C0CB0200   call MibBrows.0042E370
004017B0   .83C4 0C       add esp,0C
004017B3   .8B08          mov ecx,dword ptr ds:
004017B5   .8D5424 14   lea edx,dword ptr ss:
004017B9   .51            push ecx
004017BA   .68 40014400   push MibBrows.00440140                   ;%s%s
004017BF   .52            push edx
004017C0   .C64424 7C 0Emov byte ptr ss:,0E
004017C5   .E8 90DF0200   call <jmp.&MFC42u.#2810>
004017CA   .83C4 10       add esp,10
004017CD   .C64424 6C 0Cmov byte ptr ss:,0C
004017D2   .8D4C24 74   lea ecx,dword ptr ss:
004017D6   .EB 5C         jmp short MibBrows.00401834
004017D8   >51            push ecx
004017D9   .8BCC          mov ecx,esp
004017DB   .896424 2C   mov dword ptr ss:,esp
004017DF   .68 14014400   push MibBrows.00440114                   ;unregistered version
004017E4   .E8 1DDF0200   call <jmp.&MFC42u.#538>
004017E9   .51            push ecx
004017EA   .C64424 74 0Fmov byte ptr ss:,0F

3 一开始我nop掉那个跳转,无效.再对全局标志下硬件访问断点.重载程序f9运行.

00407568   .8D4C24 20   lea ecx,dword ptr ss:
0040756C   .E8 B1830200   call <jmp.&MFC42u.#940>
00407571   .8D4C24 14   lea ecx,dword ptr ss:
00407575   .889C24 040100>mov byte ptr ss:,bl
0040757C   .E8 79810200   call <jmp.&MFC42u.#800>
00407581   .83C7 04       add edi,4
00407584   .4D            dec ebp
00407585   .^ 75 BF         jnz short MibBrows.00407546
00407587   .8B5424 28   mov edx,dword ptr ss:
0040758B   .8B4424 1C   mov eax,dword ptr ss:
0040758F   .52            push edx                                       ; /wstr2
00407590   .50            push eax                                       ; |wstr1
00407591   .FF15 50544300 call dword ptr ds:[<&MSVCRT.wcscmp>]         ; \wcscmp这里竟然明码比较.可以做
00407597   .83C4 08       add esp,                                                内存注册机
0040759A   .85C0          test eax,eax
0040759C   .0F94C1      sete cl                                        :爆破点
0040759F   .81E1 FF000000 and ecx,0FF
004075A5   .890D F07B4400 mov dword ptr ds:,ecx                  :
004075AB   .56            push esi                                       :od停在这里
004075AC   .8D4C24 14   lea ecx,dword ptr ss:
004075B0   .E8 3B210200   call MibBrows.004296F0
004075B5   .8D4C24 1C   lea ecx,dword ptr ss:
004075B9   .C68424 040100>mov byte ptr ss:,7
004075C1   .E8 34810200   call <jmp.&MFC42u.#800>
004075C6   .8D4C24 60   lea ecx,dword ptr ss:
004075CA   .C68424 040100>mov byte ptr ss:,6
004075D2   .E8 59050000   call MibBrows.00407B30
004075D7   .8D4C24 2C   lea ecx,dword ptr ss:

   4 删除硬件访问断点,在0407591下断,重载程序f9运行.就会出现真正注册码.
00407585   .^\75 BF         jnz short MibBrows.00407546
00407587   .8B5424 28   mov edx,dword ptr ss:
0040758B   .8B4424 1C   mov eax,dword ptr ss:
0040758F   .52            push edx                                 ; /wstr2
00407590   .50            push eax                                 ; |wstr1
00407591   .FF15 50544300 call dword ptr ds:[<&MSVCRT.wcscmp>]   ; \wcscmp      ; od停在这里
00407597   .83C4 08       add esp,8
0040759A   .85C0          test eax,eax
0040759C   .0F94C1      sete cl
0040759F   .81E1 FF000000 and ecx,0FF
004075A5   .890D F07B4400 mov dword ptr ds:,ecx
004075AB   .56            push esi:;
004075AC   .8D4C24 14   lea ecx,dword ptr ss:
004075B0   .E8 3B210200   call MibBrows.004296F0
004075B5   .8D4C24 1C   lea ecx,dword ptr ss:
004075B9   .C68424 040100>mov byte ptr ss:,7
004075C1   .E8 34810200   call <jmp.&MFC42u.#800>
看堆栈:
0012FB7C   00A37B70|wstr1 = "CiFUdqDDf9LFBLbdTOCMCvaO"               ;真正注册码
0012FB80   00A37AE0\wstr2 = "54321"
0012FB84   00A2BCA8
0012FB88   00000000
0012FB8C   0012FD08
0012FB90   00407340MibBrows.00407340
0012FB94   00438AB8MibBrows.00438AB8
0012FB98   003E46B8UNICODE "CMCvaO"
0012FB9C   00A2D888UNICODE "gzdangPease MibBrowser"
0012FBA0   00A37B70UNICODE "CiFUdqDDf9LFBLbdTOCMCvaO"
0012FBA4   00A37C00UNICODE "Pease MibBrowser"
0012FBA8   003E46B8UNICODE "CMCvaO"
【注册信息】

注册名:gzdang

注册码:CiFUdqDDf9LFBLbdTOCMCvaO



--------------------------------------------------------------------------------
【经验总结】
这篇文章没有什么技术含量,很抱歉让你花了这么多时间来看这个。

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

                                                       2008年12月05日 2:09:42

鬼手 发表于 2008-12-7 11:33

学习下。谢谢楼主分享!:handshake

zx278212442 发表于 2008-12-7 15:56

楼上的真强大,那你继续顶撒!!!

liu2000 发表于 2008-12-7 18:46

学习下。谢谢楼主分享

shaopeng 发表于 2008-12-7 20:08

好久没写破文了,
支持你

kaiweiok 发表于 2008-12-9 13:25

zckey09 发表于 2008-12-9 16:55

谢谢分享 学习了

ztw163 发表于 2008-12-10 01:28

学习下。谢谢楼主分享!

2005ldx 发表于 2008-12-11 09:29

楼上的真强大!

lgq0416 发表于 2008-12-11 15:03

谢谢楼主了!!!
页: [1] 2 3
查看完整版本: 一个局域网工具的破解