Этот проект сгруппирован в три каталога
macos/
хранятся сценарии DTrace для работы с WeChat.app в macOS.eavesdropper.d
печатает разговор в режиме реального времени. Он эффективно отображает транзакции базы данных на лету.dbcracker.d
показывает расположение зашифрованных баз данных SQLite3 и их учетные данные. Поскольку он может перехватывать секреты только тогда, когда WeChat.app открывает эти файлы, вам необходимо выполнить вход в систему во время работы сценария. Просто скопируйте и вставьте выходные данные сценария, чтобы вызвать SQLCipher, и укажите соответствующие PRAGMA
.pcbakchat/
вы можете найти сценарии для анализа файлов резервных копий WeChat.gather.d
собирает несколько фрагментов информации, необходимых для расшифровки резервной копии.devel/
находятся утилиты для дальнейшего реверс-инжиниринга. Они предназначены только для хакеров, и конечные пользователи этого проекта не должны их использовать.xlogger.d
печатает сообщения журнала, поступающие в /Users/$USER/Library/Containers/com.tencent.xinWeChat/Data/Library/Caches/com.tencent.xinWeChat/2.0b4.0.9/log/*.xlog
. Я сделал этот скрипт деструктивным, чтобы перезаписать глобальную переменную gs_level
.protobuf_config.py
описывает формат protobuf, используемый файлами резервных копий для protobuf-inspector.__handlers__/
содержит некоторые обработчики, которые будут использоваться с frida-trace
.init.js
содержит вспомогательную функцию для frida-trace
. Поскольку dtrace(1)
предварительно установлен в macOS, для запуска сценариев не требуется никаких зависимостей. Однако вам может потребоваться отключить SIP, если вы еще этого не сделали. Кроме того, вам понадобится SQLCipher для проверки баз данных, обнаруженных dbcracker.d
.
Для некоторых скриптов в devel
вам также понадобится Frida и iOS-устройство (желательно с джейлбрейком).
Для сценариев DTrace запустите WeChat и запустите
sudo $DECIPHER_SCRIPT -p $( pgrep -f ' ^/Applications/WeChat.app/Contents/MacOS/WeChat ' )
замените $DECIPHER_SCRIPT
на macos/dbcracker.d
, macos/eavesdropper.d
, pcbakchat/gather.d
или devel/xlogger.d
.
Материал в pcbakchat/
немного запутан. Более подробную информацию можно найти на usage.md
.
Надеюсь, нет. Большая часть обработки выполняется в автономном режиме на клиенте macOS, а накладные расходы на DTrace должны быть незначительными, поэтому вероятность того, что они вас поймают, невелика.
Создание этих скриптов потребовало чрезмерного количества догадок и принятия желаемого за действительное, но, по крайней мере, на моей машине это работает :)
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