吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15154|回复: 22
收起左侧

一个局域网工具的破解

[复制链接]
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:[esp+18]
  0040175F   .  C64424 70 0C  mov byte ptr ss:[esp+70],0C
  00401764   .  E8 877F0200   call MibBrows.004296F0
  00401769   .  A1 F07B4400   mov eax,dword ptr ds:[447BF0]            :一个全局标志
  0040176E   .  85C0          test eax,eax
  00401770      74 66         je short MibBrows.004017D8               :跳了就是 unregistered version
  00401772   .  8B5424 1C     mov edx,dword ptr ss:[esp+1C]
  00401776   .  52            push edx
  00401777   .  51            push ecx
  00401778   .  8BCC          mov ecx,esp
  0040177A   .  896424 30     mov dword ptr ss:[esp+30],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 0D  mov byte ptr ss:[esp+78],0D
  0040178E   .  8BCC          mov ecx,esp
  00401790   .  896424 30     mov dword ptr ss:[esp+30],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:[esp+80]
  004017A5   .  C64424 78 0C  mov byte ptr ss:[esp+78],0C
  004017AA   .  50            push eax
  004017AB   .  E8 C0CB0200   call MibBrows.0042E370
  004017B0   .  83C4 0C       add esp,0C
  004017B3   .  8B08          mov ecx,dword ptr ds:[eax]
  004017B5   .  8D5424 14     lea edx,dword ptr ss:[esp+14]
  004017B9   .  51            push ecx
  004017BA   .  68 40014400   push MibBrows.00440140                   ;  %s%s
  004017BF   .  52            push edx
  004017C0   .  C64424 7C 0E  mov byte ptr ss:[esp+7C],0E
  004017C5   .  E8 90DF0200   call <jmp.&MFC42u.#2810>
  004017CA   .  83C4 10       add esp,10
  004017CD   .  C64424 6C 0C  mov byte ptr ss:[esp+6C],0C
  004017D2   .  8D4C24 74     lea ecx,dword ptr ss:[esp+74]
  004017D6   .  EB 5C         jmp short MibBrows.00401834
  004017D8   >  51            push ecx
  004017D9   .  8BCC          mov ecx,esp
  004017DB   .  896424 2C     mov dword ptr ss:[esp+2C],esp
  004017DF   .  68 14014400   push MibBrows.00440114                   ;  unregistered version
  004017E4   .  E8 1DDF0200   call <jmp.&MFC42u.#538>
  004017E9   .  51            push ecx
  004017EA   .  C64424 74 0F  mov byte ptr ss:[esp+74],0F

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

  00407568   .  8D4C24 20     lea ecx,dword ptr ss:[esp+20]
  0040756C   .  E8 B1830200   call <jmp.&MFC42u.#940>
  00407571   .  8D4C24 14     lea ecx,dword ptr ss:[esp+14]
  00407575   .  889C24 040100>mov byte ptr ss:[esp+104],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:[esp+28]
  0040758B   .  8B4424 1C     mov eax,dword ptr ss:[esp+1C]
  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:[447BF0],ecx                  :
  004075AB   .  56            push esi                                       :od停在这里
  004075AC   .  8D4C24 14     lea ecx,dword ptr ss:[esp+14]
  004075B0   .  E8 3B210200   call MibBrows.004296F0
  004075B5   .  8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]
  004075B9   .  C68424 040100>mov byte ptr ss:[esp+104],7
  004075C1   .  E8 34810200   call <jmp.&MFC42u.#800>
  004075C6   .  8D4C24 60     lea ecx,dword ptr ss:[esp+60]
  004075CA   .  C68424 040100>mov byte ptr ss:[esp+104],6
  004075D2   .  E8 59050000   call MibBrows.00407B30
  004075D7   .  8D4C24 2C     lea ecx,dword ptr ss:[esp+2C]
  
   4 删除硬件访问断点,在0407591下断,重载程序f9运行.就会出现真正注册码.
  00407585   .^\75 BF         jnz short MibBrows.00407546
  00407587   .  8B5424 28     mov edx,dword ptr ss:[esp+28]
  0040758B   .  8B4424 1C     mov eax,dword ptr ss:[esp+1C]
  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:[447BF0],ecx
  004075AB   .  56            push esi:;
  004075AC   .  8D4C24 14     lea ecx,dword ptr ss:[esp+14]
  004075B0   .  E8 3B210200   call MibBrows.004296F0
  004075B5   .  8D4C24 1C     lea ecx,dword ptr ss:[esp+1C]
  004075B9   .  C68424 040100>mov byte ptr ss:[esp+104],7
  004075C1   .  E8 34810200   call <jmp.&MFC42u.#800>
看堆栈:
0012FB7C   00A37B70  |wstr1 = "CiFUdqDDf9LFBLbdTOCMCvaO"               ;真正注册码
0012FB80   00A37AE0  \wstr2 = "54321"
0012FB84   00A2BCA8
0012FB88   00000000
0012FB8C   0012FD08
0012FB90   00407340  MibBrows.00407340
0012FB94   00438AB8  MibBrows.00438AB8
0012FB98   003E46B8  UNICODE "CMCvaO"
0012FB9C   00A2D888  UNICODE "gzdangPease MibBrowser"
0012FBA0   00A37B70  UNICODE "CiFUdqDDf9LFBLbdTOCMCvaO"
0012FBA4   00A37C00  UNICODE "Pease MibBrowser"
0012FBA8   003E46B8  UNICODE "CMCvaO"
【注册信息】

注册名:gzdang

注册码:CiFUdqDDf9LFBLbdTOCMCvaO



--------------------------------------------------------------------------------
【经验总结】
  这篇文章没有什么技术含量,很抱歉让你花了这么多时间来看这个。
  
--------------------------------------------------------------------------------
【版权声明】:  转载请注明作者并保持文章的完整, 谢谢!

                                                       2008年12月05日 2:09:42

免费评分

参与人数 1威望 +1 收起 理由
Hmily + 1 精品文章

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

鬼手 发表于 2008-12-7 11:33
学习下。谢谢楼主分享!
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
谢谢楼主了!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 15:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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