|
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /home/www/web165/html/silverstrike/lib/plugins/meta/syntax.php on line 91 Inhaltsverzeichnis
Wie Sie die Resistenz Ihrer Java-Software gegen Reverse-Engineering testen könnenBei der Entwicklung von kommerziellen Systemen stellt sich manchmal die Frage, ob und wie stark man sie gegen Manipulation bzw. Reverse Engineering schützen soll. Schutzmechanismen sind manchmal sehr aufwändig, verkomplizieren den Erstellungsprozess und sind daher mit erheblichen Kosten verbunden (ich rede aus Erfahrung). In diesem Artikel lernen Sie, wie Sie einfach und schnell herausfinden können, was ein potentieller Übeltäter über Ihr System erfahren kann, wenn er die entsprechenden JAR-Dateien desassembliert. Diese Information kann hilfreich sein, wenn Sie sich für oder gegen Schutzmassnahmen entscheiden. Achtung: Bitte beachten Sie, dass das Desassemblieren diverser Anwendungen illegal ist (siehe dazu entsprechende Lizenzen und Endbenutzervereinbarungen). Alle hier angeführten Informationen sind ausschliesslich zum Schutze Ihrer eigenen Anwendungen gedacht, nicht zur Manipulation von Anwendungen Dritter. Schritt 1: JODE herunterladenLaden Sie das quelloffene Programm JODE (Java Optimize and Decompile Environment) von
http://jode.sourceforge.net/download.php bzw. herunter. Schritt 2: Starten Sie JODEDoppelklicken Sie auf die Datei jode-1.1.2-pre1.jar, um JODE zu starten. Es erscheint folgendes Fenster: Schritt 3: Die zu untersuchende JAR-Datei auswählenWählen Sie den Menüpunkt Options → Set classpath (rote Ellipse in Bildschirmfoto unten). Es erscheint folgende Dialogbox: Geben Sie in das Textfeld den vollständigen Pfad der zu untersuchenden JAR-Datei ein. Wenn wir z. B. die JAR-Datei der Anwendung FreeMind untersuchen wollen, muss ein Pfad wie D:\Programme\FreeMind\lib\freemind.jar eingegeben werden. Schritt 4: Desassemblierten Code betrachtenDanach erscheint folgendes Fenster: Doppelklicken Sie auf den Knoten freemind in der Baumansicht auf der linken Seite (rote Ellipse). Öffnen Sie anschliessend den Knoten main. Klicken Sie dann auf eine Klasse in der Baumansicht, z. B. FreeMindApplet. Danach werden Sie im Textfeld rechts sehen, welchen Quellcode JODE aus den Class-Dateien im gewählten JAR generiert hat: ... public class FreeMindApplet extends JApplet implements FreeMindMain { private HookFactory nodeHookFactory; public static final String version = "0.8.0"; public URL defaultPropsURL; public static Properties defaultProps; public static Properties userProps; private JScrollPane scrollPane = new JScrollPane(); private MenuBar menuBar; private PropertyResourceBundle resources; private JLabel status = new JLabel(); Controller c; static int iMaxNodeWidth = 0; public boolean isApplet() { return true; } public File getPatternsFile() { return null; } public Controller getController() { return c; } public MapView getView() { return c.getView(); } ... } In diesem Beispiel ist der desassemblierte Code übersichtlich, verständlich und leicht zu lesen. Auf die gleiche Art können Sie auch Ihre Anwendungen durchleuchten und dann entscheiden, ob Schutzmassnahmen wie Obfuscation gerechtfertigt sind. NewsletterDiese Website wird laufend aktualisiert und es kommen regelmässig neue Artikel hinzu. Wenn Ihnen dieser Artikel gefallen hat, können wir Sie benachrichtigen (höchstens ein Mal im Monat) sobald neue Informationen veröffentlicht werden. Melden Sie sich dazu bei unserem Newsletter an. |