WeChat ซึ่งเป็นแอป IM บนมือถือที่ได้รับความนิยมมากที่สุดในจีน ไม่มีวิธีการใดๆ ในการส่งออกประวัติข้อความที่มีโครงสร้าง
เราวิศวกรรมย้อนกลับโปรโตคอลการจัดเก็บข้อความ WeChat และจัดเตรียมเครื่องมือนี้เพื่อถอดรหัสและแยกวิเคราะห์ข้อความ WeChat บนโทรศัพท์ Android ที่รูทเครื่อง นอกจากนี้ยังสามารถแสดงข้อความเป็นไฟล์ html ที่มีอยู่ในตัวเอง รวมถึงข้อความเสียง รูปภาพ อีโมจิ วิดีโอ ฯลฯ
เครื่องมือนี้ได้รับการตรวจสอบล่าสุดว่าใช้งานได้กับ Wechat เวอร์ชันล่าสุดเมื่อวันที่ 2025/01/01 หากเครื่องมือนี้เหมาะกับคุณ โปรดสละเวลาสักครู่เพื่อเพิ่มโทรศัพท์/ระบบปฏิบัติการของคุณลงในวิกิ
./third-party/compile_silk.sh
)pip install -r requirements.txt
./android-interact.sh db
อาจใช้รหัสผู้ใช้ที่ไม่ถูกต้อง${userid}
ของคุณโดยตรวจสอบเนื้อหาของ /data/data/com.tencent.mm/MicroMsg
บนระบบไฟล์ รูท ของอุปกรณ์ ควรเป็นชื่อที่มีความยาว 32 อักขระซึ่งประกอบด้วยเลขฐานสิบหก/data/data/com.tencent.mm/MicroMsg/${userid}/EnMicroMsg.db
จากอุปกรณ์./decrypt-db.py decrypt --input EnMicroMsg.db
รับ WeChat uin (จำนวนเต็ม) วิธีที่เป็นไปได้คือ:
./decrypt-db.py uin
ซึ่งค้นหา uin ใน /data/data/com.tencent.mm/shared_prefs/
document.cookie
รับรหัสอุปกรณ์ของคุณ (จำนวนเต็มบวก) วิธีที่เป็นไปได้คือ:
./decrypt-db.py imei
ใช้วิธีการค้นหารหัสอุปกรณ์*#06#
บนโทรศัพท์ของคุณถอดรหัสฐานข้อมูลด้วยการรวมกันของ uin และรหัสอุปกรณ์:
./decrypt-db.py decrypt --input EnMicroMsg.db --imei <device id> --uin <uin>
หมายเหตุ: คุณอาจต้องลองวิธีต่างๆ ในการรับรหัสอุปกรณ์ และค้นหาวิธีที่สามารถถอดรหัสฐานข้อมูลได้ โทรศัพท์บางรุ่นอาจมี IMEI หลายอัน คุณอาจต้องลองใช้ทั้งหมด ดู #33. คำสั่งจะดัมพ์ฐานข้อมูลที่ถอดรหัสแล้วที่ EnMicroMsg.db.decrypted
หากการถอดรหัสข้างต้นไม่ได้ผล คุณสามารถลองใช้โปรแกรมถอดรหัสรหัสผ่านเพื่อบังคับกุญแจได้ คีย์เข้ารหัสไม่แรงมาก
คัดลอกไดเรกทอรีทรัพยากรผู้ใช้ WeChat /data/data/com.tencent.mm/MicroMsg/${userid}/{avatar,emoji,image2,sfs,video,voice2}
จากโทรศัพท์ไปยังไดเรกทอรี resource
:
./android-interact.sh res
RES_DIR
ในสคริปต์หากตำแหน่งของไดเร็กทอรีเหล่านี้แตกต่างกันบนโทรศัพท์ของคุณ สำหรับ wechat เวอร์ชันเก่า ไดเร็กทอรีอาจเป็น /mnt/sdcard/tencent/MicroMsg/
tar
โดยที่มีหรือไม่มีการบีบอัด จากนั้นจึงคัดลอกไฟล์เก็บถาวร แนะนำให้ใช้ busybox tar
เนื่องจาก tar
ของระบบ Android อาจหายใจไม่ออกในเส้นทางยาวresource
ที่มีส่วนย่อยต่อไปนี้: avatar,emoji,image2,sfs,video,voice2
(ไม่บังคับ) ดาวน์โหลดแคชอิโมจิจากที่นี่และขยายขนาดภายใต้ wechat-dump
วิธีนี้จะหลีกเลี่ยงการดาวน์โหลดอิโมจิมากเกินไประหว่างการเรนเดอร์
wget -c https://github.com/ppwwyyxx/wechat-dump/releases/download/0.1/emoji.cache.tar.bz2
tar xf emoji.cache.tar.bz2
แยกวิเคราะห์และถ่ายโอนข้อความของ ทุก การแชท (ต้องใช้ฐานข้อมูลที่ถอดรหัส):
./dump-msg.py decrypted.db output_dir
แสดงรายการแชททั้งหมด (ฐานข้อมูลถอดรหัสที่จำเป็น):
./list-chats.py decrypted.db
สร้างรายงานสถิติเกี่ยวกับข้อความ (ต้องใช้ output_dir
จาก ./dump-msg.py
):
./count-message.sh output_dir
ถ่ายโอนข้อความของผู้ติดต่อรายหนึ่งไปยัง html ซึ่งมีข้อความเสียง อีโมจิ และรูปภาพ (ต้องใช้ฐานข้อมูลและ resource
ที่ถอดรหัส):
./dump-html.py "<contact_display_name>"
ไฟล์เอาต์พุตคือ output.html
ตรวจสอบ ./dump-html.py -h
เพื่อใช้เส้นทางอื่น
ภาพหน้าจอของ html ที่สร้างขึ้น:
ดูที่นี่สำหรับตัวอย่าง html
grep 'TODO' wechat -R