|
吾爱游客
发表于 2020-4-9 19:37
申 请 I D (用户名):zzg00000
个人邮箱:zzg00000@126.com | 最近在研究企业微信的逆向。
根据原来研究微信逆向数据的经验,分享下,逆向企微数据库密码
1、思路简单些,先在od里面搜索database字符串,看是否有发现
发现有“open database failed”的字符串,双击跳转到汇编处,
怀疑此处为打开失败的提示。
2、看起来很像是打开数据库的地方,寻着此处往上在函数顶下断。
然后,运行,扫码登录,在断下后,单步运行。
发现堆栈中有数据库的路径
3、继续往下跟,发现一处有路径用到的地方
ecx数据是这样
4.继续单步往下,运行完后,eax里面是这样
点进去去看后看起来像个结构体
很像存放了数据库句柄的。
5.继续一路往下,直到要跳过
Open database failed. 字符串处。发现比较了cmp dword ptr ds:[edi+0x4],0x0,可能在edi+0x4里面存了句柄之类,edi+0x4里面的内容
和上面的eax一样
jmp后,此函数基本结束。
若不跳转,将进入 open database failed的提示区
6.F9后,会再次断下在此call,不过是个新的数据库路径
观察刚才疑似密钥处,发现
这个密钥似乎是16位的,而个人版的是32位的。
7.取了这个密钥用个人版本的解密代码稍作修改后尝试。
果然解密成功。是sqlit的数据库
解密的是user.db,不过可惜,这个数据需要链接密码才可以使用,不能直接查看
8.本来想解密直接看看数据库的用户好友信息,看来失败告终。
9.查看用户数据目录下面,发现它的有些log表是没有加密的,可以直接打开,也不要解密。
至此,数据库密钥研究告一段落 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|