用DOS命令解除UNIX管理员密码
中断13H入口参数含义、使用过DEBUG命令。一台COMPAQDESKPROXL/466服务器,主板内含PCISCSI-2控制器一个,上接富士通硬盘一只,该硬盘主要参数为:1041柱面,64头,32扇。硬盘上装有SCOUNIXSystemV/386Release3.2operatingsystemVersion4.2。现在假设其超级用户口令被忘记。首先,随便找一台安装了DOS的计算机,制作一张DOS系统盘,并在系统盘上拷贝一个DEBUG.EXE文件。
C:\DOS>format/sa:
C:\DOS>copydebug.exea:
----然后将该盘插入COMPAQ服务器A驱,开机启动DOS操作系统,执行DEBUG命令。
A:\>debug
现在我们就编写一段汇编语言程序(以下简称app),来读出硬盘0柱0头1扇区的内容。该扇区存放的是主引导记录,读出它是为了确定SCOUNIX分区的起始位置。app是调用中断13H实现的,以后我们还要反复用到它,当然入口参数将随所读内容物理地址的变化而变化。
-a
2039:0100MOVAX,0201
2039:0103MOVBX,1000
2039:0106MOVCX,0001
2039:0109MOVDX,0080
2039:010CINT13
2039:010EINT20
2039:0110
-g
Programterminatednormally
现在我们可以用dump命令查看被读到内存里的扇区内容。从偏移11BEH处开始是分区表,其中类型标志字节为63H的分区是SCOUNIX分区。该分区起始于1柱面0磁头1扇。
下面,读出UNIX根文件系统i-node表的第一个扇区,以确定根目录的物理位置。
根据UNIX分区起始位置可知根文件系统始于2柱0头1扇。并且,由于2柱0头1扇是引导块,2扇是超级块,3、4扇为间隔,所以i-node表必定始于第5扇。
我们用app读出它(CX的赋值应改为0205)。
读出后用dump命令查看偏移1040H至107FH的64个字节,这就是2号i-node,即根目录的i-node。
----下面我们就根据i-node计算根目录在硬盘上的物理地址。
----我们从偏移1040H看起:
----ED41H表示文件类型与存取权限为drwxr-xr-x;
----1000H表示文件连结数为16;
----0000H表示文件属主ID为0;
----0200H表示文件组ID为2;
----80020000H表示文件字节数为640个;
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
