本帖最后由 藏山 于 2024-6-26 14:20 编辑
介绍:
本人小白,第一次发帖,如有违规,我会立马删除,
现在有备份钉钉聊天记录的需求,然后全网搜索没有发现怎么快速备份钉钉聊天记录的方法
现找到的方法如下:钉钉官网推荐,通过在手机多选导出聊天记录到邮箱,但是安卓每次最多导出50条记录,IOS每次最多100条,效率太低 https://www.dingtalk.com/qidian/help-detail-13413103.html
想通过获取电脑本地数据库文件的方式获取个人聊天记录,然后导出备份。
个人聊天记录都在mac电脑上,所以通过mac的相关软件操作想要获取到数据库秘钥,通过学习,现在可以拿到微信数据库的秘钥,但是同样的方法获取钉钉的聊天记录但是失败了
通过lldb断点我也拿不到sqlite3_key,
[Shell] 纯文本查看 复制代码 lldb -p $(pgrep DingTalk)
(lldb) process attach --pid 45999
Process 45999 stopped
* thread #1, name = 'UserAgent', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #0: 0x00007ff80159e5c2 libsystem_kernel.dylib`mach_msg2_trap + 10
libsystem_kernel.dylib`mach_msg2_trap:
-> 0x7ff80159e5c2 <+10>: retq
0x7ff80159e5c3 <+11>: nop
libsystem_kernel.dylib`macx_swapon:
0x7ff80159e5c4 <+0>: movq %rcx, %r10
0x7ff80159e5c7 <+3>: movl $0x1000030, %eax ; imm = 0x1000030
Target 0: (DingTalk) stopped.
Executable module set to "/Applications/iDingTalk.app/Contents/MacOS/DingTalk".
Architecture set to: x86_64h-apple-macosx-.
(lldb) br set -n sqlite3_key
Breakpoint 1: where = libsqlite3.dylib`sqlite3_key, address = 0x00007ff8078483a0
(lldb) ^C
(lldb) exit
Quitting LLDB will detach from one or more processes. Do you really want to proceed: [Y/n] Y
各位大佬,求帮助,非常感谢,或者我应该怎么操作,我思路非常少,没有接触过这方面的东西,希望大家帮助我一下,
参考资料:
- PC微信逆向分析の绕过加密访问SQLite数据库 https://www.52pojie.cn/thread-1084703-1-1.html
- [调试逆向] 撬开MacQQ的本地SQLite数据库(适用于Msg3.0.db+) https://www.52pojie.cn/thread-1335657-1-1.html
- LLDB实战之导出Mac微信备份聊天记录的SQLite密码(SQLCipher加密) https://cloud.tencent.com/developer/article/1561339
大佬们,又发现一个新的参考资料:
[原创]钉钉PC版数据库解密算法分析 https://bbs.kanxue.com/thread-255356.htm
逆向开发学习手机取证之钉钉取证分析 https://blog.csdn.net/qq_35350654/article/details/110663011 |