-
-
[原创]钉钉PC版数据库解密算法分析
-
发表于:
2019-11-1 16:34
16076
-
1. 解密过程分析
CreateFile 下条件断点,在打开数据库文件时 断下后查看堆栈,调用来至mainframe.dll
查看sqlite 源码,在 openDatabase 函数有以上的代码段,直接 用 ida 在
mainframe.dll 搜索 字符串 "temp",查找引用,定位到
openDatabase 函数
x64dbg 下断点,成功断下
跳出此函数,往下运行,停在疑似设置数据库密码的位置
步入
call 4202420 就是设置密码
打开ida 分析
4202420
从密钥里取16 byte 作为 AES-128 的 key 分别初始化 encrypt_key 和 decrypt_key 保存在
encrypt_cb_func_user_data ,encrypt_cb_func 会在解密数据库页面时被调用
encrypt_cb_func 的ida 代码如下
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2019-11-1 16:36
被欧阳brother编辑
,原因: