您的位置:首页精文荟萃破解文章 → SOFTICE 使用说明 第 三 章

SOFTICE 使用说明 第 三 章

时间:2004/10/15 1:00:00来源:本站整理作者:蓝点我要评论(0)

 

第 三 章 30分钟内学会 DEBUG

§3.1 序言

Soft-ICE 的所有动作都发生在一个可以随时叫出的视窗中。Soft-ICE 的所有指令都可以显示在一个小视窗中,但这个视窗可以扩大到整个萤幕。当你把 Soft- ICE 当做其它除错程式的助手使用时,你可能会使用小视窗。当你把 Soft-ICE 当独立除错器用时,你可能会使用大视窗。
如果你使用原来磁片上的设定档( S-ICE.DAT ),那视窗一开始是占满整个萤幕的。

§3.2 叫出视窗

载入 Soft-ICE 後,你可以随时叫出视窗。一开始你只要按 Ctrl - D 即可叫出 Soft-ICE 。使用 ALTKEY 的指令可以更改此热键。( 参阅 §5.8 )

§3.3 由视窗中返回

使用 X 这个指令或你叫出 Soft-ICE 的热键均可以回到原先的画面。你在Soft-ICE 中设定的所有中断点此时开始启动。

§3.4 改变视窗大小

你可以改变 Soft-ICE 视窗的宽度和高度。在独立模式中显示程式码时,改变视窗大小的功能特别有用。视窗的高度为 8 到 25 行。按

Alt - ↑ 使视窗变高
Alt - ↓ 使视窗变短

使用 WIN 的指令以改变视窗的宽度。( 参阅 §5.9 )直接输入 WIN 而不
加参数会在下面两种模式中切换:

WIDE 模式 --- 占满整个萤幕
NARROW 模式 --- 46 个字元宽

有些指令像 D 、E 、R 、U ,使用 WIDE 模式以显示更多讯息时较为方便。

§3.5 移动视窗

Soft-ICE 的视窗是可以移动且可以定位在萤幕上的任何地方。这功能在 NARROW模式下特别有用。在你需要时移动视窗以便观看萤幕上被视窗挡到的地方。你可以用下列按键控制萤幕的移动:

Ctrl - ↑ 向上移一行
Ctrl - ↓ 向下移一行
Ctrl - → 向右移一列
Ctrl - ← 向左移一列

§3.6 行编辑按键

Soft-ICE 容易使用的行编辑器让你可以叫回并编辑上一个指令。它的功能类似
那些有名的 CED 行编辑器。以下按键可以帮助你在命令窗中编辑指令:

→ --- 游标右移
← --- 游标左移
Ins --- 切换插入模式
Del --- 消除现在字元
Home --- 把游标移到一行的开头
End --- 把游标移到一行的结尾
↑ --- 显示上一个指令
↓ --- 显示下一个指令
Shift - ↑ --- 显示向上卷一行
Shift - ↓ --- 显示向下卷一行
Page Up --- 显示向上卷一页
Page Down --- 显示向下卷一页
BackSpace --- 消除前一个字元
Esc --- 取消目前命令

当游标在资料窗或程式码窗时,另有特殊的按键,这在後面将会讨论到。

§3.7 动作状态行

在萤幕底部的状态行提供指令语法的辅助。

§3.8 指令语法

Soft-ICE 是个由指令操控的除错工具。要令 Soft-ICE 有动作,你要下指令给
它。指令可以因不同参数而有改变。

所有的指令都是 1 到 6 个字元的字串且不分大小写。所有的参数都是字串或
运算式。

运算式是典型的数字,也可以是数字和运算子的结合。所有的数字均以 16 进
位表示。一个位元组 (byte) 参数有 2 位,字组 (word) 参数有 4 位。双字组
(double word) 是两个由 : 分隔的字组参数。以下是一些参数的例子:

12 --- 位元组参数
10FF --- 字组参数
E000:0100 --- 双字组参数

暂存器在运算式中可以拿来当位元组或字组参数用。例如: U CS:IP -10 的指
令会从现在指令指标所指位址向前 10 byte 开始反组译。以下的暂存器名称可以用
在运算式中:

AL 、AH 、AX 、BL 、BH 、BX 、CL 、CH 、CX 、DL 、DH 、DX 、DI 、
SI 、BP 、SP 、IP 、CS 、DS 、ES 、SS 、FL

§3.8.1 指定记忆体位址

许多 Soft-ICE 的指令要求以记忆体位址当参数。一个记忆体位址是由两个
16 位元的字组中间以分号 (:) 分隔而组成的。第一个字组表示节段位址 (segment
address) 而第二个字组表示差距位址 (offset segment) 。

