窥天地之奥 达造化之极
全部博文(105)
分类:
2006-04-11 20:45:16
万能BIOS密码破解方法
前些日子冰冷的心在学校上机,出于正常需要想改变一下BIOS设置,没想到所有的BIOS都被某些别有用心的老师设置了密码(嘿嘿。。。)。冰冷的心素来讨厌这种用密码来阻碍别人正常行动的行为,遂研究了一下BIOS的加密方法,略有小成,不敢独享,拿出来与大家讨论。
首先来看BIOS的加密算法:COMS 1ch或3ah处的一个字通过进位的循环左移两位,然后与输入的密码相加,最后得到的字就是密字,密码的长度不超过8位。算法中“通过进位的循环左移两位”,可以把它描述为4a-65536k+k(其中a为密码,k=0-3)。所以BIOS的加密算法可用数学公式表示为:
(……((4a7-65535k7+a6)*4-65535k6+a5)……)4-65535k1+a0=w
式中a1为密码,k1=0-3,w为密字。
然后就是化简求解,冰冷的心懒病又犯了,嘿嘿,就不一步一步写了,如果你有兴趣就自己化吧,告诉你一个窍门:前5位密码循环左移等同于算术左移,即k7-k4为0
算法原理其实还有很多重要的没说,不过冰冷的心懒病实在是厉害,二来我怕各位看着也枯燥,我直接奉献出根据这个算法写出的Basic程序得了,编译通过,的确可以破解任何BIOS密码。冰冷的心真是好样的!嘿嘿,自吹自擂中。。。。。。
10 SCREEN 0
20 COLOR 10,5
30 DIM A(9)
40 CLS
50 PRINT SPACE$(980);TAB(22);"THE PASSWORD FOR ZHE BIOS IS:";
60 OUT&H70,28
70 P=INP(&H71)
80 OUT&H70,29
90 Q=INP(&H71)
100 X=16^2*Q+P
110 COLOR 30,5
120 I=0:J=0:N=0
130 Y=X+I*65535
140 Z=INT(3*Y/(4^(N+1)-1))
150 IF Z<=126 THEN 190
160 N=N+1
170 IF N<8 THEN 140
180 I=I+1:J=0:N=0:X=16^2*Q+P:GOTO 130
190 IF Z<32 THEN 180
200 A(J)=Z:J=J+1:A=Y-Z*4^N
210 IF A=0 THEN 230
220 N=N-1:Y=A:GOTO 140
230 FOR K=0 TO J
240 PRINT CHR$(A(K));
250 NEXT
260 COLOR 10,5
270 END
注:basic语言是vb语言的前驱语言,大家还是借鉴一下它的算法哈!