765 Shares 5350 views

L'ingénierie inverse pour les débutants. Toutes les applications Android protection de l'ingénierie inverse

Parfois, on veut voir, et quel genre de remplir un programme spécifique? Ensuite, il doit utiliser une ingénierie inverse. Qu'est-ce? Comment ça marche? Comment est-ce processus? Tout cela vous apprendra de cet article.

Qu'est-ce qu'un programme d'ingénierie inverse?

Donc, appelée analyse de l'application de processus afin de comprendre comment cela fonctionne, de sorte que dans l'avenir de recréer ce processus en apportant les modifications nécessaires. Habituellement utilisé pour ce débogueur but et assembleur. En fonction de la qualité du logiciel utilisé sera différent et le résultat est la quantité de temps qui devrait être consacré à ce sujet pour mettre sous une forme normale. Expliquer l'ingénierie inverse pour les débutants le meilleur exemple. Comme celui-ci effectuer une demande écrite pour Android. Maintenant, nous allons être de savoir quoi et comment.

Utilisation des applications Android

D'abord, nous devons clarifier certains points. L'application utilise le bytecode et LogCat. Ce homologues locaux précédemment mentionné débogueur et assembleur. Il est également nécessaire de comprendre la structure des applications elles-mêmes. Ainsi, chaque programme est un fichier avec l'extension apk. Il a emballé zip'om. Nous sommes intéressés par son contenu – les ressources d'application, classes.dex et AndroidManifest.xml. Si vous faites la programmation sur Android, les problèmes avec l'ancien et celui-ci ne devrait pas être. Mais classes.dex – ce code octet du programme qui est compilé spécifiquement pour la machine virtuelle. Extrait de son code source Java disponible sur Internet ne reçoivent pas les fonds. Mais est-il possible d'obtenir opcodes Dalvik – un ensemble spécial de commandes qui sont utilisées pour la machine virtuelle. Pour une analogie, on peut dire que cet ensemble d'inondation locale. Classes.dex peut également être converti en un fichier avec le pot. Même dans ce cas, vous pouvez obtenir un code java-après décompilation, qui sera plus ou moins lisible. C'est le chemin que nous allons.

décompilation

Ce processus sera réalisé en utilisant le programme Apk Mangeoire. Avant de commencer, assurez-vous qu'il ya le bon pilote pour devaysa et fonctionne en mode USB débogage. Dans un premier temps, nous aurons besoin de déplacer le fichier qui sera analysé dans une directive apk_manager lieu-apk-ici-pour-modding. Après cela, vous devez exécuter Script.bat. S'il n'y a pas de problème, puis démarrez la console, qui sera lettrage vert. Sélectionnez le numéro de neuf points – « décompiler ». Une fois que le processus est lancé, il est nécessaire de ne pas fermer la console. Ensuite, l'intérêt ouvert APK fichier en utilisant l'archiveur et l'extrait de celui-ci classes.dex, à programme a traité dex2jar. Pour nous, le résultat recherché, il est nécessaire de déplacer un objet avec l'extension .bat. Vous verrez le fichier, qui prendra fin en .jar. Jusqu'à présent, la fenêtre ne se ferme pas.

nous analysons les données

Pour obtenir des informations sur l'application, vous devez l'ouvrir manifeste. Selon elle, nous déterminons qui agit comme l'activité principale. Ce fut elle qui présente maintenant pour nous la plus grande importance. Il est également souhaitable d'examiner le fond du programme. Si le fond est l'information sur le gestionnaire de licences, il est beaucoup plus difficile à réaliser l'ingénierie inverse. Si vous passez à jd-IUG et développez l'arborescence, nous pouvons voir plusieurs espaces de noms. Supposons que les trois d'entre eux. Dans le premier sont les fichiers associés à la publicité. Le second sera le cours de gestionnaire de licences. Dans le troisième, nous sommes les données nécessaires. Il est quand nous allons. Il faudra trouver et retirer la clé, puis le reste des lignes qui vérifient si la version de travail sous licence. Tous ces aspects doivent être nettoyés. Ensuite, dans notre Apk directeur à la recherche d'un endroit où lieu spécifié bytecode. Maintenant, nous allons faire une petite digression et commenter l'équipe, ce qui peut potentiellement causer des problèmes. Après cela, il suffit de compiler le programme.

construire des applications

Cela nous aidera tout le même gestionnaire Apk. Dans la console, que nous n'avons pas verrouillé, sélectionnez l'élément №14. prochain tour. Si l'application est assez compliquée, quand vous commencez, il peut perdre partiellement ou totalement son efficacité. Ne vous inquiétez pas, cela signifie que nous sommes là seulement à mi-chemin et un autre endroit où aller. Nous continuons d'effectuer l'ingénierie inverse-Toutes les applications Android. Dites, ce qu'il faut faire dans un cas particulier, en termes généraux, hélas, est impossible. Par conséquent, rechercher les problèmes auront leur propre. Par exemple, si une fenêtre d'application est bloquée fenêtre pop-up, vous devriez voir le code et enlever la partie qui est responsable de ce dialogue. Pour aider à cela peut-jd IUG. Comme vous pouvez le voir, l'ingénierie inverse est pas une entreprise facile, et il a besoin d'un magasin considérable de connaissances. Même si tout est géré sans aucun problème, il sera nécessaire de tester les performances des applications. Autrement dit, l'ingénierie inverse est plus une activité de temps. Nous continuons à travailler jusqu'à ce que tous les problèmes sont identifiés.

sécurité

Et si nous avons besoin d'une protection Toutes les applications application de l'ingénierie inverse? Dans ce cas, il y a deux options: l'utilisation de programmes spécifiques ou la création d'une structure de code qui va interférer pour faire analyse syntaxique écrite. Cette dernière option est adéquat des professionnels expérimentés, nous allons donc considérer que la première méthode de protection. En tant que l'utilisation de logiciels spécialisés ProGuard. Cette application, qui est utilisé pour réduire l'obscurcissement et l'optimisation de code. Si le programme « chasse » à travers elle, nous obtenons un fichier avec l'extension * .apk plus petit qu'il ne l'était. Dans un tel cas, il serait beaucoup plus difficile à démonter. Et l'avantage de ce programme est qu'il a même été introduit dans la construction des applications Android avec des mises à jour r9. Par conséquent, en tirer profit est tout développeur qui a des outils standard de création et de développement.

conclusion

On ne peut pas dire que l'ingénierie inverse peut être représenté comme quelque chose uniformément bon ou mauvais. Bien sûr, du point de vue des développeurs, qui ont créé une application, il est un événement heureux. Mais d'autre part, dans de nombreux cas les programmeurs expérimentés écriture les fichiers nécessaires peuvent être un temps moins cher que l'utilisation de ces outils. Bien que pour les développeurs débutants ingénierie inverse peut rendre un bon service s'il n'y a aucune idée de la façon de mettre en œuvre quelque chose, même exemplaire, et pas tout à fait aperçu clair peut aider à la réalisation de cet objectif.