Dieses Projekt ist in drei Verzeichnisse unterteilt
macos/
enthält DTrace-Skripte zum Herumspielen mit WeChat.app unter macOS.eavesdropper.d
druckt das Gespräch in Echtzeit. Es zeigt Datenbanktransaktionen effektiv im laufenden Betrieb an.dbcracker.d
enthüllt die Speicherorte der verschlüsselten SQLite3-Datenbanken und ihre Anmeldeinformationen. Da nur dann Geheimnisse erfasst werden können, wenn WeChat.app diese Dateien öffnet, müssen Sie sich anmelden, während das Skript ausgeführt wird. Kopieren Sie einfach die Skriptausgabe und fügen Sie sie ein, um SQLCipher aufzurufen und die entsprechenden PRAGMA
s bereitzustellen.pcbakchat/
finden Sie Skripte zum Parsen der Sicherungsdateien von WeChat.gather.d
sammelt mehrere Informationen, die zum Entschlüsseln des Backups erforderlich sind.devel/
befinden sich Dienstprogramme für weiteres Reverse Engineering. Sie sind nur für Hacker gedacht und es wird nicht erwartet, dass die Endbenutzer dieses Projekts sie verwenden.xlogger.d
druckt die Protokollnachrichten, die an /Users/$USER/Library/Containers/com.tencent.xinWeChat/Data/Library/Caches/com.tencent.xinWeChat/2.0b4.0.9/log/*.xlog
gehen. Ich habe dieses Skript destruktiv gemacht, um die globale Variable gs_level
zu überschreiben.protobuf_config.py
beschreibt das Protobuf-Format, das von den Sicherungsdateien für Protobuf-Inspector verwendet wird.__handlers__/
enthält einige Handler, die mit frida-trace
verwendet werden.init.js
enthält die Hilfsfunktion für frida-trace
. Da dtrace(1)
auf macOS vorinstalliert ist, sind zum Ausführen der Skripte keine Abhängigkeiten erforderlich. Möglicherweise müssen Sie SIP jedoch deaktivieren, falls Sie dies noch nicht getan haben. Darüber hinaus benötigen Sie SQLCipher, um die von dbcracker.d
erkannten Datenbanken zu überprüfen.
Für einige Skripte in devel
benötigen Sie außerdem Frida und ein (vorzugsweise jailbreaktes) iOS-Gerät.
Starten Sie für DTrace-Skripte WeChat und führen Sie es aus
sudo $DECIPHER_SCRIPT -p $( pgrep -f ' ^/Applications/WeChat.app/Contents/MacOS/WeChat ' )
Ersetzen Sie $DECIPHER_SCRIPT
durch macos/dbcracker.d
, macos/eavesdropper.d
, pcbakchat/gather.d
oder devel/xlogger.d
.
Das Zeug in pcbakchat/
ist ein wenig kompliziert. Weitere Einzelheiten finden Sie unter usage.md
.
Hoffentlich nicht. Der Großteil der Verarbeitung erfolgt offline auf dem macOS-Client und der Overhead von DTrace sollte vernachlässigbar sein, sodass die Wahrscheinlichkeit gering ist, dass Sie erwischt werden.
Die Erstellung dieser Skripte erforderte übermäßig viel Rätselraten und Wunschdenken, aber zumindest funktioniert es auf meinem Rechner :)
Device Type: MacBookPro14,1
System Version: Version 10.14.6 (Build 18G8022)
System Language: en
WeChat Version: [2021-04-02 17:49:14] v3.0.1.16 (17837) #36bbf5f7d2
WeChat Language: en
Historic Version: [2021-03-29 20:23:50] v3.0.0.16 (17816) #2a4801bee9
Network Status: Reachable via WiFi or Ethernet
Display: *(1440x900)/Retina