公用符号可以在所有 Soft-ICE 指令中用来取代位址。公用符号必需先由
Soft-ICE 的程式载入器 (LDR.EXE) 载入。参阅第七章以取得使用公用符号的完
整说明。

Soft-ICE 运算式的运算器接受一些特殊字元和位址的使用。这些字元是:

$ --- 现在 CS:IP 所指的位址
@位址 --- 间接双字组
.number --- 原始程式码行号

当你要输入目前指令指标的位址时,可以用 $ 代替 CS:IP 。

使用 @ 可以让你参考到位址所指处的双字组。你可以使用多层的 @ 。

如果用 . 来代表位址,它是用来代表原程式码中的行号,而非实际的位址。
这只有在原始程式码有载入的情形下才能使用。这种情况下,位址是以 10 进位
表示。

例如:

U.1234 --- 从原始程式码第 1234 行开始反组译
U $-10 --- 从目前指令指标所指处向前 10 byte 开始反组译
G @SS:SP --- 假如你目前正在第一个中断程序,下这个指令会在堆叠的
返回位址设个暂时中断点并跳过此中断程序。

§3.9 功能键

功能键可以代替一串 Soft-ICE 中之指令。功能键可以由命令行设定或从
S-ICE.DAT 中定义。

Soft-ICE 磁片上原来的 S-ICE.DAT 已经对 12 个功能键有设定。你可以在任
何时候改变任何一个设定。个键定义如下表所示。这样设计是为了方便微软的
CodeView 的使用者。

F1 --- 显示一般辅助画面 ( H; )
F2 --- 在暂存器窗中切换 ( ^WR; )
F3 --- 改变目前原始码的模式 ( ^SRC; )
F4 --- 回复视窗 ( ^RS; )
F5 --- 回到原程式 ( ^X; )
F6 --- 在命令窗中和程式码窗中切换 ( ^EC; )
F7 --- 执行到游标所在那行 ( ^HERE; )
F8 --- 单步执行 ( ^T; )
F9 --- 在游标所在那行设中断点 ( ^BPX; )
F10 --- 单步执行 ( ^P; )
F11 --- 执行到返回位址 ( ^G @SS:SP; )
F12 --- 显示 Soft-ICE 的版别 ( ^VER; )

指令前的 ^ 会让这个指令不显示出来。指令後的 ; 则代表按下 Enter 。输入
FKEY 的指令可以显示目前功能键所代表的意义。要使用功能键直接按下功能键即可
,不需再键入指令。要自定功能键,参阅 §5.8 FKEY 指令的解说或第六章有关
在 S-ICE.DAT 设定功能键的部份。

§3.10 辅助

利用辅助的指令可以得到有关指令的简单解说、语法和使用例子。要得到辅助
的资讯,键入:

? 或 H --- 显示所有指令和运算子的简短解说

? 指令 或 H 指令 --- 显示关於指令语法和例子更详细的资讯

? 运算式 或 H 运算式 --- 把运算式的结果以 16 、10 进位及 ASCII 码
显示出来

§3.11 课程

(好多喔....偷懒一下,跳过去吧!)


┌——————————————————┐
│ 第 二 节 指 令 │
└——————————————————┘

第二节包括每个指令的语法、解释及范例。所有的数字均以 16 进位表示。使
用到 + - * / 或暂存器的数字均可视为运算式。所有的指令都不区分大小写。指令
语法叙述中的斜体字需以真实的值代替而不是打入斜体字。

以下是本节中所使用的代号:

[ ] --- 语法中非必用的部份

< > --- 可选用的部份

X|Y --- 使用 X 或 Y ( X Y 择一使用 )

count --- count 指定中断点条件要成立几次才会真正引发中断。如果没
有设定,内定值是 1 。每次引发中断而叫出 Soft-ICE 的视窗
後,记数器自动回复为原先指定值。

verb --- 指定在什麽状况下中断点会做用。R 代表读取;W 代表写入;
RW 代表读取及写入;X 代表执行。

address --- 位址。由两个 16 位元之字组以冒号分隔而组成。第一个字组
代表区段位址,第二个字组代表差距位址。位址可以由符号或
暂存器构成,也可以包括 $ 、. 、@ 等特殊符号。参阅
§3.8 以取得更多资讯。

break-number --- 中断点号码是在你修改中断点(即编辑、删除、重新启动
、暂停作用)时使用的。它是用来代表各中断点的代码。
中断点号码是由 0 到 F 。

list --- 一串由逗号或空白分隔的中断点号码。

mask --- 由 1 、0 、X 所构成的位元遮罩。X 代表不处理的位元。

例如: BPIO 21W EQ M 1XXX XXXX
如果 21 埠被写入且造成其高位元被设定则会引发中断。


    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程