我的本意是写个暴力破解QQ本地密码的程序,不过分析之后才发现,QQ密码循环加密了n(n>60000)次。虽然程序还是能写出来,不过可能需要很长时间才能算出一个短密码,所以并没有什么价值。唉!回去再看看自己写的MD5算法,看看什么地方可以大幅度改进的。再不行的话,就看看能不能写成万台机器联机的形式,这个可能需要从解密算法上入手了。
下面说明QQ本地文件加密的问题。QQ本地密码文件保存在文件ewh.db中,加密方式是MD5和简单位变换的结合。
一:密码文件结构
密码文件结构可以表示如下:
struct file_ewh.db { FileHeader *header; //文件头 FileBlock *blocks; //文件块数组 }
文件的图形结构如下: ___________________________________ 文件头文件块一文件块二....... -----------------------------------
|
| |
|
|
|
|
|
|
|