游乐游手机版
首页/网络安全/文章详情

SoftICE for Win95中文命令详解第九篇

时间:2026-07-29 06:32
SoftICE调试器的常用命令包括:M(搬移内存数据块)、MACRO(定义快捷宏命令)、MAP32(列出32位模块映射)、MAPV86(显示DOS内存映射)、MOD(列出Windows模块)、O(向I O端口输出数据)和P(单步执行程序)。这些命令覆盖了内存管理、模块查看、I O操作及程序调试等方面,是系统底层调试的重要工具。

命令:M

功能:数据块搬移指令,用于将内存中指定区域的数据从一个地址复制到另一个地址。

语法M source-address l length dest-address

用法说明source-address 表示源数据起始地址,length 指定要传输的字节数,dest-address 为目标地址。例如,M ds:1000 l 2000 es:5000 表示将 2000h 个字节从 DS:1000h 复制到 ES:5000h 处。该命令简洁直观,无需复杂参数。

点评:无。

命令:MACRO

功能:定义宏,将多条 SoftICE 指令封装为一条快捷命令,提升调试效率。

语法MACRO [ macro-name] | [*] | [= "macro body"]

用法说明macro-name 为 3-8 个字符的宏名称(不区分大小写);macro-body 由分号分隔的多个 SoftICE 指令组成,首尾必须用冒号包裹;* 用于删除一个或所有已定义的宏;= 用于定义或重新定义宏。宏体支持命令行参数,类似 DOS 批处理中的 %1、%2,有效值为 1-8。注意:宏体首尾必须是冒号,如需使用反斜杠、双引号、百分号,需在前面加反斜杠转义,与 C 语言规则一致。宏名称不能与现有 SoftICE 内部指令重名,否则会报错。MACRO * 删除所有具名宏(断点中使用的 DO 子句是匿名宏,无法删除)。MACRO mnames * 删除名为 mnames 的宏。MACRO mnames 进入编辑模式,按 Esc 取消更改。

一个非常实用的示例:MACRO 1shot = "bpx %1 do \"bc bpindex\"" —— 可快速设置一次性断点,极大简化调试操作。

点评:宏病毒!

命令:MAP32

功能:列出当前所有 32 位模块的内存映射信息,便于分析模块加载布局。

语法MAP32 [module-name | module-handle | address]

用法说明:不带参数时显示所有 32 位模块详情;带参数则仅显示指定模块。输出包含:Owner(模块名)、OBJ Name(区段名)、Obj#(区段号)、Address(选择符:偏移量)、Size(大小,字节)、Type(类型)。类型包括:CODE(代码段)、IDATA(已初始化数据段)、UDATA(未初始化数据段)、RO(只读段)、RW(读写段)、SHARED(共享段)。

点评:无。

命令:MAPV86

功能:显示当前虚拟机(V86)的 DOS 内存映射,用于调试 DOS 程序和实模式代码。

语法MAPV86 [address]

用法说明:不带参数时显示整个虚拟机的内存映像;带参数(段:偏移量格式)则显示包含该地址的内存区域信息。注意:有时 DOS 虚拟机的页面未加载,会提示“PAGE NOT PRESENT”,多试一次即可正常显示。该命令与 SYMLOC 配合使用尤为有效——在 Windows 启动前加载的程序,Windows 不会自动将符号信息映射到 V86 内存,通过 MAPV86 获取其代码段地址,对齐符号表后即可进行跟踪调试。

输出项包括:VM ID(虚拟机 ID)、VM handle(32 位句柄)、CRS pointer(客户登记表指针)、VM address(32 位线性地址)。若 SoftICE 弹出时 CS:IP 恰好指向 MAPV86 的某个入口,相应行会高亮显示。

点评:无。

命令:MOD

功能:列出当前 Windows 加载的模块列表,方便查看 DLL 和 EXE 的地址信息。

语法MOD [partial-name]

用法说明:不带参数时显示所有模块;带 partial-name(模块名称前缀)则筛选出匹配项。输出包含:module handle(16 位句柄)、base(线性基址)、pe-header(PE 文件头,格式为选择符:偏移量)、module name(模块名,由 .DEF 文件中的 NAME 或 LIBRARY 定义)、file name(完整路径)。

点评:无。

命令:O

功能:向 I/O 端口写入数据,用于直接操作硬件寄存器。

语法O[size] port value

用法说明size 可选 B(字节,默认)、W(字)、D(双字);port 为端口地址;value 为待输出的值。该命令会立即向硬件端口发送数据。但需注意:对 21h 和 A1h 端口(与中断控制器相关)的写入操作,需等到退出 SoftICE 窗口后才会真正生效。

点评:关于 21h 和 A1h 端口,PDF 文档描述不够详尽,实际使用中情况较为复杂。

命令:P

功能:单步执行程序,用于逐条指令或逐行源代码调试。

语法P [ret]

用法说明P 执行单条指令。在汇编模式下,遇到 CALL、INT、LOOP、REP 等指令时,不会跟踪进入内部,而是直接执行完毕再返回控制——即“跨过”这些指令。若加上 ret 参数,SoftICE 会持续单步执行,直到遇到返回指令(RET、RETF)为止。在源码模式下,P 执行一个源程序表达式,同样不进入子程序内部。底层实现:多数情况使用单步标志,遇到 CALL、INT、LOOP、REP 时,则在后续指令处设置一次性的 INT 3 断点。快捷键:F10 对应 P,F12 对应 P ret

点评:F10 可能是使用频率最高的按键,请好好保护你的键盘!

来源:https://www.jb51.net/hack/5938.html
上一篇Windows 95 平台下 SoftICE 调试器中文命令详细解说第十五篇 下一篇Maian Uploader 文件上传工具安装配置与使用教程详解版
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
DDoS攻击的三大主要形式:原理、特征与防御重点
网络安全 · 2026-08-31

DDoS攻击的三大主要形式:原理、特征与防御重点

DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。

如何有效预防和缓解DDoS攻击:5大核心策略详解
网络安全 · 2026-08-31

如何有效预防和缓解DDoS攻击:5大核心策略详解

面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
网络安全 · 2026-08-31

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析

许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。

常见DDoS攻击类型详解:原理、特征与防御策略
网络安全 · 2026-08-31

常见DDoS攻击类型详解:原理、特征与防御策略

本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。

如何有效抵御DDOS攻击:4种核心防护方案解析
网络安全 · 2026-08-31

如何有效抵御DDOS攻击:4种核心防护方案解析

面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。