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

📄 db16.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>哇哈..我来啦!
        现在又来讲解破解技术啦! 希望大家都能学有所成才好 以免又有一大堆人
询问破解码了 这样就太不好了 毕竟还是要自个去破解才好玩不是吗? 当然还是不太
希望大家都将新的GAME破解公怖出来 以免程式设计师没饭吃 毕竟开发出一套产品是
很花时间及金钱的 所以希望大家共勉之。


解 妖魔道 追踪过程
C:\YMD>DEBUG ST.EXE (15968 BYTE 用UP.EXE 解压缩)
-U 08B2
28C7:08B2 8E1E1A00      MOV     DS,[001A]
28C7:08B6 33F6          XOR     SI,SI
28C7:08B8 33FF          XOR     DI,DI
28C7:08BA B9007D        MOV     CX,7D00
28C7:08BD F3            REPZ
28C7:08BE A5            MOVSW
28C7:08BF B8362B        MOV     AX,2B36
28C7:08C2 8ED8          MOV     DS,AX
28C7:08C4 833E910B01    CMP     WORD PTR [0B91],+01
28C7:08C9 7521          JNZ     08EC
28C7:08CB E88101        CALL    0A4F
28C7:08CE 833E930B01    CMP     WORD PTR [0B93],+01
28C7:08D3 7513          JNZ     08E8
28C7:08D5 C706910B0000  MOV     WORD PTR [0B91],0000
28C7:08DB C706930B0000  MOV     WORD PTR [0B93],0000
28C7:08E1 83061E0001    ADD     WORD PTR [001E],+01
28C7:08E6 EB02          JMP     08EA
28C7:08E8 EB1D          JMP     0907
28C7:08EA EB03          JMP     08EF
28C7:08EC E98FFE        JMP     077E
28C7:08EF 833E1E0003    CMP     WORD PTR [001E],+03

当进入妖魔道询问密码的地方时 也就是 画面上『请输入第一次密码』 按下 CTRL+D 中断
便会看到以上程式段 应该都停在 28C7:08BD F3  REPZ 这个指令位址上 等待您输入密码
往下找几行就是判断密码的地方罗! 也就是 28C7:08D3 7513  JNZ  08E8 罗! 聪明的您应
该知道如何修改了吧!                 PS:^^^^^^^^^以上这个位址会随记忆体而变动 所
                                                以请不用担心! 这是正常现象。

这套GAME画面不错.值得玩家购买唷! 请给大宇公司一些支持及鼓励 相信国内GAME会更好
当然也需要大家的认同罗! 附带一题:就是破解密码只是为了原版使用者的方便 请勿将破
解码随意散播 。本文件纯属讨论性质 请勿用在非法地方 本人保留著作权 请勿更改。
这套GAME很适合初学者一尝破解的快感 相信对您的信心一定可以大增。

8259补充说明:

    8259为一种可程式化的优先序岔断控制器,所有PC周边硬体的岔断均
必须透过这个元件来触发所对应的岔断处理程式。以下我们先说明8259的
硬体特性。8259共分成四个启始命令字组ICW和三个操作命令字组OCW,前
者做为初始化时使用,後者则可供程式自行使用。8259初始化的过程为∶

    送出ICW1
    送出ICW2
    if 串接模式 then 送出ICW3
    if 需要ICW4 then 送出ICW4

各启始命令字组的意义为∶

1.ICW1
    位元7~5 = 岔断向量位址(只用在MCS-80模式)
    位元4    = 固定为1
    位元3    = 0为边缘触发(edge trigger)
               1为位准触发(level trigger)
    位元2    = 呼叫位址间隔(只用在MCS-80模式)
               0为呼叫位址间隔8
               1为呼叫位址间隔4
    位元1    = 0为串接模式(cascade mode)
               1为单一模式(single mode)
    位元0    = 0不需要ICW4
               1需要ICW4
说明∶8259除了可供8088系列使用外,也可供MSC-80系列使用,因此当任
      何位元若标明只使用在MSC-80模式时,PC上均不需使用。另外,由
      於PC上使用的是8088系列的CPU,必须利用ICW4指定为8088模式,
      因此本启始命令的位元4、1均必须固定为1,位元7~5、2则可为0
      可为1。至於采用何种触发方式,则依电路特性而定,PC上通常采
      用边缘触发,因此位元3也大致固定为0。比较有争议的是位元1的
      值。在旧型的PC/XT上,由於只使用一个8259做为岔断控制用,因
      此必须使用单一模式,故它的初值为13h。但到了PC/AT时,由於系
      统功能加强,原来的一个8259已不敷使用,於是便扩增为两个8259
      串接在一起,因此这两个8259便都必须使用初值11h。

