From 23d5d05fe326b547e991b4cbefd9a06718c0c1ea Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 4 Nov 1999 22:23:55 +0000 Subject: [PATCH] added bluesky decompiler and applet changed the package git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1197 379699f6-c40d-0410-875b-85095c16579e --- jode/doc/applet.html | 11 ++-- jode/doc/applet.html.in | 95 -------------------------------- jode/doc/bluesky.html | 110 ++++++++++++++++++++++++++++++++++++++ jode/doc/download.html.in | 1 + jode/doc/history.html | 1 + jode/doc/jode.html | 26 +++++++-- jode/doc/license.html | 1 + jode/doc/usage.html | 5 +- 8 files changed, 144 insertions(+), 106 deletions(-) delete mode 100644 jode/doc/applet.html.in create mode 100644 jode/doc/bluesky.html diff --git a/jode/doc/applet.html b/jode/doc/applet.html index 4fedc99..67fcea4 100644 --- a/jode/doc/applet.html +++ b/jode/doc/applet.html @@ -24,16 +24,19 @@
  • Usage
  • License
  • History
  • +
  • Blue Sky
  • The JODE Applet

    - + -

    http://www.informatik.uni-oldenburg.de +

    Sorry you need a java enabled browser to test a java applet :-p

    +

    Don't read the rest, it only contains information about the applet.

    +


    Press the start button to decompile Michael's
    You may give multiple entries in the class path field separated by a comma. The components may be local or remote zip or jar files or -directories. Note that browsers deny access to different hosts or +directories. Note that browsers deny accesses to different hosts or local files that are not in a subdirectory of the applet directory.

    -

    Removing security restrictions with Internet Explorer

    +

    Removing security restrictions under Internet Explorer

    This information was submitted by Mihail Popescu diff --git a/jode/doc/applet.html.in b/jode/doc/applet.html.in deleted file mode 100644 index 2bbca07..0000000 --- a/jode/doc/applet.html.in +++ /dev/null @@ -1,95 +0,0 @@ - - - -Java Optimize and Decompile Environment (JODE) - - - - - - - - - - - - - -
    JODE
    -Homepage -

    - -Jode - -
    -

    The JODE Applet

    - - - - -

    http://www.informatik.uni-oldenburg.de - -Press the start button to decompile Michael's Plasma -applet. You may change the classpath and class name to point to a -class file of your choice. But note that most browsers doesn't allow -loading files from a different server.

    - -Save probably doesn't work, because it is forbidden by the browser.

    - -You may give multiple entries in the class path field separated by a -comma. The components may be local or remote zip or jar files or -directories. Note that browsers forbid accesses to different hosts or -local files that are not in a subdirectory of the applet -directory.

    - - -

    Removing security restrictions under Internet Explorer

    - -

    This information was submitted by Mihail Popescu - . Please note that this will - give all applets on our web server full access to your computer, - so use it at your own risk.

    - -

    Go to the View/Internet Options... dialog
    -Select the "Security" tab

    -
      -
    • Set "Zone:" to "Trusted sites zone"
    • -
    • Click "Add Sites..." -
      • Add http://www.informatik.uni-oldenburg.de
      • -
      • Uncheck "Requires server verificaton..."
      • -
      • Click "OK"
      • -
    • -
    • Check "Custom (for expert users)"
    • -
    • Click "Settings..." -
      • Under Java/Java permissions, check "Custom"
      • -
      • Click "Java Custom Settings" -
        • Select "Edit Permissions" tab
        • -
        • Under "Unsigned Content"/"Run Unsigned Content", make sure - "Run in sandbox" is checked and then check all the "Enable" - buttons under "Additional Unsigned Permissions"
        • -
        • Click "OK"
        • -
      • -
      • Click "OK"
      • -
    • -
    • Click "OK"
    • -
    -
    - -


    - -

    -http://www.informatik.uni-oldenburg.de/~delwi/jode/applet.html, last -updated on 24-Okt-1999.

    - - - diff --git a/jode/doc/bluesky.html b/jode/doc/bluesky.html new file mode 100644 index 0000000..b875be9 --- /dev/null +++ b/jode/doc/bluesky.html @@ -0,0 +1,110 @@ + + + +Java Optimize and Decompile Environment (JODE) + + + + + + + + + + + + + + + + +
    JODE
    +Homepage +

    +Jode + +
    +

    Blue Sky

    + +

    This section contains features that I think would be great to have, +but are also very hard to implement. The name of the section is +inspired, by Mozilla.

    + +

    Currently this are all my own ideas. But if you send me an idea +for an interesting feature, I will add it to this list.

    + +

    Outline inlined methods

    + +

    If java gets called with `-O' switch, it inlines methods, +that are private, final, or static and contain no loops. When +decompiling this it sometimes produces really ugly code. The right +way to solve this would be to outline the code again. This is +possible but requires to find the inlined method.

    + +

    The name `outline' was suggested by Michael. +

    + +

    Better names of local variables

    + +

    The local variable naming is very stupid. Even with pretty it just +names the variable after the type with a unifying number appended. A +method containing very much objects of the same type looks very +ugly.

    + +

    My plans here are to look at the assignments. If we have locals in +assignments +

    +int l_1 = array.length
    +String l_2 = object.getName()
    +
    +we could name them "length" and "name". If we +have assignments: +
    +MenuItem local_1 = new MenuItem("Open");
    +MenuItem local_2 = new MenuItem("Save");
    +
    +good names would be miOpen and miSave.

    + +

    It is currently possible to assign a hint name,type pair to +a local. If the type matches, the local will be named after hint +name. This could be extended by giving them several weighted +hints and constructing the name in an intelligent way.

    + +

    Better deobfuscation features

    +

    First there should be a good Renamer: Methods that simply +return a fields value should be renamed to getFieldName. +Fields should be named after their type, maybe also by assignments +(see section about local variable names).

    + +

    The deobfuscator should detect inner and anonymous variables, +synthetic methods and so on, and rename them accordingly.

    + +

    Handling of Class.forName in obfuscator

    +

    The obfuscator should detect Class.forName constructs (and +similarly for methods and fields) and if their parameters are constant +it should change the parameter according to the rename function.

    + +

    Merging javadoc comments

    +

    It would be nice if the decompiler could merge the javadoc comments +into the class file. More and more people use javadoc to comment the +public api of their java classes. It shouldn't be too difficult to +take them and back into the java code.

    +
    + +
    + +

    +http://www.informatik.uni-oldenburg.de/~delwi/jode/jode.html, last +updated on 24-Okt-1999.

    + + + diff --git a/jode/doc/download.html.in b/jode/doc/download.html.in index f821194..3d1e403 100644 --- a/jode/doc/download.html.in +++ b/jode/doc/download.html.in @@ -24,6 +24,7 @@
  • Usage
  • License
  • History
  • +
  • Blue Sky
  • diff --git a/jode/doc/history.html b/jode/doc/history.html index f16f074..a5d625b 100644 --- a/jode/doc/history.html +++ b/jode/doc/history.html @@ -24,6 +24,7 @@
  • Usage
  • License
  • History
  • +
  • Blue Sky
  • diff --git a/jode/doc/jode.html b/jode/doc/jode.html index 180c2d2..7c2aa15 100644 --- a/jode/doc/jode.html +++ b/jode/doc/jode.html @@ -30,6 +30,7 @@ href="http://www.informatik.uni-oldenburg.de/~delwi/jode/jode.html">
  • Usage
  • License
  • History
  • +
  • Blue Sky
  • @@ -76,6 +77,20 @@ config file

    Known Bugs

    +

    Small bugs, that should be fixed in the next release:

    + + +

    Now follows a list of oddities, that will probably never get +completely fixed.

    +

    If not all dependent classes can be found, the verifier (which is run before decompilation starts) may exit with a type error. You can decompile it with --verify=off, but take the warning @@ -83,13 +98,14 @@ config file to guess the right type, if you don't have access the full class hierarchie.
    - But if you don't have the dependent classes, you can't compile the - code again, anyway, so why do you want to decompile it?

    + This is not a bug in the verifier: java will complain the same way, + if it is run with bytecode verification turned on. And if you don't + have the dependent classes, you can't compile the code again.

    There may be situations, where the code doesn't understand complex -expressions. In this many ugly temporary variables are used, but the -code should still be compileable. This does especially happen when -you compile with `-O' flag and javac has inlined some +expressions. In this case many ugly temporary variables are used, but +the code should still be compileable. This does especially happen +when you compile with `-O' flag and javac has inlined some methods.

    Sometimes this program may exit with an Exception or diff --git a/jode/doc/license.html b/jode/doc/license.html index 8c14502..264bf2c 100644 --- a/jode/doc/license.html +++ b/jode/doc/license.html @@ -24,6 +24,7 @@

  • Usage
  • License
  • History
  • +
  • Blue Sky
  • diff --git a/jode/doc/usage.html b/jode/doc/usage.html index c6a2243..6848529 100644 --- a/jode/doc/usage.html +++ b/jode/doc/usage.html @@ -29,6 +29,7 @@
  • License
  • History
  • +
  • Blue Sky
  • @@ -54,10 +55,10 @@ The most powerful way to start JODE's decompiler is the command line interface. Some people don't like long command lines; they should go to the next section.
    -Start the class jode.Decompiler with the options. The +Start the class jode.decompiler.Main with the options. The following command will give a complete list of the available commands: -
    java jode.Decompiler --help
    +
    java jode.decompiler.Main --help

    AWT Interface