SoftICE for WIN95中文命令解说(十)
程序员文章站
2022-09-30 12:14:41
SoftICE for WIN95中文命令解说(十) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: PAGE 作用: 显示页表信息 语法: PAGE [address [L length]] 用法: ad... 08-10-08...
softice for win95中文命令解说(十) copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: page 作用: 显示页表信息 语法: page [address [l length]] 用法: address : 段:偏移量 或 选择符:偏移量 格式的地址length : 要显示页的数量.page 命令用来列出当前页目录和各个页表的情况.(在windows nt 中可以实现列出多个页目录的情况, 这里就不涉及了) 在x86的体系中, 一个页目录包含1024个页目录项(每个页目录项占4个字节)每个页目录项又指向一个页表,每个页表包含1024个页表项 (每个页表项也占4个字节),每个页表项指向一个4kb大小的页.所以这样的体系管理着1024*1024*4=4gb大小的空间.page 加地址参数将显示映射到相应地址处的页表项的内容,包括以下部分:.由该页表项映射的页的线性虚拟地址..由该页表项映射的页的物理地址..该页表项的各种特性,比如是否在内存中,存取权限等. 这里的特性是cpu架构时确定的..该页的类型,这个是页表项中的windows定义位决定的.page 加地址,加l参数将显示连在一块的若干个页表项但要注意的一点是:page命令在显示这样一块连续页表项区域时,不会跨过页表界线. 也就是说显示出来的页表项有可能会少,这时再用一个page就可.page 不加参数将显示当前页目录的内容. 第一行显示页目录的物理和线性地址.后面的每一行显示一个页目录项的内容.输出:physical address: 物理地址.如果显示的是页目录,(即page不加参数),这个地址是页目录项的物理地址,即相应页表的地址. 如果显示的是页表,(即page 加地址参数), 则这个地址是内存中相应页的物理地址.linear address : 线性地址.如果显示的是页目录,(即page不加参数),这个地址是页目录项的线性地址,即相应页表的地址. 如果显示的是页表,(即page 加地址参数), 则这个地址是内存中相应页的线性地址. 如果加l参数,则此地址是第一个页的线性地址.attribute :下面是页目录项或页表项的属性: --------------------- p 在内存中 np 不在内存中 d 又脏又快的dos! a 存取位 u 用户属性 s 管理员属性 r 只读 ---------------------type :每个页表项在架构中都留有一个 3bit的os字段,被操作系统利用, windows就定义如下的类型: --------------------- system private instance relock vm hooked --------------------- 系统 私有 实例 重锁 虚拟机 钩子 --------------------- 点评: 无 命令: pause 作用: 满屏后是否暂停显示 语法: pause [on | off] 用法: pause 命令将控制是否在softice命令显示输出到达满屏后暂停.默认pause 为on,即在满屏时暂停. pause命令不加参数将显示当前状态. 点评: 也可用set pause [on|off] 命令: pci 作用: 显示系统中每个pci设备的情况. 语法: pci 用法: pci 命令显示系统中每个pci设备的配置寄存器内容.不要在非pci的系统上使用这个命令. 大多数输出的内容都一目了然,少数的没有说明,可以参考pci详细的说明书. 点评: 我倒是用它来看显卡的制造商. 命令: peek 作用: 从物理内存中读数据 语法: peek[size] address 用法: size : b 字节(默认值);w 字;d 双字;address: 物理内存地址.peek 命令显示从指定物理内存中来的指定大小的数据peek 命令在读取内存映象的i/o 寄存器的值时很有用. 点评: 参见poke 命令: phys 作用: 显示某个物理地址对应的所有虚拟地址. 语法: phys physical-address 用法: physical-address: 物理地址, 是由x86的分页机构转换来的.这个物理地址是传到计算机的总线上的地址. 而且在操作内存映象的硬件设备时(如显存 )显得特别重要.windows用x86体系的虚拟寻址方式在虚拟地址(被程序用到)和物理地址(被硬件设备用到)之间建起一座桥梁.在很多情况下,一段物理地址可能出现在多个页表项中,所以就存在一个物理地址对多个虚拟地址.softice在表达式中不接受物理地址,所以应用phys 命令来进行转换. 点评: 无. 命令: poke 作用: 向物理内存写数据. 语法: poke[size] address value 用法: size : b 字节(缺省值);w 字;d 双字address: 物理内存地址;value : 要输出字节,字,或双字.poke 命令将往指定的物理内存地址处写指定大小的数据.这对在写内存映象的i/o 寄存器的值时很有用. 点评: 无 命令: print screen键 作用: 打印屏幕内容 语法: 按下printscreen键 用法: 这个功能将softice屏幕上的内容输出到打印机. 默认的打印机端口是lpt1.可以用prn命令来改变打印端口.由于softice对外设的读写是直接往i/o端口的,所以这个功能只能用于直接联接在com口或lpt口上的设备,而不支持网络打印.也可以用softice loader将内容记录到文件中去. 点评: 打印机我没有试过,可用loader将内容都记录下来是非常不错的,有时记录一段小代码不必动用w32dasm了,用loader就可以代替,非常好的,我推荐您试一下!!!!
上一篇: 百度知道行家号如何通过推广引爆30万流量的经验分享
下一篇: 一种小巧简单的网站推广技巧贴