📄 lesson5013.htm
字号:
<font face="宋体" color="#000000">里面</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">条件只能是下面三种之一</font> <font face="Times New Roman" color="#000000">:</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">bpint xx ah=ab</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">bpint xx al=cd</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">bpint xx ax=abcd</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 而在</font> <font face="Times New Roman" color="#000000"> WINICE 3.0 </font>
<font face="宋体" color="#000000">里面</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">条件的格式丰富得多</font> <font face="Times New Roman" color="#000000">:</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">bpint xx if ah==ab</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">bpint xx if al==cd</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">bpint xx if ax==abcd</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">bpint xx if dx->4==abcd (</font>
<font face="宋体" color="#000000">当</font> <font face="Times New Roman" color="#000000"> DS:DX+4 </font>
<font face="宋体" color="#000000">处的值为</font> <font face="Times New Roman" color="#000000"> 0xabcd </font>
<font face="宋体" color="#000000">的时候</font> <font face="Times New Roman" color="#000000">)</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 还有一些</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">不是很常用</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">等到用的时候再说吧</font> <font face="Times New Roman" color="#000000">.</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> ;)</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(5) BPX: </font>
<font face="宋体" color="#000000">设置执行地址断点</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">格式为</font> <font face="Times New Roman" color="#000000"> "BPX </font>
<font face="宋体" color="#000000">地址</font> <font face="Times New Roman" color="#000000">", </font>
<font face="宋体" color="#000000">还以上面的例子来说</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">假如我们执行</font> <font face="Times New Roman" color="#000000"> bpx 486, </font>
<font face="宋体" color="#000000">然后来一把</font> <font face="Times New Roman" color="#000000"> G 4F9 </font>
<font face="宋体" color="#000000">的话就不会一</font> <font face="Times New Roman" color="#000000"> G </font>
<font face="宋体" color="#000000">到底了</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">因为我们在那个判断处设了断点</font> <font face="Times New Roman" color="#000000">, WINICE </font>
<font face="宋体" color="#000000">会执行到</font> <font face="Times New Roman" color="#000000"> 2400:0486 </font>
<font face="宋体" color="#000000">然后停下</font> <font face="Times New Roman" color="#000000">;</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">BPX </font>
<font face="宋体" color="#000000">的第二种用法是我们这个教程的关键</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">格式为</font> <font face="Times New Roman" color="#000000"> "BPX </font>
<font face="宋体" color="#000000">函数名</font> <font face="Times New Roman" color="#000000">". </font>
<font face="宋体" color="#000000">这个函数名可以是任意一个</font> <font face="Times New Roman" color="#000000"> Windows API </font>
<font face="宋体" color="#000000">函数</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">虚拟机指令</font> <font face="Times New Roman" color="#000000">, DLL </font>
<font face="宋体" color="#000000">的引出函数等等</font> <font face="Times New Roman" color="#000000">. </font>
<font face="宋体" color="#000000">功能强劲</font> <font face="Times New Roman" color="#000000">. </font>
<font face="宋体" color="#000000">比如说</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">我们先启动</font> <font face="Times New Roman" color="#000000"> Notepad, </font>
<font face="宋体" color="#000000">然后在里面随便敲些东东</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">然后按</font> <font face="Times New Roman" color="#000000"> Ctrl+D, </font>
<font face="宋体" color="#000000">执行</font> <font face="Times New Roman" color="#000000">:</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">:bpx messageboxa</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> (</font>
<font face="宋体" color="#000000">不用区分大小写</font> <font face="Times New Roman" color="#000000">)</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">:g</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 然后关闭</font> <font face="Times New Roman" color="#000000"> Notepad, </font>
<font face="宋体" color="#000000">这时</font> <font face="Times New Roman" color="#000000"> WINICE </font>
<font face="宋体" color="#000000">会被激活</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">原因是断点条件已经符合了</font> <font face="Times New Roman" color="#000000">. Notepad </font>
<font face="宋体" color="#000000">此时将弹出一个消息框提醒你存盘</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">这就进入了</font> <font face="Times New Roman" color="#000000"> MessageBox </font>
<font face="宋体" color="#000000">函数</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">后面加一个</font> <font face="Times New Roman" color="#000000"> A </font>
<font face="宋体" color="#000000">是由于我们现在在</font> <font face="Times New Roman" color="#000000"> Windows 95 </font>
<font face="宋体" color="#000000">里面</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">函数是区分字符集的</font> <font face="Times New Roman" color="#000000">. A </font>
<font face="宋体" color="#000000">表示</font> <font face="Times New Roman" color="#000000"> ANSI, W </font>
<font face="宋体" color="#000000">表示</font> <font face="Times New Roman" color="#000000"> Wide, </font>
<font face="宋体" color="#000000">即</font> <font face="Times New Roman" color="#000000"> Unicode (Wide character-set).</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(6) BPM: </font>
<font face="宋体" color="#000000">设置内存访问断点</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">格式为</font> <font face="Times New Roman" color="#000000"> "BPM </font>
<font face="宋体" color="#000000">地址</font> <font face="Times New Roman" color="#000000">"; </font>
<font face="宋体" color="#000000">比如</font> <font face="Times New Roman" color="#000000">: BPM F000:E6F9 </font>
<font face="宋体" color="#000000">会把断点设在内存中存放</font> <font face="Times New Roman" color="#000000"> BIOS </font>
<font face="宋体" color="#000000">更新版本号的内存位置上</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">只要有程序访问这个地址</font> <font face="Times New Roman" color="#000000">, WINICE </font>
<font face="宋体" color="#000000">就会激活</font> <font face="Times New Roman" color="#000000">. </font>
<font face="宋体" color="#000000">另外</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">还可以单独设定对地址的访问条件</font> <font face="Times New Roman" color="#000000">: </font>
<font face="宋体" color="#000000">读</font> <font face="Times New Roman" color="#000000">(R)/</font>
<font face="宋体" color="#000000">写</font> <font face="Times New Roman" color="#000000">(W)/</font>
<font face="宋体" color="#000000">执行</font> <font face="Times New Roman" color="#000000">(X). </font>
<font face="宋体" color="#000000">只需要在后面把对应的字母加上就可以了</font> <font face="Times New Roman" color="#000000">. </font>
<font face="宋体" color="#000000">以那段</font> <font face="Times New Roman" color="#000000"> "</font>
<font face="宋体" color="#000000">一</font> <font face="Times New Roman" color="#000000"> G </font>
<font face="宋体" color="#000000">到底</font> <font face="Times New Roman" color="#000000">" </font>
<font face="宋体" color="#000000">为例</font> <font face="Times New Roman" color="#000000">:</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">:bpm 2400:0486 x</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">:g</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 和</font> <font face="Times New Roman" color="#000000"> bpx 486 </font>
<font face="宋体" color="#000000">的效果完全一样</font> <font face="Times New Roman" color="#000000">.</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(7) BMSG: </font>
<font face="宋体" color="#000000">跟踪</font> <font face="Times New Roman" color="#000000"> Windows </font>
<font face="宋体" color="#000000">消息</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">格式为</font> <font face="Times New Roman" color="#000000"> "BMSG </font>
<font face="宋体" color="#000000">消息名</font> <font face="Times New Roman" color="#000000">"; </font>
<font face="宋体" color="#000000">比如我们执行</font> <font face="Times New Roman" color="#000000"> Notepad, </font>
<font face="宋体" color="#000000">然后</font> <font face="Times New Roman" color="#000000"> Ctrl+D </font>
<font face="宋体" color="#000000">激活</font> <font face="Times New Roman" color="#000000"> WINICE, </font>
<font face="宋体" color="#000000">输入</font> <font face="Times New Roman" color="#000000">:</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">:bmsg wm_char</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">:g</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 然后回到</font> <font face="Times New Roman" color="#000000"> Notepad </font>
<font face="宋体" color="#000000">中</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">随便按一个键</font> <font face="Times New Roman" color="#000000">, WINICE </font>
<font face="宋体" color="#000000">就激活了</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">原因在于我们在按键消息上设置了断点</font> <font face="Times New Roman" color="#000000">.</font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -