Ce projet est regroupé en trois répertoires
macos/
contient les scripts DTrace pour jouer avec WeChat.app sur macOS.eavesdropper.d
imprime la conversation en temps réel. Il affiche efficacement les transactions de base de données à la volée.dbcracker.d
révèle les emplacements des bases de données SQLite3 cryptées et leurs informations d'identification. Puisqu'il ne peut capturer des secrets que lorsque WeChat.app ouvre ces fichiers, vous devez vous connecter pendant l'exécution du script. Copiez et collez simplement la sortie du script pour appeler SQLCipher et fournir les PRAGMA
respectifs.pcbakchat/
vous pouvez trouver des scripts pour analyser les fichiers de sauvegarde de WeChat.gather.d
rassemble plusieurs informations nécessaires pour déchiffrer la sauvegarde.devel/
résidence pour une ingénierie inverse ultérieure. Ils sont destinés uniquement aux pirates informatiques et les utilisateurs finaux de ce projet ne sont pas censés les utiliser.xlogger.d
imprime les messages de journal envoyés à /Users/$USER/Library/Containers/com.tencent.xinWeChat/Data/Library/Caches/com.tencent.xinWeChat/2.0b4.0.9/log/*.xlog
. J'ai rendu ce script destructeur pour écraser la variable globale gs_level
.protobuf_config.py
décrit le format protobuf utilisé par les fichiers de sauvegarde pour protobuf-inspector.__handlers__/
contient quelques gestionnaires à utiliser avec frida-trace
.init.js
contient la fonction d'assistance pour frida-trace
. Puisque dtrace(1)
est préinstallé sur macOS, aucune dépendance n'est requise pour exécuter les scripts. Cependant, vous devrez peut-être désactiver SIP si vous ne l'avez pas encore fait. De plus, vous aurez besoin de SQLCipher pour inspecter les bases de données découvertes par dbcracker.d
.
Pour certains scripts devel
, vous aurez également besoin de Frida et d'un appareil iOS (de préférence jailbreaké).
Pour les scripts DTrace, lancez WeChat et exécutez
sudo $DECIPHER_SCRIPT -p $( pgrep -f ' ^/Applications/WeChat.app/Contents/MacOS/WeChat ' )
remplacez $DECIPHER_SCRIPT
par macos/dbcracker.d
, macos/eavesdropper.d
, pcbakchat/gather.d
ou devel/xlogger.d
.
Les éléments de pcbakchat/
sont un peu compliqués. Voir usage.md
pour plus de détails.
Espérons que non. La plupart des traitements sont effectués hors ligne sur le client macOS et la surcharge de DTrace devrait être négligeable, il y a donc peu de chances qu'ils vous surprennent.
La production de ces scripts a impliqué un excès de conjectures et de vœux pieux, mais au moins cela fonctionne sur ma machine :)
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