38031f33171c14fa03949cd5fce13ff7d2a2ca37
Updated README.md to add links to rooted adb and additional required programs
Dump WeChat Messages from Android
WeChat(微信), as the most popular mobile IM app in China, failed to allow users to export well-formatted chat history. This tool can parse and dump WeChat chat history on a rooted android phone.
How to use:
Dependencies:
- python-PIL
- PyQuery
- pysox
- dill
- numpy
- python-csscompressor(optional)
- adb and rooted android phone connected to PC
- gnu-sed
Get Necessary Data:
- Get decrypted WeChat database (Linux & Mac Only):
- Automatic:
./android-interact.sh db_decrypt- Requires rooted adb. Available at https://play.google.com/store/apps/details?id=eu.chainfire.adbd&hl=en
- Manual:
- Get /data/data/com.tencent.mm/MicroMsg/long-long-name/EnMicroMsg.db from root filesystem, possible ways are:
./android-interact.sh db- Use your rooted file system manager app
- Get WeChat uin, possible ways are:
./android-interact.sh uin- Login to web wechat, get wxuin=1234567 from
document.cookie
- Get your phone IMEI number, possible ways are:
./android-interact.sh imei- Call
*#06#on your phone - Find IMEI in system settings
- Decrypt database, will produce
decrypted.db:
./decrypt_db.sh <path to EnMicroMsg.db> <imei> <uin> - Get /data/data/com.tencent.mm/MicroMsg/long-long-name/EnMicroMsg.db from root filesystem, possible ways are:
- Automatic:
- Get WeChat user resource directory from your phone to
resourcedirectory:./android-interact.sh res# you might need to change the resource location in this script if the default doesn't work
Run:
- Parse and dump text messages of every contact (resource directory is not required to run this):
./dump_msg.py decrypted.db output_dir
- Dump messages of one contact to rich-content html, containing voice messages, emojis, and images:
./dump_html.py decrypted.db resource <contact name> output.html
- Generate statistical report on text messages:
./report.sh message_dir
Examples:
See here for an example html.
Screenshots:
TODO
- (IMPORTANT) Audio file encryption method for latest version of wechat.
- Export all messages to libchat, and render messages from libchat
- Search by uid/username
- Skip existing files when copying android resources
- Fix rare unhandled types: > 10000 and < 0
- Use alias name in group chat, instead of id
- Better user experiences... see
grep 'TODO' lib -R - more easy-to-use for non-programmers (GUI?)
Disclaimers
This tool is still under development and testing, therefore it might not work very well on every device.
Use this software at your own risk. The author is not responsible for any potential damage/loss/privacy issues related to the use of this tool.
Languages
Python
78.1%
Java
13.7%
HTML
3.8%
Shell
3.7%
JavaScript
0.6%
