Introduction aux outils d'ingénierie inverse

La méthode d'ingénierie inverse était à l'origine appliquée uniquement au matériel, mais maintenant également aux ordinateurs, aux bases de données et même à l'ADN humain. Dans le domaine de la cybersécurité, l'ingénierie inverse peut être utilisée pour déterminer les détails d'une violation de la façon dont l'attaquant a accédé au réseau et comment le système a été violé. Les cybercriminels utilisent toute la gamme des tactiques de piratage informatique pour pénétrer les réseaux d'entreprise derrière l'attaque. Il a un objectif particulier et possède l'expérience, l'inspiration, la structure et le financement. En ce sens, l'ingénierie inverse nous aide à détecter leurs tactiques à l'avenir pour l'empêcher.

Plusieurs outils d'ingénierie inverse sont disponibles dans Kali Linux. Voici quelques-uns des outils les plus importants utilisés dans l'ingénierie inverse de Kali Linux.

Outils pour l'ingénierie inverse

1. IDA
L'IDA est devenue de facto le guide de l'étude des logiciels agressifs, des tests de vulnérabilité et de la validation COTS. Cela offre un large éventail de fonctionnalités et fonctionne très bien sur toutes les plates-formes, telles que les plates-formes Windows, Linux et Mac OS X. Il dispose également de plusieurs plugins qui permettent d'étendre davantage les fonctionnalités du démonteur. IDA 5.0 est disponible gratuitement sur le site et peut être téléchargé facilement. En 2001, IDA Pro a reçu le 18e prix d'excellence technique PC Magazine. C'était un prédécesseur architectural de Microsoft. Net.
Le principal avantage de cette méthode est que tout aspect des données affichées peut être modifié de manière interactive:
• Fournissez les noms des fonctions, des variables, etc.
• Créez des diagrammes et des diagrammes de flux de code pour simplifier la compréhension du code désassemblé.
• Utilisez les informations de type des arguments de fonction et les définitions de structure C ++ pour nommer automatiquement les arguments et les variables.
• Reconnaître et nommer automatiquement les fonctions de bibliothèque standard dans le code d'assemblage.

2. Nudge4j
Nudge4j est un petit morceau de code Java qui permet à l'utilisateur d'accéder à votre application Java. Il est conçu pour être utilisé pendant le développement afin de créer un environnement pour tester les logiciels par rapport à une application en cours d'exécution. En outre, des contrôles de régression et une analyse d'intégration pour exercer certaines des fonctionnalités clés, vous pouvez conserver un extrait de code Nudge4j avant de pousser pour la version finale.
Comme si le navigateur était une télécommande plus intelligente, le contrôle de votre programme Java à partir du navigateur. Pour exécuter la JVM en envoyant le code du navigateur, essai logiciel en direct.

3. OllyDbg
OllyDbg est un niveau assembleur de débogueur Microsoft Windows 32 bits. Le focus d'analyse de code binaire le rend particulièrement utile lorsque l'origine est inaccessible. OllyDbg est une application shareware, mais vous pouvez la télécharger gratuitement et l'utiliser.
Certaines fonctionnalités d'OllyDbg sont données comme suit
1. Analyse du code - trace les enregistrements, détecte les commutateurs de procédures, les appels d'API, les tables, les constantes de boucles et les chaînes.
2. Rechercher un dossier d'objets - localise les objets et les routines de bibliothèque.
3. Enregistrez les correctifs entre les sessions, retournez-les dans des fichiers exécutables et corrigez les mises à jour.
4. 3DNow, MMX et instructions pour les types de données et extensions SSE, y compris Athlon.
5. Reconnaît des structures complexes telles que l'invitation à la procédure.
6. Trace l'exécution du programme, enregistre les arguments de fonction connus.
7. Recherche de commandes incorrectes et masquage de séquences binaires.
8. Examine et modifie la mémoire, définit les points d'arrêt et suspend le programme à la volée.
9. Entrez les correctifs entre les sessions, restaurez-les dans des fichiers exécutables et corrigez les mises à jour.

4. Valgrind:
Valgrind est un package de profilage et de débogage Linux. En éliminant les périodes de recherche de bogues et en rendant les programmes plus fiables, nous pouvons éliminer la gestion de la mémoire et les erreurs de thread avec son outil. De plus, un profilage détaillé peut être effectué pour accélérer les processus du programme et construire de nouveaux outils à l'aide de Valgrind. La distribution de Valgrind se compose actuellement de six outils de production
• Memcheck (C'est un détecteur d'erreur de mémoire)
• DRD et Helgrind (Il s'agit d'un détecteur d'erreur à deux fils)
• cachegrind (Profiler de la branche et cache)
L'industrie de l'ingénierie inverse est considérée par les fabricants comme un moyen important de maintenir la concurrence, ou certains peuvent la considérer comme un moyen de comprendre les défauts de conception et de reprise. Cependant, Kali Linux nous offre des outils très importants et bien connus pour la rétro-ingénierie. En outre, il existe de nombreux autres outils de rétro-ingénierie, mais ces outils sont déjà inclus et sortent de la boîte de Kali Linux.

5. Dex2jar
Une collection d'outils et de bibliothèques qui peuvent être utilisés pour améliorer le développement d'Android. dex et java. fichiers de classe. Dex2jar comprend une collection de bibliothèques Java qui rationalisent les tâches de développement liées à Android et simplifient les projets APK.
Certains composants importants de Dex2jar sont les suivants:

  1. Le format Dalvik Executable (.dex / .odex) est destiné au lecteur dex. Il a une API similaire à ASM dans la légèreté.
  2. Le dex-Translator est destiné à effectuer des travaux de conversion. L'instruction dex lit le format de fichier dex et le convertit en format ASM après que certains ont été optimisés.
  3. Dex-it est utilisé par le traducteur dex pour représenter les instructions de dex.
  4. D2j-smali démonte le dex en petit et assemble le dex du smali. Implémentation de smali / baksmali différente, même syntaxe, mais nous prenons en charge l'échappement de style desc «Lcom / dex2jar \ t \ u1234».

6. Androguard
Androguard est principalement une application écrite en pythons pour jouer avec * Dex / Odex (.dex) (démonter, décomposer), * Android Assets (.arsc). * XML d'Android (.xml) * Dex / Odex (machine virtuelle Dalvik), * APK (.apk). Il est également livré avec un contrôle python pour OSX / Linux / / Windows.
Certaines fonctionnalités importantes d'Androguard sont données comme suit
1. Le premier décompilateur natif Dalvik (DAD) est décompilé du bytecode au code source java.
2. Serveur open source de logiciel Android.

Conclusion

À l'aide de ces dispositifs d'ingénierie inverse, vous profiterez des services les plus modernes, car cela signifie que vous n'avez pas à reproduire les recherches que quelqu'un d'autre a faites et que vous pouvez choisir un système. Donc, dans cet article, nous avons vu différents outils d'outils d'ingénierie inverse. J'espère que cet article vous sera utile.

Articles recommandés

Ceci est un guide des outils d'ingénierie inverse. Nous discutons ici de l'introduction et des outils d'ingénierie inverse. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus–

  1. Ingénierie inverse avec Python
  2. Qu'est-ce que le développement logiciel?
  3. Qu'est-ce que Nmap?
  4. Installer Kali Linux
  5. Inverser en JavaScript