Changed files for new release

git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1212 379699f6-c40d-0410-875b-85095c16579e
branch_1_1
jochen 25 years ago
parent 7c03c14e23
commit 8481f0f500
  1. 10
      jode/NEWS
  2. 21
      jode/README
  3. 6
      jode/TODO
  4. 20
      jode/configure.in

@ -3,11 +3,11 @@ New in 1.0.93
* replaced a bash specific construct in acinclude.m4
* fixed a funny bug: string += "1" was decompiled as string++
* main class of decompiler is now jode.decompiler.Main
- better memory usage in decompiler
- fixed a bug in ConstantAnalyzer (produced wrong code)
- swingui also uses getopt.
- web pages updated.
- javadoc api added.
* fixed a bug in ConstantAnalyzer (obfuscator) (produced wrong code)
* fixed more bugs in obfuscator
* better memory usage in decompiler
* fixed a bug in decompiler (couldn't handle nop instruction)
* web pages updated.
New in 1.0.92
* option --pretty works again

@ -1,11 +1,12 @@
JODE (Java Obfuscator/DEcompiler)
JODE (Java Optimize and Decompile Environment)
This is a decompiler and optimizer for java I have written in my spare
time. It takes class files as input and produces something similar to
the original java file. Of course this can't be perfect: There is no
way to produce the comments or the names of local variables (except
when the java files were compiled with `-g') and there are often more
ways to write the same thing. But jode does its job quite well.
time. The decompiler takes class files as input and produces
something similar to the original java file. Of course this can't be
perfect: There is no way to produce the comments or the names of local
variables (except when the java files were compiled with `-g') and
there are often more ways to write the same thing. But jode does its
job quite well.
Please note that most software licenses forbid to decompile class
files. Use this decompiler only, if you have legal rights to
@ -70,8 +71,8 @@ You need java jdk1.2 or above, and the gnu getopt package.
You should also have the jode-x.x.xx.jar file. Read INSTALL how to
compile it yourself.
Jode also works with jdk1.1, you need the sun collection classes and
swing in that case and you have to compile the jar-file yourself.
Jode also works with jdk1.1, but you need the sun collection classes
and swing in that case.
Here are some URLs for the tools and packages you may need:
@ -98,13 +99,13 @@ jode-x.x.xx.jar, the gnu getopt package and the sun collection package
for 1.1. For the swingui program you also need swing in you classpath.
You can then decompile a class file with:
java jode.Decompiler --classpath jarfile1.jar,jarfile2.jar org.package.Class
java jode.decompiler.Main --classpath jarfile1.jar,jarfile2.jar org.package.Class
For a graphical user interface based on swing try:
java jode.swingui.Main --classpath jarfile1.jar
The obfuscator/deobfuscator can be run with:
java jode.obfuscator.Main --script obfuscation.script
java jode.obfuscator.Main obfuscation.jos
See XXXX for more information about the script syntax.

@ -1,14 +1,13 @@
This is a list of features, that would be nice to have:
Decompiler:
- deinline inlined methods.
- outline inlined methods.
- remove string decrypt method.
- remove synthetic methods if and only if all calls to them are resolved.
~ handle try catch more thouroughly/safely.
~ decompile jode.jvm.Interpreter (hand optimized bytecode)
Obfuscator:
- read options from a script.
- flow obfuscation/optimization.
- warn about Class.forName and list occurences.
@ -25,7 +24,8 @@ User Interface:
- list fields/method of selected class.
- show decompilation of selected method.
- show usage of method/fields.
- syntax highlighting, hyper links etc. (look at java.swing.JEditorPane)
- syntax highlighting, hyper links etc.
(look at java.swing.JEditorPane or at Java Insight)
- visual obfuscation/deobfuscation (like klassmaster?, better?)
Internal:

@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT()
AM_INIT_AUTOMAKE(jode, 1.0.92)
AM_INIT_AUTOMAKE(jode, 1.0.93)
dnl Checks for programs.
dnl AC_PROG_CXX
@ -102,13 +102,17 @@ AC_MSG_CHECKING(for collection classes)
JODE_CHECK_CLASS(java.util.Set, $CLASSPATH:$CLASSLIB,
[ COLLECTIONS="java.util"
COLLECTIONEXTRA="java.lang" ],
[ JODE_CHECK_CLASS(com.sun.java.util.collections.Set, $CLASSPATH:$CLASSLIB,
[ COLLECTIONS="com.sun.java.util.collections"
COLLECTIONEXTRA="com.sun.java.util.collections" ],
[ AC_MSG_RESULT(no)
AC_MSG_ERROR(You need the Java 1.2 collection classes in your classpath)
])
] )
[ JODE_CHECK_CLASS(org.gnu.java.util.collections.Set, $CLASSPATH:$CLASSLIB,
[ COLLECTIONS="org.gnu.java.util.collections"
COLLECTIONEXTRA="org.gnu.java.util.collections" ],
[ JODE_CHECK_CLASS(com.sun.java.util.collections.Set, $CLASSPATH:$CLASSLIB,
[ COLLECTIONS="com.sun.java.util.collections"
COLLECTIONEXTRA="com.sun.java.util.collections" ],
[ AC_MSG_RESULT(no)
AC_MSG_ERROR(You need the Java 1.2 collection classes in your classpath)
])
])
])
AC_MSG_RESULT($COLLECTIONS)
AC_SUBST(COLLECTIONS)
AC_SUBST(COLLECTIONEXTRA)

Loading…
Cancel
Save