Commit Graph

  • e5c8e18a43 Updated String type to Java 6/7. One should find a better way than to hardcode all the interfaces String implements and make them a system type too. master hoenicke 2013-05-06 19:36:33 +0000
  • 33504d1840 Small bug fix hoenicke 2013-05-06 19:35:03 +0000
  • 7a96e31c81 Labelled Blocks hoenicke 2012-03-02 17:09:38 +0000
  • 0277d99ebb Removed absolute paths hoenicke 2012-03-02 15:28:24 +0000
  • accfa1271e New way to handle catch blocks, still needs finetuning hoenicke 2012-03-02 11:20:15 +0000
  • 744346bbcb Added eclipse configuration hoenicke 2012-03-01 22:53:32 +0000
  • 3c76f52d03 Fix more Warnings hoenicke 2012-03-01 22:52:08 +0000
  • 5815ab3a08 Fix Warnings hoenicke 2012-03-01 22:39:08 +0000
  • 12e82bea53 Set copyright to LGPL for jode.type package branch_1_1 hoenicke 2010-01-29 15:17:51 +0000
  • c2bcab17c3 Enable methods to declare generics generics hoenicke 2008-07-26 19:38:15 +0000
  • e10bfec001 Minor fixes hoenicke 2007-07-31 16:17:46 +0000
  • 240de78e81 jode/bytecode/ClassInfo.java.in, jode/bytecode/MethodInfo.java, jode/bytecode/FieldInfo.java, jode/bytecode/BytecodeInfo.java.in: (readAttribute): Never read in known attributes as unknown attributes. This could happen before when class was first read with known info and then again with all info. hoenicke 2007-07-31 15:12:05 +0000
  • ec94bc4489 Lots of improvements to generic branch. Still many type errors and missing code. hoenicke 2007-03-25 11:30:12 +0000
  • 977e4a6e8d Added accessor method getCondition to IfThenElseBlock hoenicke 2007-01-19 13:54:14 +0000
  • 0526241d2f bugfix 1626107 asal 2007-01-03 14:38:15 +0000
  • 2610837e4e decompile output: added "python" style and line length variable asal 2006-12-17 11:57:51 +0000
  • 08ca574741 test string comparison locale must iso-8859-1, bytewise comparison asal 2006-12-17 11:18:00 +0000
  • b3b29c076a generic class declaration works now, but generics are still not propagated correctly. hoenicke 2006-11-09 20:58:34 +0000
  • a9e2d0fdaa Fixed compile problems, but still not working hoenicke 2006-11-09 19:06:20 +0000
  • a69e8b35b6 Fixed png Files hoenicke 2006-07-06 11:51:48 +0000
  • 39775ca4ee Information about subversion hoenicke 2006-07-06 11:37:09 +0000
  • a5a48b3727 Initial attempt for generics support, does not work yet hoenicke 2006-06-08 17:58:19 +0000
  • fca129b90a enum -> enumeration (jdk1.5) hoenicke 2005-10-13 10:34:54 +0000
  • 26933573bb Ignore minor(major?) number hoenicke 2005-10-13 10:34:31 +0000
  • f7d5e15584 * src/net/sf/jode/flow/TransformConstructor.java: (lookForConstructorCall) Check for isStatic before setting outer $this reference (reported by Andreas Salathe bug #1306688) hoenicke 2005-10-04 09:21:52 +0000
  • 000cbe01e8 Check for NullPointer in SyntheticAnalyzer. Based on patch suggessted by Peter Klauser (klp at users.sf.net). hoenicke 2005-09-13 08:25:59 +0000
  • 190eefee2c Check for NullPointer in SyntheticAnalyzer. Based on patch suggessted by Peter Klauser (klp at users.sf.net). hoenicke 2005-09-13 08:19:49 +0000
  • 90aa079d11 Added patch from Peter Klauser (klp at users.sf.net), to support packages with same name as classes in the obfuscator. hoenicke 2005-09-13 08:08:48 +0000
  • 4ff081adef Changed enum to enumeration to make it compile with Java 5 hoenicke 2005-07-25 17:14:53 +0000
  • aae07e1491 A continue was missing that could produce ArrayIndexOutOfBounds hoenicke 2004-10-12 08:17:37 +0000
  • 183db2f66c Removed old outdated hints to change URL. The old URL scheme doesn't work anymore, because sourceforge disallows outgoing connections from the web server. hoenicke 2004-08-10 15:03:24 +0000
  • 4ec17554de Integrated changes from 1.2->1.3 of index.php hoenicke 2004-08-09 11:46:41 +0000
  • 7a700a7a5b Jode logo looks now better hoenicke 2004-08-09 10:22:33 +0000
  • 9e663e0b65 HTP logo now certified by M. Moeller :) hoenicke 2004-08-09 10:21:56 +0000
  • 7442ded059 Produce web pages with htp now. Changed gif to png. hoenicke 2004-08-06 17:54:28 +0000
  • 487a4b49d9 Some copyright/documentation updates * src/net/sf/jode/bytecode/BinaryInfo.java (ACC_*): added constants describing modifier attributes. * src/net/sf/jode/bytecode/BasicBlockReader.java (convertHandlers): remove empty handlers. (readCode): merge adjacent try-blocks (splitted by javac-1.4 return rule). * src/net/sf/jode/bytecode/FieldInfo.java (syntheticFlag): removed, use modifier and ACC_SYNTHETIC (new in java 5) instead. Changed all usages. When writing it currently writes out both old and new synthetic format. (getSignature): New method to return full generic signature. * src/net/sf/jode/bytecode/MethodInfo.java (syntheticFlag, getSignature): likewise. * src/net/sf/jode/bytecode/ClassInfo.java (getSignature): new method to return full generic signature. * src/net/sf/jode/decompiler/MethodAnalyzer.java (skipWriting): Skip java 5 bridge methods. * src/net/sf/jode/expr/InvokeOperator.java (getClassAnalyzer): Check for null callee. * src/net/sf/jode/expr/FlowBlock.java (analyze): New order for T1,T2 analysis: Do not do T1 analysis when the block has more than one real successor and the next block can be easily merged. See comment for more information. hoenicke 2004-08-06 15:38:32 +0000
  • 033d9d57e5 Checked in LGPL License file hoenicke 2004-08-05 11:26:48 +0000
  • ec129979e1 * build.xml: replace execon with apply. * src/net/sf/jode/bytecode/ClassInfo.java (readAttributes): read in signature attribute (not yet published, though). * src/net/sf/jode/bytecode/MethodInfo.java (readAttributes): likewise. * src/net/sf/jode/bytecode/FieldInfo.java (readAttributes): likewise. * src/net/sf/jode/bytecode/ClassInfo.java (mergeModifiers): only check the traditional modifiers for equality. * src/net/sf/jode/bytecode/ConstantPool.java (getConstant): Support for CLASS constants (jdk1.5) added. * src/net/sf/jode/bytecode/BasicBlockReader.java (readCode): opc_ldc, opc_ldc_w: Support for CLASS constants added. * src/net/sf/jode/decompiler/Opcodes.java (addOpcode): likewise. * src/net/sf/jode/expr/InvokeOperator.java (simplifyStringBuffer, simplifyString): Also handle StringBuilder (jdk1.5). * src/net/sf/jode/type/Type.java (tStringBuilder): new field. * src/net/sf/jode/swingui/Main.java (main): handle debug options. hoenicke 2004-08-05 11:24:32 +0000
  • ae5ffbf3f8 Set copyright to LGPL for package type hoenicke 2004-06-01 08:46:10 +0000
  • bf472df5c0 Handle jdk1.4 class$ methods. hoenicke 2004-02-04 19:02:55 +0000
  • 338feb1f61 * src/net/sf/jode/jvm/SyntheticAnalyzer.java (checkGetClass): Handle jdk1.4 class$ methods. hoenicke 2004-02-04 19:01:35 +0000
  • 2872b22195 Added MANIFEST.MF to be able to create executable jar-file. The executable release-jar will now be compressed. Added i18n for new saveMenuItem. seeksthemoon 2003-06-11 10:54:06 +0000
  • c53a8d1acf Added new MenuItem to save a decompiled file. Main window now will be centered on startup seeksthemoon 2003-06-11 10:09:11 +0000
  • 6604df3248 Added patch from Thomas Oldervoll, to continue decompiling after errors. hoenicke 2003-06-11 09:07:07 +0000
  • 97b5c5bb0f deprecated flags for classinfo hoenicke 2002-11-24 15:51:56 +0000
  • 0c1d7a4b7c Made HTML/4.0 conform; minor updates hoenicke 2002-10-07 16:45:47 +0000
  • 66dc0880ab Fixed a bug spotted by Eider Oliveira hoenicke 2002-09-13 07:47:10 +0000
  • 48d511532d New option keep-alive. With this option jode won't stop after an error but will continue with the next class. Patch suggested by Francis Devereux, francis at hc.eclipse.co.uk hoenicke 2002-06-13 16:49:22 +0000
  • f38c62b1cd Set version number to 1.1.2. hoenicke 2002-06-11 08:41:04 +0000
  • d1f22a62b4 Fix the exception handlers that Javac 1.4 produces. hoenicke 2002-06-11 08:40:31 +0000
  • d6462acefc Moved addHeader.pl to scripts. Changed license to LGPL for most packages. hoenicke 2002-05-29 12:07:39 +0000
  • f43b317ae8 Set copyright to LGPL for packages util,bytecode,jvm,expr,flow and decompiler. hoenicke 2002-05-29 12:06:47 +0000
  • c761c52679 Changed license of util,bytecode,jvm,expr,flow and decompiler packages to Lesser GPL. Updated all copyright messages. hoenicke 2002-05-28 17:34:24 +0000
  • 375a002248 Don't check for a maximum version anymore. Sun changes it with every release without changing the bytecode format. hoenicke 2002-02-25 16:13:27 +0000
  • a12e86ea8f Don't check for a maximum version anymore. Sun changes it with every release without changing the bytecode format. hoenicke 2002-02-25 16:02:26 +0000
  • b33f6d1045 Fixed link to collections.jar hoenicke 2002-02-22 13:40:01 +0000
  • c11b2426df Handle empty blocks used for "while(true) {}" hoenicke 2002-02-15 15:22:50 +0000
  • 111d5046ea * jode/obfuscator/ClassIdentifier.java.in (transformInnerClasses): Bug fix: Added missing checks for STRIP_UNREACH. * jode/obfuscator/MethodIdentifier.java.in (doTransformation): Don't run analyzer on unreachable methods. Previously the ConstantAnalyzer assumed that the instructions are not reachable and removed them all leading to illegal bytecode. hoenicke 2002-02-08 12:46:48 +0000
  • d7567a6b06 Added syntax for IdentifierMatcher. hoenicke 2002-02-04 10:33:33 +0000
  • 06f647eb1c Added info about SerializePreserver. hoenicke 2002-02-04 09:42:55 +0000
  • c0bd096c0d Updated link to dmoz directory. hoenicke 2002-02-04 09:39:55 +0000
  • a0caad2c2c * jode/flow/CreateAssignExpression.java (createAssignOp): Bug fix: Check whether store is already a op-assign and break out. * jode/expr/StoreInstruction.java (isOpAssign): New function to check whether this is an op-assign. hoenicke 2002-02-01 18:20:15 +0000
  • 910456c0b0 Fixes by anonymous for SerializePreserver: * jode/obfuscator/ClassIdentifier.java.in (isSerializable): The Serializable interface lives in java.io not in java.lang. * jode/obfuscator/modules/SerializePreserver.java.in: This class needs to implement OptionHandler. hoenicke 2002-01-16 10:22:00 +0000
  • 686154fca2 * jode/obfuscator/modules/MultiIdentifierMatcher.java.in (getNextComponent): Fixed a (noncritical) bug, submitted by Sergio (koker at users.sf.net). hoenicke 2001-11-29 14:01:56 +0000
  • d04992725b Fixed major/minor naming. Allow minor to be bigger than 45 for newer java versions. hoenicke 2001-11-19 14:36:47 +0000
  • 068e85a76d Fixed major/minor naming. Allow minor to be bigger than 45 for newer java versions. hoenicke 2001-11-19 14:36:47 +0000
  • d3f133999f HTML view automatic renaming of keywords in decompiler. hoenicke 2001-11-13 18:18:57 +0000
  • 25339761a8 Added a-logo hoenicke 2001-08-16 08:57:12 +0000
  • 0243eb4f23 Copied documentation from Jode-1.1 hoenicke 2001-08-16 08:55:21 +0000
  • 9e5dca11ad Added new script to convert php to html. hoenicke 2001-08-14 14:35:01 +0000
  • d5a0591d1f Javadoc updates. Changed the broken obfuscator/modules classes so that at least javadoc runs cleanly. hoenicke 2001-08-14 14:25:29 +0000
  • 2d1bb14f08 Added javadoc overview. hoenicke 2001-08-14 12:09:34 +0000
  • 14b4dd94f8 Added test cases. hoenicke 2001-08-14 12:08:37 +0000
  • 7714d5d503 Documentation updates. build.xml updates. javac-1.1 finally/synchronized blocks work again. some other changes, see ChangeLog for details. hoenicke 2001-08-14 11:55:33 +0000
  • 02c10bf9bb This commit was manufactured by cvs2svn to create tag 'jode_1_1_1'. jode_1_1_1 (no author) 2001-08-13 11:59:21 +0000
  • ea5e834abe * configure.in: Set version number to 1.1.1. hoenicke 2001-08-13 11:59:21 +0000
  • 03497ae1a2 Fixed Java-1.1 and finally/synchronized blocks. hoenicke 2001-08-12 18:06:13 +0000
  • c79f6122f5 * configure.in: Changed bash syntax to more compatible (but slower) syntax. Fixes bug #448909. hoenicke 2001-08-10 12:41:27 +0000
  • 805ab8613d * jode/expr/InvokeOperator.java.in (dumpExpression): Fixed the check for null outerExpr. hoenicke 2001-08-09 15:17:05 +0000
  • 6acf9d8d7a More Documentation updates. * build.xml: Release rules. * scripts/jcpp.pl: Don't make backups of original. * net/sf/jode/bytecode/BasicBlocks.java (setBlocks): Check that successors are inside method. * net/sf/jode/bytecode/Block.java (getStackHeight): New Method. * net/sf/jode/bytecode/ClassPath.java (Location): public class to model a component of the class path. Previously it was Path. (ClassPath): New constructors added that take Location objects. * net/sf/jode/bytecode/ConstantPool.java (getClassName): Cache constants. * net/sf/jode/bytecode/GrowableConstantPool.java: Made public. (grow): Check that not too many constants are added. (reserveLongConstants): Removed (not used). (copyConstant): Removed (not used). * net/sf/jode/jvm/NewObject.java: Made package protected. * net/sf/jode/obfuscator/modules/RemovePopAnalyzer.java: Big updates (almost rewrote from scratch). Still doesn't compile. hoenicke 2001-08-08 17:59:08 +0000
  • 15e7ec9dc0 More debugging outputs. hoenicke 2001-08-08 09:10:04 +0000
  • dab92b2d4d Added configuration file. hoenicke 2001-08-06 13:44:32 +0000
  • 4352b285ab Documentation updates (INSTALL, javadoc). Added JUnit Test cases. * build.xml: Big update. * net/sf/jode/bytecode/BasicBlock.java: (updateMaxStackLocals): new method to calculate maxStack and maxLocals. (setBlocks): fixed calculation of handlers, call updateMaxLocals. * net/sf/jode/bytecode/BasicBlockReader.java: (maxLocals, maxStack): new fields. (readCode): read maxStack/Locals into private fields. (convert): check that maxStack/Locals match what we calculate. * net/sf/jode/bytecode/BinaryInfo.java: (getKnownAttributeCount): renamed to... (getAttributeCount): ... this, and also count internal attributes. Made it protected. (readAttribute): made protected. (drop): made protected. (prepareAttributes): made protected. (writeKnownAttributes): removed. (writeAttributes): made protected, use getAttributeCount. Changed policy: it doesn't call writeKnownAttribute, but instead it expects sub classes to override this method. (getAttributeSize): made protected, subclasses should override it. Changed all subclasses to new policy. * net/sf/jode/bytecode/Block.java: (lineNr): Removed, it wasn't used. (pop,push): Removed, replaced by ... (maxpop,maxpush,delta): ... these, with slightly changed semantics. (stackHeight): New variable. (Block): Default Constructor doesn't initialize fields now. (getCatchers): Renamed to ... (getHandlers): ... this, changed all callers. (initCode): Calculate maxpop, maxpush, delta correctly. (getStackPopPush): Changed accordingly to new fields. (setCode): Removed debugging output for illegal contents. * net/sf/jode/bytecode/Classes.java: Reworked handling of inner classes. (innerClasses): Field mustn't be null anymore when loaded. (setName): Update class in classpath. * net/sf/jode/bytecode/ClassPath.java: (renameClassInfo): new function, should only used by ClassInfo. * net/sf/jode/bytecode/ConstantPool.java: made public. (getUTF8,getRef,getClassType,getClassName): Don't allow the 0 index. (iterateClassNames): New method. * net/sf/jode/decompiler/Main.java: (decompileClass): Catch ClassFormatExceptions and decompile remaining classes. * net/sf/jode/obfuscator/ClassIdentifier.java: Updated handling of inner/extra classes to new ClassInfo behaviour. (initSuperClasses): Load DECLARATION of super classes. * net/sf/jode/obfuscator/PackageIdentifier.java: Replace deprecated methods of ClassInfo with corresponding classpath calls. (loadMatchingClasses): Initialize packages loaded on demand if we are initialize. * net/sf/jode/obfuscator/modules/ConstantAnalyzer.java: Now extends SimpleAnalyzer. (canonizeIfaceRef): Removed; it is now inherited. (canonizeRef): likewise. Big updates to handle jsr correctly. (handleOpcode): Moved method to BlockInfo. * net/sf/jode/obfuscator/modules/SimpleAnalyzer.java: (canonizeIfaceRef): New method, copied from ConstantAnalyzer. (canonizeRef): call canonizeIfaceRef for interfaces. * net/sf/jode/util/UnifyHash.java (iterateHashCode): iterator now supports remove(). (remove): New method. hoenicke 2001-08-06 13:39:04 +0000
  • 1ce57d3614 build.xml: Search lib directory for all jar files and put them in classpath Added java-getopt-1.0.8.jar hoenicke 2001-07-30 16:45:28 +0000
  • 804d4f7912 Cleaning up hoenicke 2001-07-30 16:11:32 +0000
  • 743e08ea39 Cleaning up. hoenicke 2001-07-30 16:10:35 +0000
  • 31ebef4f9c Changed compilation procedure to ant. Renamed jode package to net.sf.jode hoenicke 2001-07-30 16:06:30 +0000
  • a2006f63d4 Fixed import of non collection java.util classes. hoenicke 2001-07-30 11:43:26 +0000
  • f2d8663e9f * jode/AssertError.java: removed, all uses are now replaced by java.lang.InternalError. * jode/Makefile.am: removed AssertError.java * jode/bytecode/ClassInfo.java: reworked handling of inner classes. (extraClasses): removed, they are calculated automatically. (hasInnerClassesAttr): new variable. (readInnerClassesAttribute): Mark all classes in the constant pool as having OUTERCLASS info filled. Don't handle extraClasses specially. (prepareWriting): Change for automatically generating outer class info. (getKnownAttributes): dito. (writeKnownAttributes): dito. (getExtraClasses): removed. (setExtraClasses): removed. hoenicke 2001-07-28 17:55:56 +0000
  • a018796a04 * jode/obfuscator/Main.java.in (stripping): Initialize to 0 which means strip nothing. This is necessary because there is no way to turn off stripping. hoenicke 2001-07-27 14:41:41 +0000
  • e78e8b0472 Applied more patches from Jode-1.1 branch hoenicke 2001-07-15 20:22:40 +0000
  • 676e21257f Applied more patches from Jode-1.1 branch. hoenicke 2001-07-15 16:33:01 +0000
  • c30ac484c5 Applied changes from the Jode-1.1 tree. hoenicke 2001-07-15 15:06:32 +0000
  • aca789beed * jode/flow/CatchBlock.java.in (combineLocal): Added more checks if LocalStoreOperator is of the right form. hoenicke 2001-07-11 13:12:54 +0000
  • a65fd35ceb * jode/obfuscator/modules/SimpleAnalyzer.java.in: Ported fix from ConstantAnalyzer: (canonizeReference): for interfaces call canonizeIfaceReference. (canonizeIfaceReference): new method. * jode/obfuscator/modules/ConstantAnalyzer.java.in: made sub class of SimpleAnalyzer. (canonizeReference): Removed, since its inherited. (canonizeIfaceReference): dito. hoenicke 2001-07-10 17:49:42 +0000
  • 9f97289a90 Updated to viewcvs.cgi hoenicke 2001-07-08 14:42:54 +0000
  • fa005e09ee * jode/bytecode/BytecodeInfo.java.in (calculateMaxStack): Handle special case for empty method. Previous code would just crash. hoenicke 2001-07-08 14:35:06 +0000
  • dd5112302f Added more links. Fixed download address. Updated FAQ. hoenicke 2001-06-27 11:42:04 +0000
  • fbcfb06d90 * jode/jvm/SyntheticAnalyzer.java.in: (checkGetClass): Ignore nop opcodes. (checkStaticAccess): Likewise. (checkAccess): Likewise. (checkConstructorAccess): Likewise. * jode/flow/TransformConstructors.java (Constructor): Ignore OuterValues for static constructor. * jode/expr/NewArrayOperator.java (dumpExpression): Added a missing breakOp. * jode/expr/CompareToIntOperator.java (dumpExpression): Likewise. hoenicke 2001-06-15 08:27:22 +0000
  • 5a4dbe0b02 Fixed a bug in the obfuscator. Added include files to DIST in Makefile.am hoenicke 2001-06-01 17:42:10 +0000