SoftICE实例起步(Windows版)
为了以后说话方便, 这里把 Soft-ICE 的一些简单使用方法说一下, 以免不通 E 文 的同志们找不到中文的 Soft-ICE 说明而抓瞎.
Soft-ICE 由三部分 (以后说的 Soft-ICE, 如果不加特殊说明, 均指 Soft-ICE for Windows 95 的 2.0 版本以上) 组成: WINICE.EXE, WLDR.EXE (在 3.0 中这个文件叫做 LOADER32.EXE) 和显示驱动程序 SIWVID.386.
另外, Soft-ICE 在启动的时候要装入一些 DLL/EXE 的函数名信息, 你必须手工指定 这些 DLL, 按照:
exp=d:\path\name.ext
的格式写在 WINICE.DAT 文件里. 本文附录里面有俺用的 WINICE.DAT, 你可以直接 用起来, 省得自己写那么多行了. 注意, 一定要把下面几行包括进去, 否则 WINICE 可能 什么东东也拦不到:
exp=c:\win95\system\kernel32.dll
exp=c:\win95\system\user32.dll
exp=c:\win95\system\gdi32.dll
exp=c:\win95\system\comctl32.dll
一般我们使用 WLDR (以后把 LOADER32 也称为 WLDR) 来装入一个 EXE 文件或者一 个 DLL 文件, 大多数的时候, 我们也可以直接执行 EXE 文件, 通过跟踪它的各种消息来 找到它. 启动 WINICE 的热键是 Ctrl+D. 先介绍常规的办法:
启动 WLDR, 然后选择你要跟的程序, 单击 Load 按钮, 屏幕上一阵乱闪后就进入了 文本模式, 这就是 Soft-ICE 的跟踪界面, 虽然简单了点, 但是很友好. 可以像 DOSKEY 那样用光标上下键重复上次输入的内容, 也可以输入上次输入内容的一部分, 然后按光标 上键, 上次输入内容就完整地贴了出来.
一般情况下, 如果装入的一个 NE 程序, WINICE 会直接找到它的入口点, 并且把当 前的光标定在 EXE 的头一条指令上; 如果是 PE 程序, WINICE 会停在一个 INVALID 区, 按下 F10 后可以到 EXE 头部.
比较重要的功能键:
(1) F10 : 单步执行; CALL, INT 会被跳过;
(2) F8 : 单步执行; CALL, INT 会被切入;
(3) F4 : 查看程序画面;
(4) F11 : 对于 CALL 形式的子程序, 直接执行完毕, 在 RET(F) 之后
回到 CALL 的下一条指令;
比较重要的几条命令是:
(1) G: 执行程序, 后面如果加地址, 则执行到该地址为止, 比如:
2400:0480 MOV AH,30
2400:0482 INT 21
2400:0484 CMP AL,09
2400:0486 JZ 04F9
2400:0488 MOV AH,4C
2400:048A INT 21
Soft-ICE 由三部分 (以后说的 Soft-ICE, 如果不加特殊说明, 均指 Soft-ICE for Windows 95 的 2.0 版本以上) 组成: WINICE.EXE, WLDR.EXE (在 3.0 中这个文件叫做 LOADER32.EXE) 和显示驱动程序 SIWVID.386.
另外, Soft-ICE 在启动的时候要装入一些 DLL/EXE 的函数名信息, 你必须手工指定 这些 DLL, 按照:
exp=d:\path\name.ext
的格式写在 WINICE.DAT 文件里. 本文附录里面有俺用的 WINICE.DAT, 你可以直接 用起来, 省得自己写那么多行了. 注意, 一定要把下面几行包括进去, 否则 WINICE 可能 什么东东也拦不到:
exp=c:\win95\system\kernel32.dll
exp=c:\win95\system\user32.dll
exp=c:\win95\system\gdi32.dll
exp=c:\win95\system\comctl32.dll
一般我们使用 WLDR (以后把 LOADER32 也称为 WLDR) 来装入一个 EXE 文件或者一 个 DLL 文件, 大多数的时候, 我们也可以直接执行 EXE 文件, 通过跟踪它的各种消息来 找到它. 启动 WINICE 的热键是 Ctrl+D. 先介绍常规的办法:
启动 WLDR, 然后选择你要跟的程序, 单击 Load 按钮, 屏幕上一阵乱闪后就进入了 文本模式, 这就是 Soft-ICE 的跟踪界面, 虽然简单了点, 但是很友好. 可以像 DOSKEY 那样用光标上下键重复上次输入的内容, 也可以输入上次输入内容的一部分, 然后按光标 上键, 上次输入内容就完整地贴了出来.
一般情况下, 如果装入的一个 NE 程序, WINICE 会直接找到它的入口点, 并且把当 前的光标定在 EXE 的头一条指令上; 如果是 PE 程序, WINICE 会停在一个 INVALID 区, 按下 F10 后可以到 EXE 头部.
比较重要的功能键:
(1) F10 : 单步执行; CALL, INT 会被跳过;
(2) F8 : 单步执行; CALL, INT 会被切入;
(3) F4 : 查看程序画面;
(4) F11 : 对于 CALL 形式的子程序, 直接执行完毕, 在 RET(F) 之后
回到 CALL 的下一条指令;
比较重要的几条命令是:
(1) G: 执行程序, 后面如果加地址, 则执行到该地址为止, 比如:
2400:0480 MOV AH,30
2400:0482 INT 21
2400:0484 CMP AL,09
2400:0486 JZ 04F9
2400:0488 MOV AH,4C
2400:048A INT 21
相关搜索
- 在[
]中搜索关于“SoftICE实例起步(Windows版)”相关文章.