SoftICE for WIN95中文命令解说(五)

要改变消费者固有的想法,比登太阳还难;但不是不可能的。那一天,你坐在窗前,阳光刚好落在你好看的脸颊。那一瞬间,我突然为你心动。
SoftICE for WIN95中文命令解说(五) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: DATA 作用: 显示另一个数据窗口 语法: DATA [window-number] 用法: window-number: 所要选择的窗口号,0,1,2,3SoftICE最多支持4个数据窗口.每一个窗口可以独立按自己的格式显示数据. 但同一时刻只能显示一个窗口.如果用DATA窗口不带任何参数, 将按0,1,2,3的次序显示各个窗口中的内容.在数据窗口的右上角的横线上有窗口序号的提示. 点评: 可以很方便地对多个目标的进行观察 命令: DEX 作用: 在数据窗口中显示(或赋予)某个表达式 语法: DEX [data-window-number [expression]] 用法: data-window-number: 即DATA命令中所讲的0,1,2,3号 数据窗口DEX 命令可以为每一个数据窗口赋予一个表达式,每次SoftICE弹出该表达式就被重新计算, 并显示在相应的数据窗口中.这对某些指针非常有用. 指针可以放在寄存器中或是在内存变量中,如下二例:DEX 0 SS:ESP 每次SoftICE弹出, 就在0号数据窗口中显示堆栈的值DEX 1 @pointervariable 每次SoftICE弹出, 就在1号窗口中显示由pointervariable指针所指的内存单元的内容.(@ 操作符后有论述).用DEX不带参数将显示当前在各个数据窗口中所赋予的表达式. 用 DEX data-window-number(不跟表达式)将取消前次赋予窗口的表达式. 点评: 相当于自动化的D命令. 命令: DIAL 作用: 将控制台重定向到MODEM 语法: DIAL [on [ com-port] [ baud-rate] [i=init-string] [p=number] | off] 用法: COM-PORT : 串行通讯口,默认为COM1BAUD-RATE: 1200,2400,4800, 9600, 19200, 23040, 28800,38400(默认),57000,115000I=INIT : MODEM的初始化字符串.p=number : 电话号码DIAL 命令通过拨号与远程电脑取得联系, 远程电脑必需正在运行SERIAL.EXE且在等待对方拨号.一旦联接完成,SoftICE的的输入将来自远程计算机,输出也重定向到远程计算机.本地计算机除了激活的热键外不接收其他对SoftICE的输入.当远程机结束调试后,用DIAL OFF来挂断MODEM. 点评: 前次的ANSWER命令是等远程机拨号过来,而DIAL是拨过去.有机会试一下这两个命令就好了. 命令: E 作用: 修改内存单元 语法: E[size] [address [data-list]] 用法: size : B 字节;W 字;D 双字;S 短实型;L 长实型 ;T 10字节的实型data-list: 要修改的值,(和size类型一致) 可用单引 号或双引号来输入字符串.如果键入没有data-list参数的E 命令, 光标将切换到数据窗口并定位到所指定的内存单元,等待使用者相应的操作.如果加跟data-list参数,则内存单元立刻被修改为所指定的值.数据窗口当前如果不可见, 则键入E 命令将使之可见.在修改中可以用TAB键在ASCII与十六进制方式之间切换. 点评: 无 命令: EC 作用: 进入或退出代码窗口 语法: EC 用法: EC 命令使得光标在代码窗口和命令窗口之间切换. 如果代码窗口当前不可见,则键入 EC 命令后将自动可见当光标在代码窗口中时,使用者可以利用 SoftICE的几项快捷功能:1.可以在光标处设断点,直接打BPX不跟地址,更方便的是按F9快捷键,再执行一遍将清除当前所在的断点2.可以用HERE 命令来设个临时断点, 所谓临时断点好象DEBUG中的G命令,也可用F7快捷键来实现.3.在代码窗口中时,也可用上下光标键,PageUp,PageDn来翻页,上下浏览.另外,当用户调试源文件时,可以用:Ctrl Home , 到源程序的第一行Ctrl End , 到源程序的最后一行Ctrl 左右光标, 水平察看源程序 点评: 实际上可以用Ctrl 光标,Ctrl PgUp,Ctrl PgDn来直接翻页 命令: EXIT 作用: 强行退出DOS程序或WINDOWS程序 语法: EXIT 用法: 这个命令在PDF手册中说95已经不被支持, 实际上还是有用的. 特别是当开个DOS VM跑时,用EXIT退出还是偶尔会用到.EXIT实际上是强行执行一个INT 21h AH==4C所以在DOS VM和保护模式的ring3还是有可能正常退出.只是有可能而已. 点评: 在WIN95(Protected)下除非你很肯定, 否则不要用EXIT.一不小心,你的机器将会死得很难看! 命令: EXP 作用: 显示DLL中的出口函数 语法: EXP [[module!][partial-name]] | [!] 用法: module! : 对所指定的模块列出出口函数(注意要 加 ! 惊叹号)partial-name: 指定出口函数的前几个字符, 可以用? 来做替代不定字符. (注意要跟紧前面 的module!)! : 只跟! 表示列出SoftICE当前已加载出 口函数表的模块.WIN95中SoftICE自动加载KERNEL,USER,GDI的出口函数表.你也可以通过WINICE.DAT或SoftICE 的LOADER (加载器)来加载更多的出口函数列表. 点评: 比较常用的DLLs,DRVs都在WINICE.DAT中有了, 用户只要修改为相应的路径就能每次开机自动带入.这样带来的好处是:1.可以在反汇编时直接看到调用接口.2.可以直接在函数上下断点 命令: F 作用: 填充某一块内存区域 语法: F address l length data-list 用法: length : 字节长度data-list: 所要填的数据. 可以是用单引号或双引号 括起来的字符串执行F 命令将向所指定的内存区域填充length 长度的数据,如果数据不够长度,将重复数据,直到达到长度为止. 点评: 无

本文SoftICE for WIN95中文命令解说(五) 到此结束。一个华丽短暂的梦,一个残酷漫长的现实。小编再次感谢大家对我们的支持!