Telefone: Pixel 6
Sistema: Android 12
HttpCanary Premium
Aqueles que desejam usar funções avançadas sem restrições podem consultar este meu artigo para combate real e engenharia reversa do mais recente software de captura de pássaros amarelos
Instalação do certificado HttpCanary
Já usei o Android 8 antes e o certificado pode ser instalado diretamente pelo HttpCanary, mas parece que o sistema Android 12 não pode, e a mensagem de prompt é a seguinte:
O seguinte código-fonte do Android é analisado. O método hasOnlyVpnAndAppsTrustAnchors na classe com.android.certinstaller.CredentialHelper é o principal método para restringir a instalação do certificado. O código-fonte é o seguinte:
Se este certificado for usado para o aplicativo e VPN, ele retornará verdadeiro, desde que o gancho o faça retornar falso para sempre, ele ignora a limitação da instalação do certificado CA. Eu escrevi um módulo Xposed chamado BypassCertLimit com base neste princípio, e o o link está no final do artigo .
Eu instalei o LSPosed no meu celular, e as etapas de uso são as seguintes:
Primeiro ative o módulo
, clique no módulo para inserir a seleção de software de destino, clique nos três pontos no canto superior direito e clique em ocultar
Cancele a seleção do aplicativo do sistema
, procure por cert, encontre o instalador do certificado e selecione-o, e
por fim force a parada do HttpCanary para que o módulo entre em vigor, e então o certificado CA poderá ser instalado normalmente, conforme a figura:
Até agora, o certificado foi instalado nas credenciais do usuário, mas após o Android 7.0, o Android não confia no certificado instalado pelo usuário, portanto, a solicitação não pode ser decodificada ao obter https. Para aplicativos de terceiros, o certificado precisa ser adicionado como um certificado do sistema
Então, como adicioná-lo? A etapa principal é mover o certificado para o caminho /system/etc/security/cacerts/, que requer remontar /system para ser legível e gravável, mas o android 12 não permite que esse diretório seja montado, nem o usuário root, solução veja abaixo.
Mover credenciais do usuário para credenciais do sistema
Esta solução usa o módulo Magisk. A versão do Magisk que instalei é a v25.1. Esta versão não suporta mais a instalação online de módulos, então usei o FoxMagiskModuleManager. Link: https://github.com/Fox2Code/FoxMagiskModuleManager
O módulo do certificado móvel é movecert, link: https://github.com/Magisk-Modules-Repo/movcert, baixe o pacote zip e mova-o para o caminho /sdcard/Download, use FoxMagiskModuleManager para instalar a partir do local, este módulo não pode ser passado diretamente Magisk está instalado, eu tentei, reiniciei após a instalação, todos os certificados de usuário serão movidos para o certificado do sistema
Pacote de instalação:
BypassCertLimit
FoxMmm-0.5.4.apk
movecert-1.9