| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Programmation Java >> Content
    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.

    Previous :

    next :
      articles connexes
    ·Comment faire pour supprimer la ponctuation dans une ch…
    ·Comment commencer une nouvelle ligne en Java en utilisa…
    ·Comment définir les attributs de session en JSP 
    ·Comment faire pour supprimer les doublons d'un tableau …
    ·Comment faire pour installer Java 7 
    ·Comment faire pour exécuter Java sous X -Windows 
    ·Comment démarrer écriture de programmes informatiques…
    ·Comment formater un tableau sur TextView pour Android 
    ·Comment réparer Lava sur 317 client 
    ·Android App développement Tutorial 
      articles en vedette
    ·Sun /Java et Erreur 1722 
    ·Les avantages de l' introspection en Python 
    ·TypeError en Python 
    ·Comment développer une application de test de personna…
    ·Des orientations pour une Thickbox Jquery 
    ·Comment ouvrir Python dans le CMD 
    ·Comment effectuer un décalage binaire en C + + 
    ·Comment se convertir à matrice dans MATLAB 
    ·Comment défragmenter une image VMWare 
    ·Comment insérer Batch un fichier PHP avec MySQL 
    Copyright © Connaissances Informatiques http://fr.wingwit.com