SoftICE for WIN95中文命令解说(一)
SoftICE for WIN95中文命令解说(一) SoftICE for WIN95中文命令解说(一)
Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei
命令: .
作用: 在代码窗口中定位当前指令
语法: .
用法:
当代码窗口可见时, .命令(点命令)使得当前的CS:EIP
所指向的指令可见, 并且高亮显示. 另外,此命令也把
SoftICE 从其他内存区域中切回原先弹出的内存区域.
详见后面的ADDR命令.
点评:
当你在代码窗口中上下浏览时,有可能走得很远, 那么
这时一个"." 命令会让你在下一瞬间回到SOFTICE当前
所在的CS:EIP处,再也用不着按PGUP,PGDOWN很多次了!
命令: ?
作用: 计算一个表达式的值
语法: ? 表达式
用法:
计算一个表达式的值.并以十六进制,十进制,带符号的
十进制(<0时有)和ASCII值多种形式显示计算结果.
点评:
一个非常高级的计算器, 诸如46578*1999+ESI 之类的
计算不会再让你烦恼,另外由于可以显示ASCII,所以可
以很方便地在各种数制之间察看.
命令: A
作用: 写入汇编代码
语法: A [地址]
用法:
用SICE内置的汇编器在内存中写入汇编代码.汇编器支
持标准的80x86指令集.包括386,486,Pentium,Pentium
-Pro,MMX,协处理器,新版的SICE还支持AMD的3D Now!,
PII,PIII的特有指令集.汇编将在A后的地址处开始.如
果在A后没有加地址, 那么汇编将在你上次汇编结束处
开始.如果你是第一次键入A命令,且没有追加地址那么
汇编将在当前CS:EIP处开始.另外,键入A命令后, 在单
独一行指令栏中键入USE16或USE32,将告诉汇编器是采
用16位还是32位指令,默认是和当前的CS寄存器的模式
一致.
点评:
这是和DOS下DEBUG.EXE的用法一样的命令.一般改程序
时,用A命令写入,再用CODE ON(见稍后)命令看代码,记
录原来的代码和改过的代码后再用工具软件如PCTOOLS
HACKVIEW之类查找修改.
命令: ADDR
作用: 在SoftICE中显示或是切换内存区域
语法: ADDR [内存区域句柄|过程名]
用法:
用来察看某一个任务的私有内存区域, 或是加参数[内
存区域句柄|过程名]在SoftICE中切换某一任务的私有
内存区域为当前可寻址的内存区域.
一些参数的显示:
.HANDLE 内存区域控制块的地址
.PGTPTR 每个任务私有页表的起址
.TABLES 每个私有页表中的表项数目
.MINADDR 每个任务的线性地址的起址
.MAXADDR 每个任务的线性地址的终址
.MUTEX VMM用于页表管理的句柄
.OWNER 使用这块内存区域的实例的名字
如果有多个相同名字的实例运行, ADDR带OWNER名字切
换的话,切到表中的第一个有此NAME的实例所占的内存
区域.所以带HANDLE切换的话比较精确. 当用ADDR加参
数后,可以用上面提到过的"."命令来回到SoftICE弹出
时所属的任务内存区域.
点评:
这个牵涉到CPU的保护模式寻址方式和WINDOWS 的内存
管理,由分段机构产生的32位线性地址要经过分页机构
再转化为物理地址,这要牵涉到两个表的寻址.WINDOWS
每次切换都将每个任务的私有页表拷贝到CR3寄存器所
指的当前页表中.而ADDR所作的和WINDOWS所作的一样.
所以当你在一个任务中弹出时,可以通过ADDR可以来看
别的任务的私有内存区域.
命令: ALTKEY
作用: 改变用来呼叫SoftICE的热键
语法: ALTKEY [ALT 字母 | CTRL 字母]
用法:
SoftICE默认的热键为CTRL+D, 用此命令可以将热键改
变,如果每次启动机器都要改, 则可以把这条命令放入
WINICE.DAT中.
这条命令是为了防止某些程序和SoftICE的热键相冲突
而设的.如:ALTKEY CTRL S 将热键改为CTRL+S
点评: 无.
命令: ALTSCR
作用: 切换SoftICE的视屏输出.
语法: ALTSCR [ON|OFF]
用法:
如果你有双显示器, 则这条命令将使SoftICE的窗口显
示在另一台单显上.注意,是老式的单显,不是VGA单显.
实际上在启动WINICE时可用参数/M强迫SoftICE用单显
来显示.也可在WINICE.DAT中加入初始化串.在WIN95中
用SoftICE自带的VIDEOSETUP可以很方便地设定.
例:ALTSCR ON 将使输出改变到单显上.
点评:
这条命令将使SoftICE同一些老显卡兼容, 也使调试变
得方便,试想一台显示器显示正常的图像, 另一台来显
示跟踪屏幕,免去了按F4看原画面的步骤, 在某些场合
还是用得上的. 以前的WDEB386调试器就非要双监视器
才能工作.而SoftICE只要一台显示器就行了,这是个很
大的进步,但为了和老传统兼容, 它也提供了这个命令
方便用户.
命令: ANSWER
作用: 自动监控通讯端口及将输出转移到MODEM
语法: ANSWER [on [com-port] [baud-rate] [i=init] | off]
用法:
此命令可以使SoftICE监控通讯端口, 并将输出改变到
一台远程的PC机上, 此远程PC机必须运行 SERIAL.EXE
(或SERIAL32.EXE).当SoftICE检测到远程PC上SERIAL.
EXE发来的特定信息, 就弹出, 告诉你现在将连上远程
PC,然后再退出窗口,联接完成.
一些参数:
.COM-PORT 串行通讯口,默认为COM1
.BAUD-RATE 1200, 2400, 4800, 9600,19200,23040,
28800,38400,57000,115000
其中38400为默认波特率.
.I=INIT MODEM的初始化字符串.
点评: 无,没有用过,不知道:-(