SoftICE for WIN95中文命令解说(十三)
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尚未初始化时就弹出来),那么你可能会看到不准确的地址信息。
点评: 暂无额外说明。
相关攻略
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 http: coobe cs hn cninfo net ~tianwei 命令: VER 作用: 显示SoftICE版本号。 语法: VER 用法: 除了用这个命令,通过Loader32的ABOUT选项
字节跳动AI编程工具Trae登陆Windows,内置GPT-4o免费使用 对于关注AI编程工具的开发者来说,今年年初的一条消息可能还记忆犹新:字节跳动在1月份推出了一款全新的AI中文IDE工具——Trae。不过当时有个小小的遗憾,它只面向Mac用户。 现在,情况不同了。根据不少开发者的实测反馈,这款
Dreamwea ver设计网页时中文乱码的预防与解决 很多朋友在用Dreamwea ver做网页时,都遇到过中文显示成乱码的尴尬情况。页面上一堆看不懂的字符,不仅影响编辑,更直接影响最终效果。其实,这个问题多半出在文件编码设置上,预防和解决起来并不复杂。接下来,我们就一步步看看,如何从根本上避免D
SoftICE for WIN95中文命令详解(十):内存管理与硬件调试核心指令 版权所有 (c) 1999 http: coobe cs hn cninfo net ~tianwei 命令: PAGE 核心功能: 深入探查x86系统分页机制,实时显示页目录与页表详细信息。 完整语法: PAGE
热门专题
热门推荐
一、 宏观IT架构痛点:传统RPA CoE为何难以为继? 走过数字化建设的初期阶段,很多企业都遇到过类似的瓶颈:自动化项目起初顺风顺水,一旦进入规模化阶段,却常常陷入“先易后难、最终停滞”的怪圈。复盘起来,这背后有几个根本性的IT架构痛点,几乎成了行业通病。 首当其冲的,是“脚本维护地狱”。传统RP
芝麻交易所(芝麻gate)官方登录指南:安全、高效访问全攻略 对于数字资产交易者而言,一个稳定、安全的平台入口是投资旅程的起点。本文将为您详细拆解芝麻交易所(芝麻gate)官方网站的登录与访问方法,助您一步到位,安全便捷地开启交易之旅。通过其官方网页版,您不仅能获得稳定高效的交易环境,还能实时掌握市
一、 传统自动化架构的脆性原理:从一行报错日志说起 聊到企业IT架构的演进,有一个成本黑洞常常被忽视,那就是自动化流程的运维。很多CIO都有同感:业务系统一旦SaaS化或进入敏捷迭代的快车道,原先那些设计精良的自动化脚本,失效就成了家常便饭。望着堆积如山的维护工单,一个核心课题浮出水面:如何打造一个
话说回来,当企业超自动化的浪潮进入深水区,聪明的 CIO 们早就意识到,单纯地采购一个个单点工具,已经很难撑起他们对 IT 资产投资回报率的严苛期待了。数字员工队伍在爆炸式增长,但如果缺乏一套系统化的、覆盖从诞生到退役的智能平台来管理,局面很快就会失控:运维成本飙升、代码资产变成谁也看不懂的黑盒、合
企业级IT自动化运维与业务流程重塑,有一个环节堪称“硬骨头”和“深水区”——那就是系统登录和高频数据交互。许多CIO和IT架构师都遇到过这样的窘境:业务系统的安全策略一升级,各种预料之外的动态校验,尤其是验证码,就冒了出来,结果直接导致自动化脚本中断。这不仅仅是一场影响流程服务等级的运维事故,更会让





