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

SoftICE for WIN95中文命令解说(十三)

时间:2026-04-28 20:05
SoftICE for WIN95中文命令解说(十三) Copyright (c) 1999 http: coobe cs hn cninfo net ~tianwei 命令: TABS 作用: 显示或修改在显示源文件时TAB键的宽度 语法: TABS [tab-setting] 用法: tab-

SoftICE for WIN95中文命令解说(十三)

Copyright (c) 1999 https://coobe.cs.hn.cninfo.net/~tianwei

命令: TABS

作用: 显示或修改在显示源文件时TAB键的宽度

语法: TABS [tab-setting]

用法: tab-setting 的取值范围是从1到8,它决定了TAB键的跨度(列)。默认的设置是8。无论是使用TABS命令还是SET TABS命令,都可以完成这项设置。如果TAB命令后面不加任何参数,那么它就会把当前的TAB键设置显示给你看。

点评: 这里有个小细节,在我使用的3.20版本里,默认值其实是4。

命令: TASK

作用: 显示Windows任务列表

语法: TASK

用法: 执行TASK命令能帮你一览机器里正在运行的所有任务。当前正在活动的任务前面会标上一个醒目的 * 号。这个命令特别有用,当Windows冷不丁弹出个“常规保护性错误”(general protection fault)时,它能帮你精准定位究竟是哪个任务在背后捣鬼。

输出信息详解:
Task Name : 任务的名称。
SS:SP : 该任务最后一次交出控制权时,其堆栈的地址。
StackTop : 堆栈偏移的顶部位置。
StackBot : 堆栈偏移的底部位置。
StackLow : 当地址发生切换时,记录下来的最低SP值。
TaskDB : 任务数据基址所对应的选择符。
hQueue : 任务队列的句柄。
Events : 队列中待处理的事件数量。

点评: 暂无额外说明。

命令: THREAD

作用: 显示线程的详细信息

语法: THREAD [TCB | ID | task-name]

用法:
TCB : 指线程控制块。
ID : 指线程的ID。
task-name : 指当前正在运行的32位进程名。
THREAD命令专门用来探查线程的底细。如果你不带任何参数直接使用,它会把系统里所有活跃的线程给你列个清单。要是你把某个进程名当作参数传进去,它就会把这个进程下的所有线程都找出来。当然,如果你明确指定了TCB或ID,那它就只显示你指定的那一个线程。

输出信息详解:
Ring0TCB : Ring-0层线程控制块所在的地址。
ID : VMM维护的线程ID。
Context : 该线程所属进程的context句柄。
Ring3TCB : Ring-3层线程控制块的地址。
ThreadID : Ring-3层的线程ID。
Process : 拥有此线程的KERNEL32进程数据库的地址。
TaskDB : 任务数据的选择符。
PDB : 程序数据块的选择符(也就是PSP)。
SZ : 线程的规模(16位或32位)。
Owner : 进程的所有者信息。

点评: 暂无额外说明。

命令: TRACE

作用: 进入或退出摹拟跟踪模式

语法: TRACE [b | off | start]

用法:
start : 一个十六进制的数值,用来定位回溯跟踪历史缓冲区中的指令序号。1代表最新的一条指令。
如果TRACE命令后面不加任何参数,它会告诉你当前摹拟跟踪模式处于什么状态。
TRACE OFF 这个指令的作用是退出当前的摹拟跟踪模式,让你回到正常的程序跟踪状态。
TRACE B 则意味着从缓冲区里最老的一条指令开始进行摹拟跟踪。
TRACE 后面跟着数字,就可以从你指定的序号开始进行摹拟跟踪了。
不过,这里有个前提:只有当回溯跟踪历史缓冲区不是空的时候,你才能使用TRACE命令。想了解更多关于缓冲区的设定,可以回头看看BPR命令的说明。
在回溯(摹拟)跟踪的过程中,你可以使用XT、XP、XG这些命令来跟踪程序。你会发现,寄存器窗口里除了EIP会变化,其他的寄存器值都保持不变。原因很简单,SoftICE在回溯跟踪时并不会记录所有寄存器的历史值。
还有一点需要注意,在回溯跟踪模式下,大部分SoftICE命令都能照常使用,但像X、T、G、P、HERE、XRSET这几个命令是不能用的。

点评: 暂无额外说明。

命令: TSS

作用: 显示任务状态段的内容以及被挂接的I/O端口信息

语法: TSS [TSS-selector]

用法:
TSS-selector : 任何一个在GDT中代表任务状态段的选择符。
TSS命令会先通过读取TR寄存器来获取地址,然后把这个地址对应的任务状态段内容展示给你。通过GDT命令,你就能看到那些TSS选择符。如果使用TSS命令时不加参数,那么它显示的就是当前正在使用的TSS。

输出信息详解:
TSS selector value : TSS选择符的具体数值。
selector base : TSS的线性基地址。
selector limit : TSS的大小限制。
接下来的四行,显示的是TSS中保存的各类寄存器内容:
包括LDT, GS, FS, DS, SS, CS, ES, CR3,
以及EAX, EBX, ECX, EDX, EIP,
还有ESI, EDI, EBP, ESP, EFLAGS,
最后是Level 0、Level 1和Level 2这三个特权级的堆栈信息(SS:ESP)。
在这之后,命令还会列出所有被VxD挂接的I/O端口:
port number : 16位的I/O端口号。
handler address : 32位的I/O处理程序地址。
handler name : 该处理程序的符号名称(如果存在的话)。

