Java Decompiler

Also, ich habe mal ein kleine Sicherheitsfrage - den Meisten ist ja bekannt das es Java-Decompiler gibt, nur die Frage die sich mir jetzt in den Weg stellt ist, wenn ich zB eine Datenbankabfrage in Java-Programmiere, dann muss ich ja in dem Programm Benutzername und Passwort angeben.

Jetzt klaut sich jemand das Applet, decompiliert und hat zugang zur Datenbank?
 
Original geschrieben von BillieJoe
Also, ich habe mal ein kleine Sicherheitsfrage - den Meisten ist ja bekannt das es Java-Decompiler gibt, nur die Frage die sich mir jetzt in den Weg stellt ist, wenn ich zB eine Datenbankabfrage in Java-Programmiere, dann muss ich ja in dem Programm Benutzername und Passwort angeben.

Jetzt klaut sich jemand das Applet, decompiliert und hat zugang zur Datenbank?

Obsfuscatoren sind ein mittel sowas zu verhindern.

Zudem sollte mann so oder so überlegen entweder ein ziemlich unprivilegierten Accaunt dafür einzurichten, oder noch besser über SOAP communiziert.
 
Also das mit den Obfuscatoren hab ich mir mal angesehen, die machen das ganze für das menschliche Gehirn sozusagen schwierig, aber gerade Passwort fällt da trotzdem auf, denk ich mal.

Ich hab mir aber überlegt, wenn man Passwort usw. in eine eigene PHP-File speichert. Die PHP File muss ja keine Funktion haben, aber das Java-Applet könnte darauf zugreifen und sollte jemand die Datei direkt abrufen, bekommt er ja nur das geparste File zurück, also genau genommen nicht's 8) Wenn man sich nicht doof anstellt und zB echo "Password" schreibt *ggg*
 
BillieJoe hat gesagt.:
Also das mit den Obfuscatoren hab ich mir mal angesehen, die machen das ganze für das menschliche Gehirn sozusagen schwierig, aber gerade Passwort fällt da trotzdem auf, denk ich mal.

Stimmt Strings werden wohl nicht obsfuskiert, hab ich nicht drüber nachgedacht.
Eine möglichkeit wäre das sich das Applet über eine socket verbindung das passwort holt oder etwas anderes.

Halte Applets so oder so für schwachsinn :-)
 
Naja, dann halt eine WebStart-Anwendung ;) Bezieht sich ja auf das Selbe - oder kann man eine WebStart Anwendung nicht so einfach runterladen?
 
Die sicherste Lösung ist wohl die Verwendung von jce (keytool.exe) und einer Schlüsseldatenbank. Gerade das obfuscaten einzelner Klassen ist nicht besonders wirkunsvoll, da die Schnittstellen ja erhalten bleiben müssen.
 
Hallo zusammen....

Sorry, wenn ich mich hier einfach in das Thema einklinke, aber ich hab genau das selbe Problem. Möchte mit meiner Java Applikation eine passwortgeschützte MySql Datenbank ansprechen. Wenn ich das Passwort aber hart code, dann kann ja jeder meine Dateien dekompilieren und kann das Passwort ablesen. Da ich noch nicht so erfahren in Java bin, wäre ich froh wenn mir jemand einen detaillierten Vorschlag geben könnte wie ich mein Passwort schützen kann. Ich hab auch bereits das keytool.exe studiert, aber hab keinen blassen Schimmer wie das funktionieren soll :(
 
Java-Applikation, also kein Applet?

Die für mich einfachste Methode wäre wie ich gesagt habe die PHP-File. Dazu müsstest du einen Server mit PHP haben. Dann kannst du deine Zugangsdaten in das PHP File schreiben und wenn jeman die Seite direkt anspricht über den Internetexplorer, bekommt er nur das geparste PHP File zurück...

Natürlich, wenn deine Applikation Offline laufen soll, wird das ganze schwierig. Da muss dir vielleicht jemand anderer Helfen, aber Online finde ich ist das die einfachste Lösung. Schreib einfach wenn du noch Fragen dazu hast.
 
Zurück