秋客 发表于 2020-4-9 19:37

申请会员ID:zzg00000


申 请 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:,0x0,可能在edi+0x4里面存了句柄之类,edi+0x4里面的内容
和上面的eax一样

jmp后,此函数基本结束。
若不跳转,将进入 open database failed的提示区
6.F9后,会再次断下在此call,不过是个新的数据库路径
观察刚才疑似密钥处,发现

这个密钥似乎是16位的,而个人版的是32位的。
7.取了这个密钥用个人版本的解密代码稍作修改后尝试。
果然解密成功。是sqlit的数据库

解密的是user.db,不过可惜,这个数据需要链接密码才可以使用,不能直接查看
8.本来想解密直接看看数据库的用户好友信息,看来失败告终。
9.查看用户数据目录下面,发现它的有些log表是没有加密的,可以直接打开,也不要解密。


至此,数据库密钥研究告一段落

Hmily 发表于 2020-4-10 13:55

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
页: [1]
查看完整版本: 申请会员ID:zzg00000