Trois méthodes de collecte de données d'application : ingénierie inverse, OCR, interception de paquets

Je vais vous présenter trois méthodes pour le crawling des données d'une application : l'ingénierie inverse, l'OCR et le sniffing de paquets pour analyser l'intérieur de l'application.

7
Trois méthodes de collecte de données d'application : ingénierie inverse, OCR, interception de paquets

1. Ingénierie inverse (Reverse Engineering)

L'ingénierie inverse est le processus de décompilation du code binaire d'une application pour restaurer le code source original ou une forme proche de celui-ci.

Les fichiers APK d'Android ou les fichiers IPA d'iOS peuvent être analysés via une décompilation respective.

Cette méthode est principalement utilisée pour comprendre la logique interne d'une application ou pour comprendre les méthodes de communication des données.

Il est possible que l'analyse ne soit pas réalisable pour une application qui a été spécialement traitée pour éviter l'ingénierie inverse.

Ci-dessous, nous avons divisé l'ingénierie inverse des APK Android et des IPA iOS pour les résumer.

1.1. Ingénierie inverse des APK Android

Outils : jadx, APKTool, Dex2jar, etc.

1.1.1. Procédure d'ingénierie inverse des APK Android

  1. Téléchargez le fichier APK depuis Google Play Store.

  2. Utilisez des outils tels que APKTool pour décompiler le fichier APK.

  3. Analysez le code source décompilé pour comprendre la logique de l'application, les points d'API, la structure des données, etc.

  4. Analysez les paquets réseau ou vérifiez les journaux pour comprendre les méthodes de communication des données.

1.2. Ingénierie inverse des IPA iOS

Outils : Hopper, IDA Pro, Ghidra, etc.

1.2.1. Procédure d'ingénierie inverse des IPA iOS

  1. Téléchargez le fichier IPA depuis l'App Store.

  2. Décompilez le fichier IPA en utilisant l'outil choisi.

  3. Analysez le code source décompilé pour comprendre la logique interne de l'application, les méthodes de communication des données, etc.

2. OCR

OCR (Reconnaissance Optique de Caractères) est une méthode pour capturer l'écran d'une application et extraire le texte de cette image.

La précision de l'OCR est influencée par divers facteurs.

La taille du texte, la police, la couleur de l'arrière-plan, etc., peuvent influencer la précision.

Il peut être difficile d'obtenir une précision élevée, donc ce n'est pas une méthode recommandée.

Cependant, dans des situations où l'accès à l'API ou au code source est impossible ou où il est difficile d'obtenir des données par d'autres moyens, cela peut être une méthode utile.

2.1. Outils OCR

  • Tesseract : Le moteur OCR open source le plus largement connu.

  • Google Cloud Vision API : Un service OCR fourni par Google, offrant une haute précision et prenant en charge de nombreuses langues.

  • ABBYY FineReader : Un logiciel OCR commercial offrant une haute précision.

2.2. Procédure avec les outils OCR

  1. Capturez l'écran où les informations nécessaires de l'application sont affichées.

  2. Pour améliorer la précision de l'OCR, un prétraitement de l'image peut être nécessaire. Cela peut inclure la suppression du bruit de l'image, l'ajustement de la luminosité et du contraste, etc.

  3. Convertissez l'image prétraitée en texte à l'aide de l'outil OCR.

  4. Comme le texte obtenu par OCR peut ne pas être net ou contenir des erreurs, il est nécessaire de le corriger.

  5. Analysez le texte corrigé et enregistrez les données nécessaires.

3. Sniffing de paquets (Packet Sniffing)

Le sniffing de paquets consiste à capturer et analyser les paquets de données dans un réseau.

Cette méthode est utile pour comprendre comment une application communique avec un serveur lors du crawling de l'application.

Le sniffing de paquets permet d'analyser la logique interne de l'application, les points d'API utilisés, les mécanismes d'authentification, etc.

3.1. Outils de sniffing de paquets

  • Wireshark : L'outil de sniffing de paquets le plus largement utilisé.

  • Charles Proxy : Principalement utilisé pour le développement web et l'analyse d'applications mobiles. Il offre une fonctionnalité de proxy SSL permettant d'analyser le trafic HTTPS.

  • MITMproxy : Analyse le trafic en simulant une attaque de l'homme du milieu (Man-in-the-Middle).

  • tcpdump : Outil d'analyse de paquets basé sur du texte, utile dans les environnements serveur.

3.2. Procédure de sniffing de paquets

  1. Installez l'outil de sniffing de paquets et configurez éventuellement un proxy sur l'application ou l'appareil.

  2. Exécutez l'application et capturez le trafic à l'aide de l'outil de sniffing de paquets pendant les échanges de données.

  3. Analysez les paquets capturés pour comprendre les points d'API, les protocoles utilisés, les formats de données transmis, etc.

  4. Après avoir identifié les points d'API nécessaires, comprenez comment envoyer des requêtes à ces points et recevoir des réponses.

    En général, les API RESTful utilisent des méthodes HTTP telles que GET, POST, PUT, DELETE, etc.

  5. Une fois que vous avez identifié les données ou les modèles nécessaires, écrivez le code de crawling en conséquence.

4. Conclusion

Les API endpoints peuvent exposer des informations sensibles telles que les informations de connexion des utilisateurs. De plus, étant donné que les endpoints API peuvent changer avec les mises à jour de l'application, il est recommandé de prendre des mesures préventives et de gérer cela de manière appropriée.

Consultez également cet article :

Collecte de données, automatisez maintenant

Commencez en 5 minutes sans coder · Expérience de crawling sur plus de 5 000 sites web

Commencez gratuitement →

Comments

Add Comment

Your email won't be published and will only be used for reply notifications.

Continuer la lecture

Get notified of new posts

We'll email you when 해시스크래퍼 기술 블로그 publishes new content.

Your email will only be used for new post notifications.