⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db20.htm

📁 debug编程的教程
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0050)file://\\Server\pub\Hacker\Documents\JM\jm1-01.txt -->
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY><XMP>HJOKE.CFG  线上笑话外部程式设定档    软体作者:Arthur Hse
          ;第一行请输入您的站名
          朋友俱乐部 专业站                    <---本站站名
          ;第二行请输入您的ID
          Yu Hwang                             <---本人ID
          ;第三行请输入您的注册码
          28173900                             <---刚开始不知道注册码 所以就
          ;第四行请输入您所以产生的档案名称        先以本站电话当注册码
          C:\HJOKE\HJOKE.ANS

          先载入 S-ICE 之後

          C:\>CD HJOKE       <--- 按 ENTER 输入

          C:\HJOKE>HJOKE.EXE <--- 先按 CTRL+D 切入 S-ICE 除错画面之後
                                  输入指令BPINT 21 AH=3D 去拦开档的动作
                                  此时再下指令 BL 就可以看到如下画面:
                                  0)  BPINT 21 AH=3D C=01
                                  已经下了一个中断点罗!
                                  也就是说当程式有用到这个 INT 21 AH=3D 开档
                                  的动作时 就会产生中断啦!
                                  若上面动作都已完成的话 输入指令 G 执行

          C:\HJOKE>HJOKE.EXE <--- 也是会停到这个画面 按 ENTER 执行罗!

          就当按下 ENTER 之後..您应可发现 此时应该是产生中断 跳到S-ICE的除错画
          面 应可看到如下画面:
                              MOV AH,3D
                              INT 21   ;open a file    <--- 此时光棒停在这行

          再输入指令 E DS:DX 就可以看到 目前正开启的档案名称应该是 HJOKE.CFG

          再输入指令 S DS:0 L FFFF "28173900"  <--- 目的是为了在记忆体中找寻
                                                    我们刚刚所乱填的注册码的
                                                    位址。
                                                    应可找到在 DS:FEF0 的位址
                                                    如下图所示:
-D DS:FEF01D6C:FEF0  00 00 00 00 32 38 31 37-33 39 30 30 00 4A 4F 4B   ....28173900.JOK
1D6C:FF00  45 2E 43 46 47 00 00 00-00 00 00 00 00 00 00 00   E.CFG...........
1D6C:FF10  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
1D6C:FF20  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
1D6C:FF30  00 00 00 00 00 00 00 00-00 00 00 00 2E 38 30 0A   .............80.
1D6C:FF40  00 C1 AB E1 A5 4C A7 E2-A5 5D B8 CB A6 6E AA BA   .....L...]...n..
1D6C:FF50  A5 D6 BE 63 B0 65 A8 EC-B3 6F A6 EC A4 70 A9 6A   ...c.e...o...p.j
1D6C:FF60  AA BA A4 E2 A4 A4 A1 43-00 00 00 DC A1 48 A1 7A   .......C.....H.z

          再输入指令 BC 0    <--- 清除原先设定的中断点 BPINT 21 AH=3D
                                  因为我们已找到注册码所存放的记忆体位址啦!
                                  所以这个中断已不需要罗!

          再输入指令 BPM DS:FEF0  <---这行指令就是 当程式有去读取 DS:FEF0 的位
                                      址时 就发生中断罗! 也就是程式去动到注册
                                      码的位址。

          下好中断之後 我们再按 G 执行吧!
          此时会产生中断 如下图所示:

          CMP AL,[DI+01AD]          DS:01AD=00   <--- 此时光棒会停在此行
          JNZ 0362      <--- 比较注册码是否正确 若不正确就跳到 0362 去执行

          再下指令到 E DS:01AD 去看记忆体状况 往前找找就可以看到如下画面:

-D DS:0194
1D6C:0194              42 36 38 44-31 36 33 34 00 42 31 45     ..B68D1634.B1E
1D6C:01A0  39 33 43 34 37 44 32 46-36 30 38 41 35 00 31 32   93C47D2F608A5.12
1D6C:01B0  33 34 35 36 37 38 39 41-42 43 44 45 46 00 00 0A   3456789ABCDEF...
1D6C:01C0  00 0B 00 06 00 08 00 00-00 05 00 0E 00 0D 00 07   ................
1D6C:01D0  00 03 00 02 00 04 00 09-00 01 00 0C 00 08 00 06   ................
1D6C:01E0  00 00 00 0A 00 05 00 0F-00 0B 00 03 00 0C 00 07   ................
1D6C:01F0  00 02 00 0D 00 04 00 0E-00 09 00 01 00 06 00 01   ................
1D6C:0200  00 0A 00 00 00 0D 00 07-00 04 00 02 00 0E 00 0C   ................
1D6C:0210  00 09                                             ..

          看到了没呀! B68D1634 这就是真正注册码罗! 赶快抄起来吧!
          PS:因为每个人的ID会不一样 所以注册码当然都会不一样罗!
             所以你不用担心。

          您此时可以将注册码填到 HJOKE.CFG 的注册码栏试试 再执行一次看看
          哇哈!..由原本的 [未注册版本] 已改为 [已注册版本] 罗! 帅不帅呀!
          当然你也可以将 JNZ 0362 的地方改为 NOP 90 也是可以达到相同效果。
          最後再为我赞美一下吧!....嘻!

===============================================================================

          再举例一个破解范例给大家参考吧!
          底下是 蓝波快信 3.06 版 (架站用) 的设定画面
          就是执行 BWSETUP.EXE

       The Blue Wave Mail Door Setup Utility, v3.06 for ProBoard v2.10

   谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪 General Information 目
   * BBS Name:                                                             *
   * 朋友俱乐部 专业站                                                     *
   * Your REAL Name (never seen by users) : Yu Hwang                       *
   * Name as SysOp (displayed to users)   : Yu Hwang                       *
   * Name of mail packets created by door : FRIEND                         *
   * Blue Wave Door Registration Number   : 281739                         *
   媚哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪*
   * Default Network Address Information:                                  *
   * Zone: 39    Net: 39     Node: 1     Point: 0                          *
   * Origin: 朋友俱乐部专业站,24HR,28.8K,5GB,039-281739                    *
   媚哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪*
   * Files displayed to the user when entering the READER:                 *
   *           Filename      SecLvl    Flags                               *
   * File #1 :                    0    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -