SoftICE for WIN95中文命令解说(一)
程序员文章站
2022-07-03 09:47:19
SoftICE for WIN95中文命令解说(一) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: . 作用: 在代码窗口中定位当前指令 语法: . 用法: 当代码窗口可见时, .... 08-10-08...
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(见稍后)命令看代码,记录原来的代码和改过的代码后再用工具软件如pctoolshackview之类查找修改. 命令: 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的初始化字符串. 点评: 无,没有用过,不知道:-(