根据C语言教学书上的示例编写,主要破解access的密码,通过异或算法,支持access2000和access2003,其他版本的没经过测试,下面是具体代码:
#include <stdio.h> main() { FILE *fp; char mm0[40],mm1[40],mm2[40]; int i,k; clrscr(); fp=fopen("d:mqmima.mdb","rb"); if(fp==NULL) { printf(" not find mqmima.mdb database!"); exit(0); } rewind(fp); fseek(fp,0x42l,0); fread(mm0,40,1,fp); fclose(fp); fp=fopen("d:mq.mdb","rb"); if(fp==NULL) { printf(" not find mq.mdb database!"); exit(0); } rewind(fp); fseek(fp,0x42l,0); fread(mm1,40,1,fp); fclose(fp); for(i=0;i<40;i++) mm2[i]=mm0[i]^mm1[i]; fclose(fp); k=0; for(i=0;i<40;i++) if(mm2[i]!=0) { k=1; break; } if(k==0) printf(" not password !!!"); else { printf(" password is: "); for(i=0;i<40;i=i+2) printf("%c",mm2[i]); } }
程序使用说明:
1.把要破解的ACCESS数据库先改成mqmima.mdb的名称。
2.然后在创建一个和这个有密码的的数据库是同一个版本的数据库,取名 mq.mdb。
3.把这两个数据库同时放到D盘的根目录下。
4.然后在命令提示符下,切换到最大化,运行mima.exe这个文件,就可以打印出这个数据库的密码了。