找回忘了地口令地机制

OK少年丶7

OK少年丶7

2016-02-19 17:29

下面图老师小编跟大家分享一个简单易学的找回忘了地口令地机制教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

  在Access数据库中,为了安全起见,可以为所建的数据库设置密码。但是,密码忘了怎么办?别急,这里介绍一种找回密码的方法。

  用Access所建的数据库,在库文件的地址00000042处开始的13个字节是Access库的密码位。如果一个未加密的库,这13个字节原始数据依次为:86 FB 37 5D 44 9C FA C6 28 E6 13。事实上,当你设置了密码后,Access就将你的密码(请注意你所输入的密码是本文字符)的ACSII码与以上的13个字节数据进行异或操作,因此,从库文件的地址00000042开始的13个字节就变成了密钥了。例如,如果你设置的密码为abc,经过异或操作后,则从00000042处开始的13个字节的数据变成了E7 99 8F 37 5D 44 9C FA C6 28 E6 13。一个数据经过一次异或操作后,再一次经过同样的异或操作就可还原了。因此,对已经设置了密码的Access库,只要将13个密钥数据与原始的13个数据进行一次异或操作就可得到密码了。

   以下是一个C语言的破解程序:

   /*假设加密后的Access库为myacc.mdb,并存放在C盘的根目录下*/
   #include ″stdio.h″
   main()
   {FILE * fp
   char mm0[13]={0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13};
   /*这是13个原始数据*/
   char mml[13],mm2[13];
   /*mm1用来存放加密后的13个密钥;mm2用来存放密码*/
   int i,k;
   fp=fopen(″c:myacc.mdb″,″rb″);
   if(fp=NULL){
   printf(″不能打开该库!″);
   exit(0);}
   rewind(fp);fseek(fp,0x42L,0);
   fread(mm1,13,1,fp);/*读取密钥*/
   for(i=0;i13;i++){
   mm2[i]=mm0[i]^mm[i];*/原始数据与密钥异或*/
   else
   break;}
   k=1;fclose(fp);
   if(k=0)
   printf(″未设密码!″);
   else{printf(″密码是:″);
   for(i=0;ibr   printf(″%c,mm2[i]″);}}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

   顺便提一句,Access库设置密码时,虽然允许输入最多14个密码字符,但只有前13个有效。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

找回忘了地口令地机制

编程语言 网络编程
找回忘了地口令地机制

处理加了口令地MDB文件

编程语言 网络编程
处理加了口令地MDB文件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

WINDOWS XP系统密码忘了怎么找回

电脑入门
WINDOWS XP系统密码忘了怎么找回

微信密码忘了怎么在电脑上找回

微信 电脑
微信密码忘了怎么在电脑上找回

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎么样恢复MYSQL地ROOT口令

编程语言 网络编程
怎么样恢复MYSQL地ROOT口令

12306用户名忘了怎么办、怎么找回

生活常识
12306用户名忘了怎么办、怎么找回

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

网页设计配色应用实例剖析—紫色系

网页设计配色应用实例剖析—紫色系

Windows8下如何设置不保存本地文件浏览记录

Windows8下如何设置不保存本地文件浏览记录
下拉加载更多内容 ↓