Lorenz: Von *.class zu *.java

Tach auch !

das thema sagt eigentlich alles, wie komme ich eigentlich von datei.class auf datei.java ?
andersrum is ja klar, nämlich mit javac.exe vom JDK .

Thanks im vorraus

  1. Yoh, auch Tach, ne

    das thema sagt eigentlich alles, wie komme ich eigentlich von datei.class auf datei.java ?

    Was Du da tun willst, nennt man Reverse-Engineering, also das dekompilieren/disassemblieren eines ausfuehrbaren Programmes. Dadurch duerftest Du mit ziemlicher Sicherheit gegen die Nutzungsbedingungen des Applets verstossen. Nur so als Hinweis, ich steh' normal auch nicht auf solches Geschwaetz.

    Wie man das nun macht, weiss ich leider auch nicht. Eigentlich kenne ich mich auch nicht mit Java aus. Auf jeden Fall brauchst Du halt ein solches Tool, was den Java-Bytecode wieder rueckuebersetzt. Theoretisch sollte es sowas geben, ist sogar viel einfacher als ein herkoemmliches Reverse-Engineering-Werkzeug, nur praktisch weiss ich auch nicht, wo man sowas findet. Ist halt in den meisten Faellen auch nicht ganz legal.

    Calocybe

    1. Hallo Calocybe,

      Was Du da tun willst, nennt man Reverse-Engineering, also das dekompilieren/disassemblieren eines ausfuehrbaren Programmes. Dadurch duerftest Du mit ziemlicher Sicherheit gegen die Nutzungsbedingungen des Applets verstossen. Nur so als Hinweis, ich steh' normal auch nicht auf solches Geschwaetz.

      Wenn das Applet, oder irgendein anderes Programm, unter den Bedingungen kostenfrei erhältlich ist und Du das Dingen öffentlich verwenden willst, gut, akzeptiert. Aber was, wenn Du für dieses Applet für viel Geld eine Vollizenz erworben hast, und Du findest einen Bug, wartest Du auf die nächst Version, in der dieser Bug eventuell behoben ist? Oder ganz brutal: Du findest ein Sicherheitsloch, Was machst Du, ärgern und wegschmeißen, oder benutzen und schwitzen? Oder Du brauchst noch ein kleines, sehr spezielles Feature. Anfrage an den Entwickler, Antwort:" Es tut mir leid, aber kein anderer Kunde möchte dieses Feature, ich habe nicht vor es einzubauen, aber ich kann es ihnen selbstverständlich einbauen, wenn Sie es unbedingt wünschen, es kostet nur eine Kleinigkeit!" sprachs und nannte einen Preis jenseits von Gut und Böse. Für 3 Zeilen Code. Alternativ ist noch der Quellcode zu erwerben, Preis siehe oben. Was bleibt Dir noch? Hinsetzten und selberschreiben? Da hättest Du auch nichts zu kaufen brauchen! Oder decompilieren, reparieren, Feature einbauen, javac und fertig. Viertelstunde Arbeit.
      Über die Frage der Legalität einer solchen Aktion möcht ich mich als Unkundiger nicht äußern, aber moralisch - ethisch verwerflich ist es ja wohl kaum.

      Wie man das nun macht, weiss ich leider auch nicht. Eigentlich kenne ich mich auch nicht mit Java aus. Auf jeden Fall brauchst Du halt ein solches Tool, was den Java-Bytecode wieder rueckuebersetzt. Theoretisch sollte es sowas geben, ist sogar viel einfacher als ein herkoemmliches Reverse-Engineering-Werkzeug, nur praktisch weiss ich auch nicht, wo man sowas findet.

      Es gibt einige solcher Tools. Eines gibt sogar formatierten und compilierbaren Code aus, ein anderes wandelt in, allerdings kaum lesbaren, C-Code um.

      »»  Ist halt in den meisten Faellen auch nicht ganz legal.

      Das Tool selbst ist ja wohl auf jeden Fall legal, zumindest hier in Deutschland. Kleines Beispiel:
      Es gibt zum zügigen und zerstörungsfreien Öffnen von Zylinderschlössern ein Werkzeug, das die Funktionstoleranzen der Schlösser mittels Vibration ausnutzt. Es gab einige Berichte in den Medien, dürfte wohl bekannt sein. Weder die Herstellung noch der Erwerb sind verboten! Nur die Benutzung unterliegt einigen Einschränkungen: sie darf nicht gegen geltendes Recht verstossen, vulgo zu Einbruchszwecken benutzt werden.

      Grüße

      Christoph

      1. Moin Christoph

        Aber was, wenn Du für dieses Applet für viel Geld eine Vollizenz erworben hast, und Du findest einen Bug, wartest Du auf die nächst Version, in der dieser Bug eventuell behoben ist? [...]

        Ja ja, ist ja gut. Ich stimme Dir ja vollkommen zu. Wie ich schon sagte, "ich steh' normal auch nicht auf solches Geschwaetz". Ich haette auch keine Hemmungen, solche Werkzeuge einzusetzen. Was ich natuerlich nicht tun wuerde ist, dann meinen Namen drunter zu setzen.

        Über die Frage der Legalität einer solchen Aktion möcht ich mich als Unkundiger nicht äußern, aber moralisch - ethisch verwerflich ist es ja wohl kaum.

        In dem von Dir beschriebenen Fall sowieso nicht. Das aendert aber nichts daran, dass es illegal ist. Nur sag mir mal, warum sollte ich mich an Gesetze halte, die offenkundig Schwachsinn sind?

        Das Tool selbst ist ja wohl auf jeden Fall legal, zumindest hier in Deutschland. Kleines Beispiel:

        Ja, das Tool zu besitzen oder selbst eines zu schreiben, ist legal (glaub ich *g*). Nur halt die Benutzung nicht. Wie gesagt, auch in dem von Dir geschilderten Fall verstoesst Du gegen die Nutzungsbedingungen. Auch bei der Benutzung fuer Lernzwecke, wie Lorenz es einsetzen will, bin ich skeptisch, was die Legalitaet anbelangt. Aber wen kuemmert's, Wissen ist fuer alle da, und wenn man es nicht frei zur Verfuegung gestellt bekommt (wie z.B. in Selfhtml), dann nimmt man es sich eben.

        Bye, Calocybe

  2. Tach auch !

    das thema sagt eigentlich alles, wie komme ich eigentlich von datei.class auf datei.java ?
    andersrum is ja klar, nämlich mit javac.exe vom JDK .

    Auch Tach!

    Sowas gibt's z.B. unter
    http://www.geocities.com/SiliconValley/Bridge/8617/jad.html

    Bitte die berechtigten Hinweise von Calocybe's Mail beachten.

    Gruss, Tom.

  3. Danke für die info‚s !
    wegen legalität und so :
    ich bin grad dabei mich in java eizuarbeiten, und da wollt ich mir nur paar *.java dateien anschaun um besser lernen zu können. ich hatte nie vor irgendeine class-datei zu verändern oder sowas. des macht ja auch gar kein spass !!

    ciao