2014-12-22 22:49:33 +08:00
2014-12-22 22:49:33 +08:00
2014-11-21 14:09:09 +08:00
2014-11-23 17:53:00 +08:00
2014-12-20 17:55:46 +08:00
2014-12-20 17:55:46 +08:00
2014-11-22 22:33:02 +08:00
2014-12-22 22:00:20 +08:00

Dump Wechat Messages from Android

How to use:

Install Dependencies:

  • python-PIL
  • PyQuery
  • eyed3
  • sox
  • python-csscompressor(optional)

Get Necessary Data:

  • Get /data/data/com.tencent.mm/MicroMsg/long-long-name/EnMicroMsg.db from root filesystem, possible ways are:
    • adb root, adb pull /xxx/xxx.db
    • Use your rooted file system manager app
  • Get WeChat user resource directory from user filesystem, for example: sdcard:/tencent/MicroMsg/long-long-name. (could be different)
  • Get Wechat uin, possible ways are:
    • Login to web-based wechat; get wxuin=1234567 from document.cookie
    • Get default_uin from /data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml.
  • Get phone IMEI, possible ways are:
    • Call *#06# on your phone
    • Find IMEI in system settings
    • adb shell dumpsys iphonesubinfo | grep 'Device ID' | grep -o '[0-9]*'

Run:

  • Decrypt database, will produce decrypted_db.db (for now, Linux x64 only):
./decrypt_db.sh <path to EnMicroMsg.db> <imei> <uin>
  • Parse and dump text messages of every contact:
./dump_msg.py decrypted_db.db output_dir
  • Dump messages of one contact to single-file html, containing voice messages and images:
./dump_html.py decrypted_db.db <resource directory> <contact name> output.html

TODO

  • Parse uncommon message types
  • Add date/time in html
  • Group message
  • Fix smiley spacing in html
  • Show name of emoji in text output
  • Search by uid/username..
S
Description
No description provided
Readme
12 MiB
Languages
Python 78.1%
Java 13.7%
HTML 3.8%
Shell 3.7%
JavaScript 0.6%