SoftICE for WIN95中文命令解说(五)
程序员文章站
2022-03-12 16:49:22
SoftICE for WIN95中文命令解说(五) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: DATA 作用: 显示另一个数据窗口 语法: DATA [window-number] 用法: wi... 08-10-08...
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 长度的数据,如果数据不够长度,将重复数据,直到达到长度为止. 点评: 无
下一篇: 三国最可惜的猛将,颜良到底可惜在哪?