Java Decompiler

Danke für deine schnelle Antwort....!

Ja das hab ich mir auch schon überlegt, aber da ich meine Applikation (kein Applet!) auch offline zur Verfügung stellen möchte, ist das ein Problem. Anstonsten wäre der Umweg über ein PHP-File sicher sinnvoll. Ich hab schon Stunden damit verbracht, eine geeignete Lösung für dieses Problem zu finden, aber bis jetzt konnte mir noch niemand wirklich helfen.

Vielleicht geht das ja mit diesem "KeyTool.exe", das in diesem Thread schon erwähnt wurde, aber leider hab ich keine Ahnung wie man das realisieren soll, da ich noch nie damit gearbeitet habe.

Wäre über jeden Tip dankbar.
 
Also um, soviel ich über KeyTool.exe gelesen habe ist es nicht die Lösung für dein Problem. Man kann mit KeyTool Verschlüsseln, mit anderen Worten es verschlüsselt und erzeugt zwei weitere Schlüssel die man braucht um das verschlüsselte zu lesen.

Aber das wäre in deinem Fall nicht sinnvoll, irgendwie müsste dann jeder User den Schlüssel haben. Egal, lies am Besten selber nach:

http://www.javabuch.de/ Kapitel 47
Java ist auch eine Insel

Andere Frage, du willst dass dein Programm Offline läuft und Zugriff auf die Datenbank hat? Geht doch eigentlich nicht oder wo liegt die Datenbank?
 
Danke für deine beiden Vorschläge. Hab mir das mit dem "KeyTool" jetzt mal durchgelesen. Scheint mir für mein Problem wirklich nicht die richtige Lösung zu sein.

Zu deiner Frage: Ich hab bei mir Lokal einen MySql Dienst installiert. Falls ich die Applikation aber weitergebe, werde ich wohl auf ein anderes Datenbanksystem ausweichen, welches sich einfacher Weitergeben lässt. Ansonsten müsste ich ja zuerst auf allen Arbeitsstationen MySql lokal installieren, was ja auch keinen Sinn macht ;)

Aber ich nehme ja nicht an, dass es eine Rolle für mich Spiel auf welche DB ich zugreifen will, oder? Schliesslich werden die Zugangsdaten (Username & Passwort) sowieso hart gecoded.....egal was für eine Datenbank ich anspreche. Oder sehe ich da etwas falsch?

Hmm....Aber irgendeine Lösung für mein Problem muss es doch geben, oder meinst nicht? Die Java Entwickler können doch so eine drastische Sicherheitslücke nicht einfach übersehen haben :)

Oder gibt es eventuell noch eine andere Zwischenschicht (anstatt PHP) die ich verwenden könnte, ohne vorher einen ganzen Webserver installieren zu müssen?
 
Sorry, ich frage mich selber wie das Möglich ist, aber anscheinend gibt es keine einfache bzw. zufriedenstellende Methode das zu realisieren.

Vielleicht ist am Besten nur den Leuten die Zugang haben sollen Benutzername und Passwort zugeben. Also, das Programm fragt die Benutzerdaten einfach ab. Du kannst ja bei Datenbanken Lese- bzw. Schreibrechte vergeben und so kannst du jeder Person die geeigneten Benutzerdaten zukommen lassen.

Die Frage ist inwiefern Leute die Datenbank verändern können. Wenn Sie nur Daten abrufen sollen, dann könntest du in deinem Programm ohne große Bedenken Benutzername und Passwort "bekanntgeben", wenn der Vorgegebene Benutzer nur Leserechte hat. Vielleicht findest du dort eine zufriedenstellende Lösung...

Übrigens, ich habe mal einen Obfuscator ausprobiert. Original File:
Code:
class Test {
    public static void main(String args[]) {
     System.out.println("PASSWORT");
    }
}

Daraus wurde nach erfolgreicher "obfuscation" und decompilierung:

Code:
class z {

    public static void main(String args[]) {
        try {
         System.out.println("PASSWORT");
         return;
        } catch(IllegalArgumentException _ex) {
        }
    }
}

Mit anderen Worten, es wird nur der Code für das menschliche Gehirn schwirieger zu verstehen.
 
ja, wahrscheinlich werde ich einfach den Benutzer auffordern müssen, das Passwort für den Datenbankzugriff manuell einzugeben. Scheinbar hat wirklich niemand eine passende Lösung zu diesem Problem parat, was mich ehrlich gesagt sehr erstaunt, da man ja nicht selten mit geschützten Datenbanken arbeitet.

Das mit den Obfuscatoren hab ich auch schon ausprobiert, aber STRINGS werden nicht verändert, deshalb ist dies auch keine ideale Lösung.

Na ja, dann werd ich mein Problem eben umgehen indem der Benutzer das Passwort manuell eingeben muss. Falls du aber trotzdem noch eine Lösung entdeckst, dann wäre es toll, wenn du diese mal posten könntest.

Ansonsten Danke ich dir für deine Bemühungen. Falls ich noch was finden sollte, werde ich es dich natürlich wissen lassen.
 
Un die meisten DB verlangen entweder ein Password oder der Anweder wird uber das Usermanagement des BS erkannt.
Passwort oder deren Hash hard gecodet in einem Programmteil zu stecken auf das jeder zugreifen kann sind Sicherheitslucke, die man nicht verhindern kann nur verbieten,
 
Hi,

Vielleicht etwas spät.. aber trotzdem!

ich würde als free-Webpage-User eine ip-checkendes javascript im html-File an das applet binden und mit Html-Guard von element5 verschlüsseln
Mfg,
Philipp

-- ne mark fufzig!
 
Zuletzt bearbeitet:
Zurück