点评: 暂无额外说明。

命令: TYPES

作用: 列出当前内存区域(context)中定义的所有类型名称

语法: TYPES [type-name]

用法:
type-name : 指定要查看的某个具体类型名。
如果不带任何参数,TYPES命令会把你当前环境下所有的类型名都罗列出来。
如果后面跟了参数,它就只显示你指定的那个类型的信息。
特别值得一提的是,如果这个参数恰好是一个结构体(struct)的名称,TYPES命令会自动把这个结构体“展开”,将其内部的所有成员细节清晰地展示在你面前。

点评: 暂无额外说明。

命令: U

作用: 反汇编指令

语法: U [address [l length]] | [symbol-name]

用法:
address : 可以是“段:偏移量”的格式,也可以是“选择符:偏移量”的格式。
symbol-name : 如果指定了函数符号名,就从该函数的起始地址开始反汇编。
length : 想要反汇编的代码长度(以字节为单位)。
U命令的功能很明确,就是从你给定的地址开始,反汇编出指定长度的机器指令。如果SoftICE的代码窗口是可见的,那么反汇编的结果就会显示在代码窗口里;否则,结果会输出到命令窗口中。
另外,如果当前已经加载了符号表,你完全可以直接使用符号名(symbol-name)作为U命令的参数,这样它就会从那个符号对应的地址开始进行反汇编,非常方便。

点评: 这里分享一个实用技巧:你可以先用U命令在命令窗口里反汇编代码,然后配合LOADER32工具将反汇编的结果保存到文件里。

命令: VCALL

作用: 显示VxD可调用例程的名称及其地址

语法: VCALL [partial-name]

用法:
partial-name: 可以是符号表中完整的例程名,也可以是名字开头的几个字符(用于模糊查找)。
VCALL命令专门用来探查Windows VxD API的“家底”。它会列出那些由Windows自身VxD提供的、并预备给其他VxD调用的例程名字和地址。不过,有一点必须注意:这里显示的地址,只有在VMM这个核心VxD初始化完成之后才是有效的。如果SoftICE的初始化字符串里没有包含一个“X;”(这会导致SoftICE在Windows启动、但VMM尚未初始化时就弹出来),那么你可能会看到不准确的地址信息。

点评: 暂无额外说明。

来源:https://www.jb51.net/hack/5936.html
上一篇SoftICE for WIN95中文命令解说(十四) 下一篇网络安全及网络安全评估的脆弱性分析
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

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

同类最新

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

更多
Debian环境下Docker安全漏洞防范方法指南
网络安全 · 2026-07-02

Debian环境下Docker安全漏洞防范方法指南

在Debian系统下,Docker的安全防护虽然是个老话题,却始终需要高度警惕。先说几个核心判断:如果你的Docker容器使用root权限运行、镜像来源不明、系统一年不更新,那几乎等同于“裸奔”。下面这套方案虽然不是万能的,但足以抵挡绝大多数已知攻击路径。 1 定期更新系统和软件 保持系统与镜像始

深入解析Linux系统readdir安全漏洞的防范措施与技巧
网络安全 · 2026-07-02

深入解析Linux系统readdir安全漏洞的防范措施与技巧

Linuxreaddir函数存在路径遍历、信息泄露、竞争条件、缓冲区溢出、LD_PRELOAD劫持及权限问题等安全漏洞。防范需实施路径验证、最小权限原则、线程安全保护、缓冲区安全处理、日志审计、输入过滤、权限检查、限制目录深度及使用安全API等综合措施。

Linux syslog日志加密实现方法详解
网络安全 · 2026-07-02

Linux syslog日志加密实现方法详解

Linux系统可利用Syslog-ng、rsyslog或Logrotate结合GnuPG对syslog日志进行AES256加密,需特别注意密钥安全管理、性能影响及加密日志的备份,从而有效防止敏感信息泄露。

Debian系统漏洞修复难点的深度解析与应对策略
网络安全 · 2026-07-02

Debian系统漏洞修复难点的深度解析与应对策略

Debian系统的漏洞修复看似简单,实际操作却充满挑战。核心难点主要集中在系统架构的复杂性、安全更新机制的独特性、用户的使用习惯,以及社区资源的局限性。即便是资深管理员,也常常在以上环节遇到棘手问题。 系统复杂性导致的修复难题 组件数量庞大: Debian系统包含成千上万个软件包,它们之间的依赖关系

Debian系统漏洞修复技巧从入门到精通实战指南
网络安全 · 2026-07-02

Debian系统漏洞修复技巧从入门到精通实战指南

Debian系统漏洞修复需先更新系统并配置安全补丁仓库,可开启自动更新。针对特定漏洞单独修复,结合最小权限、强密码、防火墙与入侵检测,并定期备份数据。关注官方公告及使用扫描工具,对自定义应用进行代码审计。