我从根上解决了微信占用手机内存问题

2022-06-23 15:52:35 +08:00
 huihuiHK

效果图

由于不会前端,所以前端界面比较丑,不过能看就行。哈哈

工具地址

有用的话点个 star ,谢谢 开源地址: https://github.com/greycodee/wechat-backup

使用流程

详细说明在: https://greycode.top/posts/android-wechat-bak/

  1. 手机聊天记录备份到电脑,在有 ROOT 权限的手机上登陆微信,电脑点击备份恢复,把聊天记录恢复到有 ROOT 的手机上。(如果没有有 ROOT 权限的手机,建议可以用安卓模拟器)
  2. 收集下面这些数据,然后放在同一个文件夹下:
    • image2 文件夹:里面存放着所有的微信聊天图片,位置在:/data/data/com.tencent.mm/MicroMsg/[32 位字母]/image2
    • voice2 文件夹:里面存放着所有的微信语音,位置在:/sdcard/Android/data/com.tencent.mm/MicroMsg/[32 位字母]/voice2
    • voide 文件夹:里面存放着所有的微信视频,位置在:/sdcard/Android/data/com.tencent.mm/MicroMsg/[32 位字母]/voide
    • avatar 文件夹:里面存放着所有的微信头像,位置在:/data/data/com.tencent.mm/MicroMsg/[32 位字母]/avatar
    • Download 文件夹: 微信的聊天发送的文件存放在这里,位置在:/sdcard/Android/data/com.tencent.mm/MicroMsg/Download
    • EnMicroMsg.db: 微信的数据库文件,位置在:/data/data/com.tencent.mm/MicroMsg/[32 位字母]/EnMicroMsg.db
    • WxFileIndex.db: 微信的文件索引数据库文件,位置在:/data/data/com.tencent.mm/MicroMsg/[32 位字母]/WxFileIndex.db
  3. 获取解密 DB 的密钥。
  4. 进行微信聊天数据 DB 的解密
  5. 转换微信语音
  6. 运行本程序,打开控制台输出的网址,就可以查看你的聊天记录了。

快速解密微信 DB

把要解密的微信 DB 所在文件夹挂在到容器的 /wcdb 上面。

$ docker run --rm -v /Users/zheng/Documents:/wcdb  greycodee/wcdb-sqlcipher -f DB 名字 -k 解密密钥

2022/06/22 05:31:17 开始解密...
2022/06/22 05:31:28 解密成功: ok
2022/06/22 05:31:28 明文数据库文件名: EnMicroMsg_plain.db

快速转换微信语音 amr 文件

把要转换的语音文件夹挂载到容器的 /media 目录上,然后执行下面的命令,就会自动将文件夹里的语音转换成 mp3 格式了。

$ docker run --rm -v /Users/zheng/Documents/voice2:/media  greycodee/silkv3-decoder

/media/msg_491351061422dbfa9bb0a84104.amr
-e [OK] Convert /media/msg_491351061422dbfa9bb0a84104.amr To /media/msg_491351061422dbfa9bb0a84104.mp3 Finish.
5852 次点击
所在节点    分享创造
54 条回复
huihuiHK
2022-06-23 15:56:18 +08:00
备份完后就可以清掉手机上的微信数据了
huihuiHK
2022-06-23 15:56:37 +08:00
释放手机存储空间
aliezoip
2022-06-23 15:57:52 +08:00
牛逼啊!
2han9wen71an
2022-06-23 16:32:27 +08:00
ios 咋操作?
NullData
2022-06-23 16:35:37 +08:00
牛逼,已经 star 了
huihuiHK
2022-06-23 16:36:22 +08:00
@2han9wen71an 同样的操作,先聊天记录备份到电脑,然后从电脑备份到有 ROOT 的手机上(或者安卓模拟器上),然后转移上面的几个文件夹和 DB
huihuiHK
2022-06-23 16:37:58 +08:00
@NullData 谢谢支持
zytomorrow
2022-06-23 17:31:40 +08:00
牛逼,已 start 。
但我没有 ROOT 的手机,等下用模拟器试试
ggwangqi
2022-06-23 19:15:03 +08:00
解密 DB 的密钥怎么获取?
huihuiHK
2022-06-23 19:19:13 +08:00
neighbads
2022-06-24 07:33:12 +08:00
太棒了。30 几个 G 微信数据。终于有地方放了
neighbads
2022-06-24 07:40:14 +08:00
后面多次备份的文件怎么解决呢。数据好弄。直接合并。db 文件有办法合并吗
thetbw
2022-06-24 09:04:43 +08:00
nice
huihuiHK
2022-06-24 09:45:27 +08:00
@neighbads 建议每次备份后就直接清理微信的数据,节省内存。如果不清除手机微信数据的话,下次备份还是全量备份的,也就是说下次备份 db 会包含本次的数据的。
huihuiHK
2022-06-24 09:53:42 +08:00
@neighbads 还有就是多次备份的话,按日期建立文件夹就可以了,每次备份就放到新的文件夹里。后面要看聊天记录的话在我那个代码里改到要查看的文件路径,然后运行程序
Wdafff
2022-06-24 10:32:36 +08:00
[如果没有有 ROOT 权限的手机,建议可以用安卓模拟器] 这个操作有可能会封号的,最好还是实体机器
huihuiHK
2022-06-24 10:40:52 +08:00
@Wdafff 微信现在这么严格的吗😂?
huihuiHK
2022-06-24 10:42:02 +08:00
@Wdafff 不过备份的话一般都是好几个月或一年备份一次,隔这么久登陆一次模拟器应该没什么大问题吧
huihuiHK
2022-06-24 10:47:44 +08:00
不过以微信这个尿性,建议大家能不用模拟器就不用模拟器,毕竟微信账户还是挺重要的
Wdafff
2022-06-24 11:23:45 +08:00
@huihuiHK #18 毕竟是微信,谁知道呢,还是防着点好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/861678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX