Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Java bytekod Reverse Engineering

    Reverse Engineering är konsten att dumpning enskilda , maskin - nivå kommandon som utgör ett kompilerat program och använda den för att återskapa den ursprungliga källkoden . Medan någon kompilerat program kan bakåtkompileras , den bytekod som gör upp sammanställts Java-program behåller flera identifierande egenskaper som gör reverse engineering det mycket lättare än andra kompilerad kod . Byte Code

    Java sammanställer inte direkt till maskinläsbar kod , utan snarare i vad som kallas " bytekod . " Programmeraren distribuerar denna bytekod , och när slutanvändare starta programmet , Java Virtual Machine sammanställer bytekod till plattformsspecifik maskinkod . Även om detta ger Java fördelen att tillåta en enda källkod till verket på flera maskiner , bevarar bytekod flera beskrivande funktioner i källkoden som gör det lättare för hackare att rekonstruera den ursprungliga källkoden .

    reverse engineering

    Hackare kan läsa ett Java-program för byte-kod direkt , med hjälp av " java.io.inputstream " bibliotek . Med detta kan man se de centrala delarna och byte kodkommandon nivå som utgör just den klassen filen . Hackare kan sedan spåra olika variabler i olika metoder för att successivt rekonstruera kontrollen flödet av programmet . När hackers gör detta , kan de upprepa programmets källkod för olika skadliga syften.
    Attacks

    Efter ingenjörer hacker omvänd ett visst program , det finns flera sätt han kan utnyttja detta för att få tillgång till maskiner som kör det programmet. Dessa inkluderar sårbarheter att utnyttja för att göra programmet köra skadlig kod med användarbehörighet , eller utför en " man i mitten " attacken . I det senare scenariot skulle hacker lägga sin egen skadlig kod programmets källkod , kompilera den och lägga den på Internet under täckmantel av det ursprungliga programmet . Ovetande användare sedan kan ladda ner programmet och direkt exekvera hacker kod .
    Förhindra Reverse Engineering


    grund av arten av Java byte-kod , är det nästan omöjligt att stoppa någon från att visa koden kärnan byte . Även metoder som kryptering kan ge ett visst skydd , desto effektivare krypteringen är , desto mindre plattformsoberoende programmet blir . Programmerare kan dock kasta omvänd ingenjörer med ett par kodning tricks . Dessa inkluderar att skriva funktioner som är irrelevanta för programmets egentliga utförandet , vilket kan kasta bort dem som försöker dekonstruera programmet .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Introduktion till programmering med Java
    ·Hur Ladda ner Java JDK
    ·Vad är Java-programmering används för
    ·Är Java starkt skrivade Viktigt
    ·Hur man tar bort entitetsreferenser i Saxon DocumentBui…
    ·Hur får man en JApplet Into JPanel
    ·Hur du returnerar ett booleskt värde i Java
    ·Java sträng Split Koder
    ·Callback-funktionen i Java
    ·Hur man skapar en meny i Android Programmering
    Utvalda artiklarna
    ·Hur man läser Windows Security Settings Genom VB.NET C…
    ·Hur att skicka data mellan Word dokument med VBA
    ·Visual Basic Subrutin Förklaring
    ·Hur man läser en fil byte för byte i C + +
    ·Hur får man en Remote webbsida med JavaScript
    ·Hur Återställ fältvariabler i PHP
    ·Hur du ändrar teckensnitt Använda HTML -kod
    ·Hur till Öppen CMD i bakgrunden med Python
    ·Hur man installerar XAMPP eAccelerator på en Mac
    ·Jquery Fördelar
    Copyright © Dator Kunskap http://www.dator.xyz