在win9x下可以
在winnt或win2000下,好像不行
在winnt或win2000下,好像不行
解决方案 »
- 获取窗体句柄!
- PerlRegEx对中文支持不行啊,
- 一个新手求Delphi中打开、存储word的实例!!
- 问一个窗口显示和关闭的问题
- 难题难题,能解决者给高分
- 如何实现 mpg 文件到 asf 文件的转换?
- 谁能够谈谈DevExpress的开发
- 调用WSAStartup,GetHostName等函数发生异常,我已经在声明中use IdWinsock了。快伸出你的援手吧。
- 从Delphi程序代码中如何拿到FastReport的总页数和其中一个对象在页面上的位置(不ShowReport的情况下)?
- 3000元人民币 求实时数字滤波器(性能好可加至5000) UP加分
- 急!!帮我参考一下!!!
- 一个非常高难度的问题,我想在dbgrid里增加一列,可是我却不能修改它的值,请问如何解决?
插入下面CODE试试:
asm
out70,28
out71,28
end;
相信曾经有不少朋友发生过 CMOS PASSWORD (CMOS 口令) 丢失的问题。关于 AWARD BIOS v 4.50 版本有通用的PASSWORD (口令) 。这是因为它有一条跳转密码,经过运算之后,放在两个字节里面,也就是说只有 65536 个不同的 PASSWORD ,那么通用的 PASSWORD 少说也在20万个以上! 这一点已经有人能够证明了 ,只要有一个密码能够使用就都能用! v 4.51 PG 版本虽然没有了这句跳转程序,但基本的算法却仍然没有改变!
目前,还有众多的主机板在使用本文题目中所提到的 BIOS ,希望本文能够给广大的电脑爱好者一点点提示。
用下面的 PASCAL 程序能够还原一个4位的 CMOS 密码。但是,这个密码并不一定是你所设置的那个密码,但能够开机并且可以破译其密码,然后我们在修改一下就足够了。
PROGRAM PASS;
type
abc=array [1..12] of integer;
VAR
s,x,A,B,i:INTEGER;
tt:abc;
procedure todo(var x:integer;var tt:abc;var i:integer;kk:integer);
begin
i:=1;
while x>=256 do
begin
tt[i]:=x mod 4 +4*(8+kk);
i:=i+1;
x:=(x-tt[i-1]) div 4;
end;
if (x>=32) and (x< =126) then tt[i]:=x;
if (x>=160) and (x< 256) then begin
tt[i]:=x mod 32 +32;
tt[i+1]:=(x-tt[i]) div 4;
end;
end;
begin
for a:=1 to 12 do tt[a]:=0;
port[$70]:=$1c;a:=port[$71];
port[$70]:=$1d;b:=port[$71];
x:=b*256+a;
a:=x;
b:=0;
repeat
s:=0;
todo(x,tt,i,b);
if ((x>0) and (x< 31)) or ((x>=127) and (x< =159)) then
begin
s:=4;
b:=b+1;
end;
x:=a;
until (b>=23) or (s=0);
IF B>=23 THEN
begin
writeln('Sorry sb can not tell you password,because it is 1.0! you need 2.0 or more');
halt(1);
end;
write('The password of this pc is:');
write('"');
for a:=i downto 1 do
write(chr(tt[a]));
writeln('"');
WRITELN('Award Password Looker ver 1.0 Made by Sb. 1997.9.22');
end.
begin
BEGIN
ASM
XOR AX,AX
MOV AL,11H
OUT 70H,AL
MOV AL,074H
OUT 71H,AL
XOR AX,AX
MOV AL,2FH
OUT 70H,AL
MOV AL,0C4H
OUT 71H,AL
END;end;
启动机器!再次感谢大家,请给意见!期待!!
欢迎大家讨论!
out 71,0
一定行。
out 71,0
一定行。