WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 2103查看
  • 0回复

主题

好友

4976

积分

论坛元老

发表于 2010-2-6 04:10:57 |显示全部楼层
前些日子冰冷的心在学校上机,出于正常需要想改变一下BIOS设置,没想到所有的BIOS都被某些别有用心的老师设置了密码(嘿嘿。。。)。冰冷的心素来讨厌这种用密码来阻碍别人正常行动的行为,遂研究了一下BIOS的加密方法,略有小成,不敢独享,拿出来与大家讨论。</P><P>首先来看BIOS的加密算法:COMS 1ch或3ah处的一个字通过进位的循环左移两位,然后与输入的密码相加,最后得到的字就是密字,密码的长度不超过8位。算法中“通过进位的循环左移两位”,可以把它描述为4a-65536k+k(其中a为密码,k=0-3)。所以BIOS的加密算法可用数学公式表示为:</P><P>(……((4a7-65535k7+a6)*4-65535k6+a5)……)4-65535k1+a0=w</P><P>式中a1为密码,k1=0-3,w为密字。</P><P>然后就是化简求解,冰冷的心懒病又犯了,嘿嘿,就不一步一步写了,如果你有兴趣就自己化吧,告诉你一个窍门:前5位密码循环左移等同于算术左移,即k7-k4为0</P><P>算法原理其实还有很多重要的没说,不过冰冷的心懒病实在是厉害,二来我怕各位看着也枯燥,我直接奉献出根据这个算法写出的Basic程序得了,编译通过,的确可以破解任何BIOS密码。冰冷的心真是好样的!嘿嘿,自吹自擂中。。。。。。</P><P>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

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-4-28 17:51 , Processed in 0.052113 second(s), 16 queries .

返回顶部