Cliquez dessus ↑ ↑ ↑ mot bleu [ protocole analyse et restauration ] pour nous suivre
" Résoudre le problème de capture de paquets de l'application cocos2d wss longue connexion avec certificat lié dans l'application. "
Dans le processus d'analyse des applications, la capture de paquets est inévitable.
C'est normal de dire qu'il n'est pas crypté. Il suffit de trouver un outil pour le saisir et l'analyser. Certaines données d'application sont cryptées avec tls, mais elles utilisent le certificat intégré du système. Importez le certificat de notre outil de capture de paquets dans le système, et vous pouvez capturer le paquet avec un intermédiaire tel que Charles.
Certaines applications utilisent également le sslpinning. Le simple fait d'importer des certificats dans le système ne fonctionne pas. Vous devez utiliser des outils tels que frida pour accrocher les interfaces associées pour désactiver le sslpinning, comme l'objection, qui est relativement facile à utiliser pour la capture de paquets difficiles conventionnels. scénarios. Dans certaines applications, le port non standard par lequel passent les données cryptées tls n'est pas le protocole http, mais le protocole sock.Dans ce cas, il est également possible d'utiliser certaines commandes ou certains outils pour transférer le trafic.
Cependant, il y a toujours des interfaces utilisées par certaines applications qui sont en dehors des trois domaines et des cinq éléments et qui ne sont pas couvertes. Pour de telles applications, si vous voulez capturer des paquets, vous avez besoin d'autres solutions. Par exemple, une application cocos2d qui sera présentée aujourd'hui , le protocole wss utilisé par websocket , si vous l'utilisez, vous ne pouvez pas capturer les paquets normalement. Si vous capturez des paquets, vous ne pouvez pas les démarrer, mais vous devez les capturer. Certaines données d'enregistrement doivent être extraites, donc un traitement spécial est nécessaire.
Il s'agit d'un jeu qui utilise le shell d'une application d'échecs et de cartes bien connue, mais le contenu a été modifié. La longue connexion à l'intérieur est websocket, utilisant le port 7779, cryptée par le protocole wss, c'est-à-dire qu'une couche de tls est ajoutée Ce n'est rien, mais dans cocos2djs, le websocket de wss doit passer dans le chemin du certificat lié au lieu d'utiliser le certificat par défaut du système, comme suit :
e.prototype.connect = function() {
var e, t = this;
if (cc.sys.os === cc.sys.OS_ANDROID && cc.sys.isNative) cc.assetManager.getBundle("common").load("res/android/cacert", function(o, i) {
var n = i.nativeUrl;
e = new WebSocket(t._url, null, n);
t.connectWithWs(e);
}); else {
e = new WebSocket(this._url);
this.connectWithWs(e);
}
};
Dans ce cas, l'utilisation d'outils tels que l'objection ne fonctionne pas. Tant que vous capturez le paquet, vous échouerez inévitablement à la vérification du certificat. Que devez-vous faire ? Vous ne pouvez que modifier le fichier. Trouvez le fichier correspondant à ce chemin . Il s'agit d'un fichier PEM. L'outil de capture de paquets que nous utilisons, tel que la clé publique du certificat de Charles, est exporté, ajouté à ce fichier, enregistré et remplacé dans le répertoire correspondant du téléphone mobile. Le format de fichier est le suivant, chaque clé publique est indépendante l'une de l'autre et il semble qu'elle soit exportée du système pour être utilisée :
GlobalSign Root CA
==================
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----
Ce fichier se trouve généralement dans le répertoire assets, vous pouvez le retrouver en cherchant.
La prochaine fois que vous le rencontrerez, autant l'essayer, c'est très simple et cela vous évitera bien des soucis.
Si vous avez des questions, envoyez un message pour nous contacter.
N'oubliez pas de cliquer sur "Regarder", "J'aime" et "Partager"
La nouvelle règle, pour recevoir les tweets à temps, vous devez d'abord mettre en vedette le compte officiel
N'oubliez pas de jouer ou vous manquerez
Appuyez longuement pour suivre et communiquer tout le temps.