欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

鹦鹉螺网络助手破解 (5千字)

鹦鹉螺网络助手破解 (5千字)

软件介绍:
软件名叫鹦鹉螺网络助手,大小为708KB。可在下列网址download.
http://newhua.infosail.com/down/netranger170c.exe
鹦鹉螺网络助手是一个集成了用于TCP/IP协议的多种网络工具的应用软件。她基于Windows Socket2.0版
本,功能包括:Ping;Host lookup(主机查询);Finger(帐号查询);同步本地主机时钟的Time(网络时钟); WhoIs(域名查询);TraceRoute(路由跟踪);ISPPinger(以一定时间间隔持续ping同一台主机);QoD服务; 增强的快速拨号;支持多帐号的电邮检查等等。其他特性包括多功能的托盘图标,在线检查软件升级,获 得本机IP地址,将主机查询结果存入本地HOSTS文件等等。本软件适用于安装了TCP/IP协议的Windows 9x操作系统(包括Windows 95,97,98和Windows ME)。本软件需要有Microsoft Winsock 2.0或更高版本才 能正常工作。Windows 98及以上版本在安装时即已带有,而Windows 95用户可以从微软公司的网站下载有
关的升级包,也可以从鹦鹉螺工作室的主页下载一个拷贝

我用的工具:softICE 4.05.可在下列网址download
http://mud.sz.jsinfo.net/per/aaron/files/debuggers/win/si405w9x.zip
知识要求: 1。具备基本的汇编知识。
          2。懂得 softICE 的基本操作。
所用方法: 1.找注册失败点。
          2。找关键跳跃点。
          3。找关键CALL.
          4。找出注册码。

I。找注册失败点。
  运行软件NautiNW,注册软件。
1.  输入名字和注册码:
 
用户名:uhlan
注册码:78787878 (从 Error_Free 大哥处学来的,他可是我的启蒙老师哦!^^)
2.按 Ctrl-D 进入 softICE.
3.设断 BPX HMEMCPY 按 F5 返回 NautiNW.
4.按回车即被拦截, 不停地按F12,当按了21下时出现了注册失败的窗口。
5。按确定后,按F5 回到 NautiNW,按前面的步骤再来一次。
6。不停地按F12,不过这次是按了20下,就停住。按 F6, 再用 F9设一个断点。
7。不停地按F10,按到一定时候,会看到
  0177:00417AC2 CALL 00437436
8。 当我们再按一次时,失败的窗口就跳出来了。于是,这个CALL就是我们要找的失败点了。

II.找关键跳跃点。
9。再重新注册一次。按回车即被拦截. 由于刚才用 F9设了一个断点,现在就直接来到这里。
10。按 F10, 直到看到下列语句。
....
    0177:00417A54  TEST EAX,EAX  (EAX=0)
    0177:00417A56  JZ 00417AB4  (一跳就失败)
...
11.在 JZ 00417AB4 处 打入 rfl+z
12.再按F10,这时程序就不再跳跃了。
13.按F5退出softICE,这时就会出现注册成功的画面。

(从这里我们可以推测到,EAX 是一个标志位,当EAX=0时,表明输入注册码不正确,当 EAX 不等于 0时,表明输入注册码正确。所以,下一步,我们要找的就是那个CALL
负责在EAX设标志)。

III.找关键CALL
14. 再重新注册一次。按回车即被拦截.
15.  按 F10, 直到
....
  0177:00417A4F  CALL 00417C20
....

    0177:00417A54  TEST EAX,EAX  (EAX=0)
    0177:00417A56  JZ 00417AB4  (一跳就失败)
...
过了那个CALL后,我们可以看到 EAX已经被清零了。于是,可以
十分肯定地说,CALL 00417C20 就是我们要找的关键 CALL.
注册码的对比就在那个 CALL 里面。

IV. 找出注册码。
16。在 0177:00417A4F CALL 00417C20 按F9设断。再注册一次,
17。 在 0177:00417A4F CALL 00417C20 被拦截后,按F8进入这个CALL.
19. 不停地按F10,并留意 EAX的变化,看什么时候变0.
20.  终于,在这里,
.....
  0177:00417CE3  XOR EAX,EAX
.....
  ( 程序运行到这里把 EAX 清零后,就会跳出这个CALL,回到主程序,然后,就是对比EAX的值,再着
  失败窗口就出现了。
我们可以想到,程序肯定有一个地方对比注册码,然后再决定来不来到这里来吧 EAX 清零。)

21。再注册一次。
22。在 0177:00417A4F CALL 00417C20 被拦截后,按F8进入这个CALL
23,不停地按F10,不过这次是看那里的 JUMP 会跳过前面清零的步骤。
24。皇天不负苦心人!,终于,我们可以在这里找到线索。
  .....
    0177:00417C87  CALL 004232A0
    0177:00417C8C  ADD ESP,0C
    0177:00417C8F  MOV BYTE PTR [ESP+20],00
    0177:00417C94  TEST EAX,EAX          (检验标志位, EAX=1 则失败。 EAX=0 则成功 )
    0177:00417C96  LEA ECX,[ESP+28]
    0177:00417C9A  JNZ 00417CC9        (跳则失败,不跳则成功)
....
  (从这里,可以推断, EAX在这里变成另一个标志位的寄存器,而 CALL 004232A0 是设置这个新标志的关键CALL)

25. 于是,再重新注册一次。
26。 来到 0177:00417C87  CALL 004232A0 时,按 F8 进入。
27。 以下是我抄下来的 CALL 004232A0 内的程序。
                    PUSH EBP
                    MOV EBP,ESP
                    PUSH EDI
                    PUSH ESI
                    PUSH EBX
                    MOV ECX,[EBP+10]
                    JECXZ 004232D1
                    MOV EBX,ECX
                    MOV EDI,[EBP+08]
                    MOV ESI,EDI
                    XOR EAX,EAX
                    REPNZ SCASB
                    NEG ECX
                    ADD ECX,EBX
                    MOV EDI,ESI
                    MOV ESI,[EBP+0C]
                    REPZ CMPSB
                    MOV AL,[ESI-01] (下 d esi-01 的命令, 就可看到 78787878, 正是我们输入的号码)
                    XOR ECX,ECX
                    CMP AL,[EDI-01]  (下 d edi-01 的命令, 就可看到 xxxxxxxx, 正是要找的注册码,还不快抄下?)
                    JA 004232CF
                    JZ 004232D1        ( 不 jump 就失败) 
                    DEC ECX
                    DEC ECX
                    NOT ECX
                    MOV EAX,ECX        ( 将 EAX 的标志设为1)
                    POP EBX
                    POP ESI
                    POP EDI
                    LEAVE
                    RET
   
28.  用找到的注册码再重新注册。这次是真的成功了!!^^

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功