CTTY命令及其妙用
CTTY中的字母“C”是英文“change(改变)”的字头。TTY表示终端亦即显示器和键盘,CTTY命令用于变换你当前工作的设备。
#2 二、作用范围
CTTY命令的作用范围仅限于使用MS-DOS系统功能调用进行输入输出的程序。很多命令并不依赖于MS-DOS系统进行数据的输入和输出,它们直接将数据发送到相关的输入输出设备上。CTTY命令对这样的程序不产生影响。
#2 三、基本用法
CTTY命令的使用格式为:CTTY device
其中的device为MS-DOS定义的设备名,例如AUX、CON、NUL等。因此,命令CTTY AUX将把所有的命令I/O从当前设备(控制台)重定向到一个辅助设备,例如另外一台终端。而命令CTTY CON将把上述的重定向恢复过来。
#2 四、用CTTY命令来给微机加密
首先在CMOS中设置启动顺序为C:,A:,并在A盘上建立一个任意内容的密码文件如A:\secret,再在autoexec.bat末尾加如下内容:
c:\dos\drvready
if errorlevel ctty nul
if not exist a:\secret ctty nul
作为辅助措施,在config.sys中加“switches=/n”命令行,如果其中有“break=on”语句,应将其屏蔽。另外不能在autoexec.bat中使用“break on”命令。这样非法用户便不能用按Ctrl+Break的方法中断autoexec.bat文件的执行。
机主启动微机前将钥匙盘插入相应的软驱,即可通过上述的if exist命令行的检查,从而越过CTTY NUL命令进入系统提示符状态。他人启动微机时如果不在软驱中插盘或者插入的不是钥匙磁盘,将使CTTY NUL命令被执行,从而将当前使用设备转换为虚拟设备NUL,这样键盘的所有输入将被忽略,当然也就无法使用微机。
上文中程序drvready.com的作用是检测软驱A是否准备好,内容为:
C:>DEBUG
N C:\DOS\DRVREADY.COM
A100
MOV AX,2524
MOV DX,113
INT 21
MOV AH,1C
MOV DL,1
INT 21
MOV AX,4C00
INT 21
MOV AX,4C01
INT 21
RCX
18
W
Q
将其中第7行的“MOV DL,1”修改为“MOV DL,2”,可用于检查B驱是否准备好。上述内容在DOS 6.22、Cyrix 6x86兼容机上通过。