:lol:
在debug下用‘t’即可跟出int13h的原始入口f000:xxxx,记下。
下面我想的就是让它重起后,自动进入int13h的原始入口,而不是硬盘保护。于是我就写了个小汇编程序atouble.exe,加入Autoexec.bat。因为我们是在纯DOS下‘t’的,所以我想的就是应该在windows启动前加入到Autoexec.bat里。
OK,正如我们所料,机器可读可写了。
我的联想:在纯DOS下改成int13h的原始入口可以去掉写保护,在windows下行不行呢?也就是直接双击atouble.exe,int13h也被改成了原始入口,理论上行。
再就是如何得到硬盘上保护卡的主管密码,希望和大家一起探讨!
atouble.asm
data segment
data ends :数据段
stack1 segment para stack
dw 20h dup(0)
stack1 ends :堆栈段
coseg segment :代码段
assume cs:coseg,ds:data
assume ss:stack1
start: push bx
push ds :保存bx、ds
mov bx,100h
mov ax,di
mov [bx],al
mov [bx+1h],ah
xor ax,ax
mov [bx+2h],ah
mov [bx+3h],ah
lds di,[bx] :置ds=0000
mov bx,4f :0000:004c~4f是int13h的向量地址
mov ax,0f0h :f000:95e4是int13h的原始入口地址(对于本机子是95e4,
mov [bx],al :别的机子就不一定是,还要‘t'跟踪)
mov ax,00h
mov [bx-1],al
mov ax,95h
mov [bx-2],al
mov ax,0e4h
mov [bx-3],al
pop ds :还原ds、bx
pop bx
mov ah,4ch
int 21h :退出到DOS
coseg ends
end start
汇编(MASM),连接(LINK)后即得Atouble.exe
测试环境:
品牌:蓝星
cup:p4 1.5G
内存:256M
硬盘:40G
保护卡:远志
os:windows98 |