欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-06-22 19:35:09
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 长度的数据,如果数据不够长度,将重复数据,直到达到长度为止. 点评: 无