Este projeto está agrupado em três diretórios
macos/
contém scripts DTrace para mexer com WeChat.app no macOS.eavesdropper.d
imprime a conversa em tempo real. Ele mostra efetivamente as transações do banco de dados em tempo real.dbcracker.d
revela a localização dos bancos de dados SQLite3 criptografados e suas credenciais. Como ele só pode capturar segredos quando o WeChat.app abre esses arquivos, você precisa fazer um login enquanto o script está em execução. Basta copiar e colar a saída do script para invocar o SQLCipher e fornecer os respectivos PRAGMA
s.pcbakchat/
você pode encontrar scripts para analisar os arquivos de backup do WeChat.gather.d
reúne várias informações necessárias para descriptografar o backup.devel/
reside utilitários para posterior engenharia reversa. Eles são destinados apenas a hackers e não se espera que os usuários finais deste projeto os utilizem.xlogger.d
imprime as mensagens de log que vão para /Users/$USER/Library/Containers/com.tencent.xinWeChat/Data/Library/Caches/com.tencent.xinWeChat/2.0b4.0.9/log/*.xlog
. Tornei este script destrutivo para substituir a variável global gs_level
.protobuf_config.py
descreve o formato protobuf usado pelos arquivos de backup do protobuf-inspector.__handlers__/
contém alguns manipuladores para serem usados com frida-trace
.init.js
contém a função auxiliar para frida-trace
. Como dtrace(1)
está pré-instalado no macOS, nenhuma dependência é necessária para executar os scripts. No entanto, pode ser necessário desabilitar o SIP se ainda não tiver feito isso. Além disso, você precisará do SQLCipher para inspecionar os bancos de dados descobertos por dbcracker.d
.
Para alguns scripts em devel
, você também precisará do Frida e de um dispositivo iOS (de preferência com jailbreak).
Para scripts DTrace, inicie o WeChat e execute
sudo $DECIPHER_SCRIPT -p $( pgrep -f ' ^/Applications/WeChat.app/Contents/MacOS/WeChat ' )
substitua $DECIPHER_SCRIPT
por macos/dbcracker.d
, macos/eavesdropper.d
, pcbakchat/gather.d
ou devel/xlogger.d
.
O material em pcbakchat/
é um pouco complicado. Consulte usage.md
para obter mais detalhes.
Espero que não. A maior parte do processamento é feita off-line no cliente macOS, e a sobrecarga do DTrace deve ser insignificante, portanto, há poucas chances de eles pegarem você.
A produção desses scripts envolveu muitas suposições e ilusões, mas pelo menos funciona na minha máquina :)
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