Files
wechat-dump/README.md
T
2014-12-20 20:30:46 +08:00

1.5 KiB

Dump Wechat Messages from Android

How to use:

Install Dependencies:

  • python-numpy
  • python-PIL
  • 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
  • Show name of emoji in text
  • Search by uid/username..
  • Fix emoji sizes..
  • Sometimes beautiful soup failed on links..