聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 正在进行安全检测...

正在进行安全检测...

时间:2023-10-07 23:22:45    下载该word文档
破解.mdb目前所有版本密码
mdb文件第0x42字节处的13个字节分别与
0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13异或后即可得到数据库的密码。但在Access20002002的版本里密钥不再是固定13个字节.而且加密的方式也有了变化。
经过ccrun用一下午的时间研究,终于将Access2000的加密方式搞清楚了。嘿嘿。在此将偶的心得发布,希望对大家有用。
我用的分析工具是UltraEdit32v10.00,编程工具是C++Builder6.0经过用UltraEdit32分析,发现Access2000Access2002的数据库加密方式相同,所以以下只针对Access2000mdb文件。还有就是我用的是16制的数表示,所以前面加了0x,如果你用的是VB或其他,要注意数值哦。首先用AccessXP创建了一个空密码的数据库文件db1.mdb,包含一个表,其中有一个字段,没有填任何数据。保存退出然后复制一份为db2.mdb,以独占方式打开2.mdb,并加上密码1324567890123保存退出。
UltraEdit32打开这两个数据库,并进行比较。我比较的方法也很简单。在UltraEdit32中,快速的来回点击被打开文件的选项卡(就是在两个文件间来回切换,呵呵。笨办法吧,发现从文件头开始0x42字节处发生变化。db1.mdb
00000040hBC4EBE68EC3765D79CFAFECD28E62B25;00000050h8A606C077B36CDE1DFB14F671343F73C;00000060hB1330CF2795BAA267C2A4FE97C990513;db2.mdb
00000040hBC4E8F68DE3756D7A8FACBCD1EE61C25;00000050hB26055074B36FCE1EDB17C671343F73C;00000060hB1330CF2795BAA267C2A4FE97C990513;为了看的清楚些,我把不同的字节加了颜色。看出门道了吧,Access97后的版本里,密码字节不再是连续存放,而是隔一个字节存一个。并且经过加密。到于解密的方法嘛,还是用老办法“异或”!0xBE^0x8F=0x31,这正好Ascii"1"哦。下一个0xEC^0xDE=0x32正好是Ascii"2",呵呵。一直到最后一个不同的0x4F^0x7C=0x33,将取得的字符合成字符串,便是

密码明文“1234567890123",千万不要以为这样就收工了。因为这一次是正好碰对了。呵呵。我刚开始也以为就这么简单,于是用CB做了个小程序,试着解了几个mdb密码都还行,可是试到动网论坛的mdb文件时发现取出来的密码不对,晕了。于是用另外一个取mdb密码的工具看了一下,发现人家的就可以正确的取出密码,是Access2000的格式,于是感觉微软加密的方式还是没研究完。继续工作,用UltraEdit32打开动网论坛的数据库dvbbs.mdb,和我前面的加过密的数据库做比较,发现不同的地方很多。只好一个字节一个字节的试。。。。nnn次以后发现第0x62处的这个字节起着关键作用,暂称之为加密标志。
db1.mdb//空密码
00000040hBC4EBE68EC3765D79CFAFECD28E62B25;00000050h8A606C077B36CDE1DFB14F671343F73C;00000060hB1330CF2795BAA267C2A4FE97C990513;db2.mdb//密码为:1234567890123
00000040hBC4E8F68DE3756D7A8FACBCD1EE61C25;00000050hB26055074B36FCE1EDB17C671343F73C;00000060hB1330CF2795BAA267C2A4FE97C990513;dvbbs.mdb//密码为:yemeng.net
00000040hBC4EDB6A893714D5F9FA8CCF4FE61927;00000050hE46015050F36D1E3DFB153651343EB3E;00000060hB13310F0795BB6247C2A4AE07C990513;怎么试呢,还是异或。取0x42处开始的字节0xDB与空密码文件的0x42字节异或,取0x62处的加密标志与空密码文件0x62处字节异或,然后再把取得的两个值相异或:
(0xDB^0xBE^(0x10^0x0C=0x79嘿嘿。这个值是Ascii"y",然后取下一个字节(记得隔一个字节取一个
(0x89^0xEC^(0x10^0x0C=0x79咦,本来这个字节应该是"e"的,怎么变"y"?试着不与后面的两个异或值相异或,只计算0x89^0xEC=0x65得到"e",哈。这下对了。下一个

免费下载 Word文档免费下载: 正在进行安全检测...

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服