Connaissances Informatiques >> programmation >> Programmation Java >> Content
  Derniers articles
  • Java 1.5 Enum Tutoriel 
  • Comment faire pour récupérer des é…
  • Comment générer des nombres aléat…
  • Tutoriel sur les Enterprise Java Bea…
  • En Java Comment faites-vous une Unre…
  • Comment créer Myoval & Classes myRe…
  • Comment ajouter une perspective Serv…
  • Comment faire pour afficher les numé…
  • Quel est statique en Java 
  • Comment dériver une variable à une…
  •   Programmation Java
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Programmation Java

    Java Byte Code de Reverse Engineering

    Le reverse engineering est l'art de dumping individuelles, les commandes de niveau machine qui composent un programme compilé et l'utiliser pour recréer le code source d'origine. Alors que n'importe quel programme compilé peut être conçu inverse , le byte-code qui rend les programmes Java compilés jusqu'à retenir plusieurs caractéristiques identitaires qui font ingénierie inverse beaucoup plus facile que d'autres le code compilé . Byte code

    Java ne compile pas directement dans le code lisible à la machine , mais plutôt dans ce qui est appelé " byte code . " Le programmeur distribue ce code octet, et lorsque les utilisateurs finaux lancer le programme , la machine virtuelle Java compile le code d'octets en une plate-forme spécifique du code machine . Bien que cela donne Java l'avantage de permettre un seul code source mis à travailler sur plusieurs machines , le byte-code conserve plusieurs caractéristiques descriptives du code source qui rend plus facile pour les pirates de reconstituer le code source d'origine .

    reverse Engineering

    pirates peuvent lire le byte code d'une application Java directement , en utilisant la bibliothèque " java.io.InputStream " . Avec cela, ils peuvent voir les éléments de base et les commandes de niveau octet de code qui constituent ce fichier de classe particulière. Les pirates peuvent alors suivre les différentes variables à travers différentes méthodes pour reconstruire progressivement le flux de contrôle du programme. Une fois que les pirates font, ils peuvent reproduire le code source de l'application pour différentes fins malveillantes.
    Attaque

    Après pirates ingénieurs inverse d'un programme particulier , il ya plusieurs égards, il peut exploiter ceci pour avoir accès aux machines qui exécutent ce programme. Il s'agit notamment d'exploiter les vulnérabilités de rendre le programme exécuter du code malveillant avec la permission de l'utilisateur, ou l'exécution d'un " man in the middle " attaque. Dans ce dernier scénario , le pirate serait ajouter son propre code malveillant le code source de l'application, le recompiler , et le mettre sur Internet , sous le couvert du programme original . Les utilisateurs non avertis peuvent ensuite télécharger l'application et d'exécuter directement le code du pirate .
    Prévention Reverse Engineering

    En raison de la nature du byte code Java , il est presque impossible d'arrêter quiconque d'afficher le code d'octet de base. Bien que les méthodes telles que le cryptage peuvent fournir un certain degré de protection , plus efficace le cryptage est, le moins indépendant de la plateforme du programme devient . Les programmeurs peuvent , cependant, jeter désossers off avec quelques astuces de codage. Ceux-ci incluent des fonctions d'écriture qui sont sans rapport avec l'exécution effective du programme , ce qui peut se débarrasser de ceux qui essaient de désosser le programme.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment écrire JDBC Utilisation d'Eclipse 
  • Pourquoi classes abstraites en Java 
  • Comment vérifier l'état de l'imprimante en Java 
  • Définition de la méthode et variables en Java statique 
  • Comment créer des balises personnalisées JSP en 
  • Comment développer une calculatrice simple avec Java 
  • Comment insérer et enlever gauche et droite tableaux Java 
  • Comment initialiser un HashMap en Java 
  • Réglez Vs . Liste en Java 
  • Comment valider une date en Java 
  • Connaissances Informatiques © http://www.ordinateur.cc