2.ICW2
    (1) MCS-80模式
        位元7~0 = 岔断向量位址
    (2) 8088模式
        位元7~3 = 岔断向量位址
        位元2~0 = 固定为0
说明∶这个命令是用来设定硬体岔断时,所要执行的岔断向量启始值。
      PC/AT的第一个8259触发的岔断在08h~0Fh,因此初值为08h;第二
      个8259触发的岔断在70h~77h,因此初值为70h。这些初值若在不
      影响系统的岔断功能下,是可以随意改变的。

3.ICW3
    (1) 主控制器(master device)
        位元7~0 = 各位元分别表示IRQx是否有串接另一个8259控制器,
                   0表示没有,1表示有。
    (2) 次控制器(slave device)
        位元7~3 = 固定为0
        位元2~0 = 次控制器的识别码。
说明∶这个初始命令必须有两个以上的8259串接在一起时才使用的,因此
      PC/XT并不使用这个初始命令。至於PC/AT上的两个8259,由於是串
      接在IRQ2上的,因此主控制器(也就是第一个8259)的初值便必须
      为04h。至於次控制器,由於必须配合所串接的IRQ来做编号,因此
      次控制器的初值便必须为02h,否则无法正常工作。

4.ICW4
    位元7~5 = 固定为0
    位元4    = 0为非特别全巢状模式
               1为特别全巢状模式
    位元3~2 = 0x 不带缓冲模式
               10 主控制器带缓冲模式
               11 次控制器带缓冲模式
    位元1    = 0表非自动结束岔断(EOI)
               1表自动结束岔断
位元0    = 0表MSC-80模式
               1表8088模式
说明∶特别全巢状模式(special fully nested mode),主要用在大系
      统中使用多个8259串接模式时,以便规划不同的岔断权限,详细资
      料请参阅相关书籍。通常我们均使用非特别全巢状模式,也就是初
      始化时以IRQ0优先权最高,IRQ7最低(这个优先权是可以改变的)。
      而在某个岔断发生处理时,优先权更高的岔断允许再发生,以岔断
      目前正在处理的岔断,而相同或较低优先权的岔断则不允许发生。
      至於是否要规划成缓冲模式,必须视所连接系统之Data Bus线路而
      定。对於是否使用自动结束岔断,则由作业系统或岔断处理程式的
      设置程式来决定。一般使用自动结束岔断对於岔断处理程式会比较
      方便些,不会因忘了送出EOI命令(参阅OCW2命令)而使得系统功
      能停止或当机。但是它最大的缺点是,如果相同的IRQ岔断一再发
      生,而该岔断程式又使用了STI命令允许岔断发生时(为了让更高
      优先权的岔断产生),则可能造成岔断程式再被岔断,导致重入问
      题,以及岔断顺序更动等问题。因此在绝大部份的情况下,大都会
      采用非自动岔断结束,在PC上亦然。不过若使用非自动EOI的结束
      方式时,岔断处理程式在处理完岔断後必须送出一个EOI命令给8259,
      表示岔断已处理完,否则8259便视为该岔断未结束而不再产生下个
      岔断了。
备注∶关於本初始命令的初值,由XT的BIOS查得为09h,由286 AT的BIOS
      查得为01h,也就是前者采用缓冲模式,後者并不采用缓冲模式。
      经查阅有关8259零件的手册,其中说明缓冲模式主要用在具有BUS
      驱动缓冲区的Data Bus,由8259的SP/EN讯号来控制缓冲区。当不
      是缓冲模式时,这个讯号接脚在主控制器上必须接Vcc,而在次控
      制器上则必须接地。再查阅86 XT和286、386 AT的线路图,发现确
      实XT的设计电路是使用缓冲模式,而286、386 AT的设计电路则为
      非缓冲模式。因此在初始化时,必须依PC的种类而有不同的初始化
      值(事实上,XT只有一个8259,在初始化过程方面便一定会有不太
      一样的地方,必须与AT分别处理),如果未与设计的电路做好匹配
      的规划,则有当机之虞(但并不一定会当机。据作者实际测试过,
      在某些AT上将8259规划成缓冲模式会当机,而在某些AT上则不管是
      否规划成缓冲模式却仍都正常工作,这和主机电路板的线路设计有
      关)。



</XMP></BODY></HTML>

⌨️ 快捷键说明

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