jode-users Mailing List for Java Optimize and Decompile Environment
Brought to you by:
hoenicke
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
(10) |
Jun
|
Jul
(6) |
Aug
|
Sep
|
Oct
(2) |
Nov
(2) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(6) |
Jul
(7) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
|
Dec
|
2003 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(1) |
Dec
|
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2006 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Twitter <n-wbqr-hfref=<yvf...@po...> - 2013-04-11 09:14:06
|
Micro concept attend toujours que vous rejoignez Twitter... Twitter vous aide à rester en contact avec ce qui se passe en ce moment et avec les personnes et les organisations qui vous tiennent à cœur. Accepter l'invitation https://twitter.com/i/0cdf1c38-07f8-43da-ba79-74026611f0f0 ------------------------ Ce message a été envoyé par Twitter à la demande d'utilisateurs de Twitter qui ont saisi votre adresse électronique pour vous inviter sur Twitter. Se désinscrire : https://twitter.com/i/o?t=1&iid=42bc4119-8a57-411e-a1b7-7ce6be5bdd5a&uid=0&c=I9b2ZN94Ki9ftXhHnnuroUgNdgRil%2FHNh1mbxbpFAF24%2FazzzL8CYQ%3D%3D&nid=69+26+20130410 Besoin d'aide ? https://support.twitter.com |
From: Twitter <n-wbqr-hfref=<yvf...@po...> - 2013-03-28 08:37:32
|
Micro concept attend toujours que vous rejoignez Twitter... Twitter vous aide à rester en contact avec ce qui se passe en ce moment et avec les personnes et les organisations qui vous tiennent à cœur. Accepter l'invitation https://twitter.com/i/0cdf1c38-07f8-43da-ba79-74026611f0f0 ------------------------ Ce message a été envoyé par Twitter à la demande d'utilisateurs de Twitter qui ont saisi votre adresse électronique pour vous inviter sur Twitter. Se désinscrire : https://twitter.com/i/o?t=1&iid=64dea7de-55f4-4da4-b5de-6622c0e527a9&uid=0&c=I9b2ZN94Ki9ftXhHnnuroUgNdgRil%2FHNh1mbxbpFAF24%2FazzzL8CYQ%3D%3D&nid=68+26+20130327 Besoin d'aide ? https://support.twitter.com |
From: Micro c. (v. Twitter)
<i-wbqr-hfref=<yvf...@po...> - 2013-03-13 23:54:14
|
Micro concept sent you an invitation Twitter helps you stay connected with what's happening right now and with the people and organizations you care about. Accept invitation https://twitter.com/i/0cdf1c38-07f8-43da-ba79-74026611f0f0 ------------------------ This message was sent by Twitter on behalf of Twitter users who entered your email address to invite you to Twitter. Unsubscribe: https://twitter.com/i/o?t=1&iid=ba44a93b-8a0a-4b39-9327-aa3dc6a12f3d&uid=0&c=I9b2ZN94Ki9ftXhHnnuroUgNdgRil%2FHNh1mbxbpFAF24%2FazzzL8CYQ%3D%3D&nid=9+26 Need help? https://support.twitter.com |
From: Jochen H. <hoe...@gm...> - 2012-05-04 09:51:35
|
Hello Zach, 2012/5/3 Me Myself and I <sta...@li...>: > > Jode is both a java decompiler and obfuscator, for java. > > -Can java obfuscate class files while they are inside jar,war,ear files? It can read classes from zip files and jar and war files are just zip files, so it works for them. I'm not sure about ear files, but probably they are also zip files. > -When JODE produces an obfuscated result, does it simply alter input file(s), > or does it output a second file (s) ? It outputs them to a separate directory or zip file. > -Can jode perform class file obfuscation, and not just source > code obfuscation? Yes, it only works on class files, not on source files. > -Can JODE change class files such that they run on multiple platform > java runtimes exactly the same, but such that decompilers produce > fatal run errors and seize when they try to decompile? The decompiler will still be able to decompile them. It only renames the identifiers, so that the decompiled code is less readable. > -Can Jode alter class files to block completion of decompilation entirely? > -Particularly against its own decompilation? > Presumably this can be accomplished by use of a customising script file. No. For this you need an obfuscator that adds some fake uncompilable code into the class files. Search for flow obfuscation to find such tools. > > -Could I be sent just such a script file as accomplishes the goals behind my earlier questions > in this email, with an example of a command line example of how to call the obfuscator > on a java class(es) via implementation of the custom script? For this I would need to know, what the code is, you want to obfuscate. In particular, what are the package names, what is the main class, is there any reflection used, so that class names need to be preserved, what are the libraries (and should they also be obfuscated), and what kind of java application is this (standalone, applet, webapp, plugin, etc). Regards, Jochen |
From: Me M. a. I <sta...@li...> - 2012-05-03 01:20:44
|
Jode is both a java decompiler and obfuscator, for java. -Can java obfuscate class files while they are inside jar,war,ear files? -When JODE produces an obfuscated result, does it simply alter input file(s), or does it output a second file (s) ? -Can jode perform class file obfuscation, and not just source code obfuscation? -Can JODE change class files such that they run on multiple platform java runtimes exactly the same, but such that decompilers produce fatal run errors and seize when they try to decompile? -Can Jode alter class files to block completion of decompilation entirely? -Particularly against its own decompilation? Presumably this can be accomplished by use of a customising script file. -Could I be sent just such a script file as accomplishes the goals behind my earlier questions in this email, with an example of a command line example of how to call the obfuscator on a java class(es) via implementation of the custom script? |
From: Jochen H. <hoe...@gm...> - 2011-07-16 23:58:13
|
Hello, 2011/7/16 Me Myself and I <sta...@li...>: > I am about to Test Jode on a java .class file, using the demonstration file > > myproject.jos > > > as per the basic tutorial instructions > > Can I now execute this class file straight away? Or am I forced to include > a "de-coding" > lib with some sort of key? It should work. You need to adapt the file myproject.jos, of course. Especially the load and preserve section must match your package names. The load parameter tells which packages and classes the obfuscator should include in the obfuscated code (if needed), and the preserve parameter gives the starting point, usually the main function of the code. Everything that is preserved is not renamed at all. Note that you need to preserve the methods, it is not enough to just preserve a class. > Does my class file still remain cross platform, while my code is consistent, > for seperate Operating System platforms? Yes, as long as you do not use reflection or native code, it should work. If you use reflection, you must be careful to preserve all classes, methods and fields that can be accessed via reflection. > Will my class file, or the result, now confound compilers free off the > internet, such as > -DJ Decompiler > -Java Decompiler > -Jode (Will it stop itself trying to run on ofuscated code in DECOMPILER > mode? No, its main function is to rename all identifiers to short and unreadable names. Normally the code is still decompilable and the decompiled code can be edited and compiled again. All strings are in still in plain text in the class files. However, it is much harder to read for a human as all class names and function names are obfuscated. Regards, Jochen |
From: Me M. a. I <sta...@li...> - 2011-07-16 10:43:21
|
I am about to Test Jode on a java .class file, using the demonstration file myproject.jos with the obfuscator jode-1.1.2-pre1.jar as per the basic tutorial instructions under the "Using the Obfuscator" heading on page from the "Documentation" link on the homepage at http://jode.sourceforge.net/ Can I now execute this class file straight away? Or am I forced to include a "de-coding" lib with some sort of key? Does my class file still remain cross platform, while my code is consistent, for seperate Operating System platforms? Will my class file, or the result, now confound compilers free off the internet, such as -DJ Decompiler -Java Decompiler -Jode (Will it stop itself trying to run on ofuscated code in DECOMPILER mode? Many thanks for the interest! Z |
From: Jochen H. <hoe...@gm...> - 2010-10-14 11:55:41
|
2010/10/14 Me Myself and I <sta...@li...>: > #I am attempting to test Jode by getting it to do something > #as obfuscate one Java Class with its main method. > > #I have examined and edited the example script "myproject.pos", > #and am finding that I am apprently getting a silent error. > > #Please, can someone examine my .pos code below, and tell me what I should > do, > #in the .pos file and at the prompt (WINXP_SP3)? > #(Where do I specify the .class or .jar/war/ear to be obfuscated just to > start with? The classpath should include the rt.jar file (usually in jre/lib/rt.jar) and the jar file that contains the class to obfuscate (or alternatively the base directory where the class files are). In case that you want to obfuscate a single class file, the parameter load should be set to the full-qualified name of the class (if it is not in a package, it is just the class name without .class ending). With load you tell the obfuscator which packages or classes you want to include in the obfuscated jar file. So it should normally be the base-package where all your classes and sub-packages are in. preserve should be set to the main method ("packagename.Classname.main.*", or "packagename.Classname.main.([Ljava/lang/String;]V)"). This prevents the method main and the class itself from being renamed and marks the main method and everything called from it as reachable. I haven't tried my obfuscator for a long time, and I cannot guarantee that it works with recent java version, but you can try it. It certainly does not know about generics; I hope it just strips all the generics information, but if you are unlucky, it will just preserve them making deobfuscation easier. Regards, Jochen |
From: Me M. a. I <sta...@li...> - 2010-10-14 09:33:01
|
#I am attempting to test Jode by getting it to do something #as obfuscate one Java Class with its main method. #I have examined and edited the example script "myproject.pos", #and am finding that I am apprently getting a silent error. #Please, can someone examine my .pos code below, and tell me what I should do, #in the .pos file and at the prompt (WINXP_SP3)? #(Where do I specify the .class or .jar/war/ear to be obfuscated just to start with? ######################################################################### #prompt> java jode.obfuscator.Main myproject.jos # This is a sample script file to obfuscate my project # The class path should include everything that is needed to run the # project. Don't forget the java base classes (rt.jar or classes.zip). classpath = "c:\\Program Files\\Java\\jre6\\bin", "c:\\Program Files\\Java\\jdk1.6.0_13\\bin", "c:\\Documents and Settings\\Administrator\\Desktop\\poi-3.6\\poi-contrib-3.6-20091214.jar", "c:\\Documents and Settings\\Administrator\\Desktop\\poi-3.6\\poi-ooxml-3.6-20091214.jar", "c:\\Documents and Settings\\Administrator\\Desktop\\poi-3.6\\poi-scratchpad-3.6-20091214.jar", "c:\\Documents and Settings\\Administrator\\Desktop\\poi-3.6\\poi-3.6-20091214.jar", "c:\\Documents and Settings\\Administrator\\Desktop\\poi-3.6\\poi-ooxml-schemas-3.6-20091214.jar", "c:\\Documents and Settings\\Administrator\\Desktop" # The jar, zip file or directory in which the obfuscated class files # should be written. dest = "c:\\Documents and Settings\\Administrator\\Desktop\\obfuscated.jar" # Write the reverse translation table to translat.tbl. With the help of # this table you can later undo the renaming. #revtable = "translat.tbl" strip = "unreach","lvt","inner" # this variable will tell, which classes and packages should be included # in the obfuscated.jar package. #load = new WildCard { value = "org.myorg.myproject" }, # new WildCard { value = "org.myorg.mylib*" }, # new WildCard { value = "org.otherorg.shortlib" } # this variable will tell, which classes and packages must not be # renamed. #preserve = new WildCard { value = "org.myorg.ApplicationClass.main.*" }, # new WildCard { value = "org.myorg.AppletClass.<init>.()V" }, # new WildCard { value = "org.resources.BundleClass*.<init>.()V" }, # new MultiIdentifierMatcher { # and = new WildCard { value = "org.myorg.publiclib.*" }, # new ModifierMatcher { access = "PUBLIC" } # } # There are different renamers currently. This is just an example that # produces very good obfuscated code, that is still valid bytecode. renamer = new StrongRenamer { charsetStart = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ" charsetPart = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789_$" charsetPackage = "abcdefghijklmnopqrstuvwxyz" charsetClass = "abcdefghijklmnopqrstuvwxyz" } # The constant analyzer does a great job to remove constant fields and # deadcode. E.g. if you obfuscate the decompiler applet it will # remove the whole debugging code, since the applet doesn't need it. analyzer = new ConstantAnalyzer # The LocalOptimizer will reorder local variables to use fewer slots. # It may still have some bugs, so remove it if your applet doesn't # work (and send me the class). # The RemovePopAnalyzer will remove instructions that were optimized # away by the ConstantAnalyzer and LocalOptimizer. post = new RemovePopAnalyzer ######################################################################### |
From: bytamirci b. <by...@gm...> - 2009-12-31 20:13:38
|
bonjour, je un problem de compilation avec un .class est ce que vous pouvez me decompiler merci, hello, I have a problem with a compilation. class is that you can send me decompiler thank you, |
From: Trevor H. <tr...@vo...> - 2008-07-27 15:28:41
|
On Jul 25, 2008, at 5:48 PM, Arturo Tena wrote: > I did svn checkout, downloaded gnu.getopt, and tried to compiled > using NetBeans. But the compiler says that it does not know > InstrInfo class on lLine 172 of > net.sf.jode.obfuscator.modules.LocalOptimizer.java. > > Is there any file missing on SVN repository? Some files need to be excluded from the build. Here is the <javac> command I use in Ant: <javac srcdir="${src.dir}" destdir="${class.dir}" includes="**" debug="true"> <classpath> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> <pathelement location="${bcel.jar}"/> </classpath> <exclude name="net/sf/jode/obfuscator/modules/ RemovePopAnalyzer.java"/> <exclude name="net/sf/jode/obfuscator/modules/ LocalOptimizer.java"/> <exclude name="net/sf/jode/obfuscator/modules/ LocalizeFieldTransformer.java"/> </javac> Trevor |
From: Trevor H. <tr...@vo...> - 2008-07-24 01:23:31
|
On Jul 23, 2008, at 6:06 PM, Arturo Tena wrote: > I am using JODE now. Is there a new version I should try? > I believe the trunk has more bug fixes and features than any of the actual releases. Get it using Subversion from this URL: https://jode.svn.sourceforge.net/svnroot/jode/trunk/jode/src Trevor |
From: Arturo T. <art...@ya...> - 2008-07-23 22:06:26
|
Hi! I am using JODE now. Is there a new version I should try? Because the decompiled class has method like this: public static HashMap createAtributesLocal (Object o, ServletContext servletContext) throws MyException { exception = exception_3_; break; } public static HashMap createAtributes (Object o, ServletContext servletContext) throws MyException { exception = exception_5_; break; } Thank you. Arturo Tena arturotena.com __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.com.mx/ |
From: Jochen H. <hoe...@gm...> - 2008-01-31 18:36:41
|
Hello Yang Zhang, 2008/1/30, Yang Zhang <yan...@gm...>: > Hi, I can't seem to get jode to find my class file (tried pwd and .). > Thanks in advance for any help. > > $ ls edu/cmu/neuron2/NeuRonNode.class > edu/cmu/neuron2/NeuRonNode.class > > $ java -cp .:jode-1.1.2-pre1.jar jode.decompiler.Main -c `pwd` > edu.cmu.neuron2.NeuRonNode > Jode (c) 1998-2001 Jochen Hoenicke <jo...@gn...> > edu.cmu.neuron2.NeuRonNode > Failed to decompile edu.cmu.neuron2.NeuRonNode. > java.lang.NoClassDefFoundError: edu.cmu.neuron2.NeuRonNode > at jode.bytecode.ClassInfo.loadInfo(ClassInfo.java:631) This probably is a problem with class version. Sun is incrementing the version of their class files with each major release. I think jode-1.1.2-pre1 still checks that the version is in the supported range (JDK 1.0-1.3). I have removed this check completely, now. I should probably make a new release, but the current version is a bit buggy: It shows lots of unnecessary casts. Nonetheless, the class files it produces should be compilable. For JDK >= 1.5 there are still problems with try-catch and synchronized blocks; the algorithm should be mostly rewritten to handle them. Unfortunately, I do not have so much time I spend on it. So try the svn version (the trunk uses an ant build script so it should be easy to compile). You need a subversion client to download the repository. Regards, Jochen -- Jochen Hoenicke, Email: hoe...@in... Tel: +49 761 203 8243 |
From: Yang Z. <yan...@gm...> - 2008-01-30 18:11:08
|
Hi, I can't seem to get jode to find my class file (tried pwd and .). Thanks in advance for any help. $ ls edu/cmu/neuron2/NeuRonNode.class edu/cmu/neuron2/NeuRonNode.class $ java -cp .:jode-1.1.2-pre1.jar jode.decompiler.Main -c `pwd` edu.cmu.neuron2.NeuRonNode Jode (c) 1998-2001 Jochen Hoenicke <jo...@gn...> edu.cmu.neuron2.NeuRonNode Failed to decompile edu.cmu.neuron2.NeuRonNode. java.lang.NoClassDefFoundError: edu.cmu.neuron2.NeuRonNode at jode.bytecode.ClassInfo.loadInfo(ClassInfo.java:631) at jode.decompiler.ClassAnalyzer.<init>(ClassAnalyzer.java:86) at jode.decompiler.ClassAnalyzer.<init>(ClassAnalyzer.java:123) at jode.decompiler.ClassAnalyzer.<init>(ClassAnalyzer.java:128) at jode.decompiler.Main.decompileClass(Main.java:187) at jode.decompiler.Main.decompile(Main.java:403) at jode.decompiler.Main.main(Main.java:214) Failed to decompile these classes: edu.cmu.neuron2.NeuRonNode Failed to decompile 1 classes. Decompiled 0 classes. -- Yang Zhang http://www.mit.edu/~y_z/ |
From: Ben A. <ben...@st...> - 2007-06-25 09:09:29
|
Hello there I would greatly appreciate a small amount of your time to assist with my doctoral research at The University of Newcastle. The research concerns open source licensing and we're seeking developers working on Java projects. The research is supervised, ethics-approved, anonymous and results will be freely available. Participation will also provide a custom licensing report for your project. To learn more, please visit: http://licensing-research.newcastle.edu.au Thanks for reading this email, and I hope you'll consider participating. Best regards Ben Alex (My apologies for being off-topic; this list will not be emailed again) |
From: Trevor H. <tr...@vo...> - 2007-04-22 08:54:54
|
Hi all, I just wanted to announce a new project I created. Called Volta, it's a collection of tools for doing worst-case timing analysis on Java programs. The relevance to this list is that Volta relies heavily on JODE. The distribution includes a version of JODE that I modified to preserve the bytecode for each structured block, as this is vital for timing analysis. You can find it here: http://volta.sourceforge.net/ There's also a diagram in the Volta user manual that shows where JODE fits in: http://volta.sourceforge.net/doc/manual/multi-page/ch04s02.html Trevor |
From: Alexandre O. <lx...@fs...> - 2007-04-22 03:07:41
|
These are a few changes I needed to make to the Jode, in the SVN branch-1.1, to get it to: 1) compile and run with the ecj/gcj compiler and run-time environment, as in Fedora development (IIRC only the change for jode/obfuscator/PackageIdentifier.java and jode/obfuscator/modules/LocalOptimizer.java) 2) decompile the relevant portions of the tax form filling-in program released by the Brazilian IRS (all of the serpro.* classes in irpf.jar; pretty much everything else is available as Free Software already). Other than jode/flow/TransformConstructors.java, that signalled a NullPointerException, the other changes related with linewidth were needed because some of the files contain extremely long chains of invocations with arguments that are extremely long chains of invocations and so on and so forth, so, because of the exponential nature of the line-break placement algorithm, it spend hours trying to make things fit without success. 3) avoid a NullPointerException at the end of execution when asking for usage or some such 4) s/commercial/non-Free/, since there's nothing wrong with commercial Free Software ;-) I hope this helps. |
From: Jochen H. <hoe...@gm...> - 2006-01-30 13:35:40
|
Hello Zaheer, 2006/1/27, Zaheer Bawar <bz...@ya...>: > I have been trying to make the JODE Obfuscator work, > but failed again and agian. > > Jode (c) 1998-2001 Jochen Hoenicke <jo...@gn...> > [...] > Writing new classes > Can't write zip file: obfuscated.zip > java.util.zip.ZipException: ZIP file must have at least one entry This error means that the load rule is not correct and it does not load any classes. > This is where my java.jar file is =3D=3D> C:\JODEexample > Structure of java.jar =3D> > java.jar -> java(folder)->file(folder) -> > test.java Jode has no compiler built in. It reads class files, not java files. You s= hould compile the project before you invoke the obfuscator. Also note that the directory must reflect the package structure. So test.c= lass should only be in java/file if it is in package java.file. However, the package java is reserved for Sun, so you should put it in a different package. I strongly encourage the use of packages, I am not sure whether Jode works for classes that are not part of any package. > Here is the contents of the .jos file: > > classpath =3D "C:\\Program > Files\\Java\\jre1.5.0_06\\lib\\rt.jar","C:\\JODEexample" > dest =3D "obfuscated.zip" > revtable =3D "translat.tbl" > strip =3D "unreach","lvt","inner" > load =3D new WildCard { value =3D "java.classes*" }, > new WildCard { value =3D "java.file" } You should not use the package "java" for your own files. Regards, Jochen -- Jochen Hoenicke, University of Oldenburg, 26111 Oldenburg, Germany Email: hoe...@in... Tel: +49 441 798 3124 |
From: Zaheer B. <bz...@ya...> - 2006-01-27 19:48:13
|
Hello, I have been trying to make the JODE Obfuscator work, but failed again and agian. Here is the situation: This is where my java.jar file is ==> C:\JODEexample Structure of java.jar => java.jar -> java(folder)->file(folder) -> test.java Here is the contents of the .jos file: classpath = "C:\\Program Files\\Java\\jre1.5.0_06\\lib\\rt.jar","C:\\JODEexample" dest = "obfuscated.zip" revtable = "translat.tbl" strip = "unreach","lvt","inner" load = new WildCard { value = "java.classes*" }, new WildCard { value = "java.file" } preserve = new WildCard { value = "java.file.main.*" } renamer = new StrongRenamer { charsetStart = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ" charsetPart = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789_$" charsetPackage = "abcdefghijklmnopqrstuvwxyz" charsetClass = "abcdefghijklmnopqrstuvwxyz" } I have a batch file as well: set classpath=C:\JODEexample\jode.jar java jode.obfuscator.Main obf.jos But when I run the batch file, the error I get is: Jode (c) 1998-2001 Jochen Hoenicke <jo...@gn...> used before: 238720 Loading and preserving classes Time used: 2684 Computing reachability Time used: 0 used after analyze: 2144552 Renaming methods Time used: 40 Transforming the classes Time used: 0 used after transform: 2111728 Writing new classes Can't write zip file: obfuscated.zip java.util.zip.ZipException: ZIP file must have at least one entry at java.util.zip.ZipOutputStream.finish(Unknown Source) at java.util.zip.DeflaterOutputStream.close(Unknown Source) at java.util.zip.ZipOutputStream.close(Unknown Source) at jode.obfuscator.ClassBundle.storeClasses(ClassBundle.java:431) at jode.obfuscator.ClassBundle.run(ClassBundle.java:541) at jode.obfuscator.Main.main(Main.java:189) Time used: 140 Basically, It does not write anything to the .zip file and I am totally lost to why it is not working. Your help is very appreciated. I have a project presenation on JODE,so if you could please solve this problem, that would be great. Thank you in Advance. Zaheer ************************************************************************** Freedom is just Chaos, with better lighting. The cowards never start and the weak die along the way. Seek not happiness too greedily, and be not fearful of happiness. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Jochen H. <hoe...@gm...> - 2005-12-23 10:53:04
|
2005/12/20, Edwin S Lukaweski <se...@ro...>: > > Hi: > > I am trying to extract the table of contents via jar command: > > Here is my command: jar tf jode-1.1.1.jar > > And I get no response. I am using sun sdk j2sdk1.4.2_08. My guess is that the file is corrupted. Another possibility is that you accidently downloaded the HTML-file where a mirror should be selected, instead of the jar file. On Sourceforge this often happens if you right-cl= ick and select "save link as...". Regards, Jochen -- Jochen Hoenicke, University of Oldenburg, 26111 Oldenburg, Germany Email: hoe...@in... Tel: +49 441 798 3124 |
From: Edwin S L. <se...@ro...> - 2005-12-20 14:42:18
|
Hi: I am trying to extract the table of contents via jar command: Here is my command: jar tf jode-1.1.1.jar And I get no response. I am using sun sdk j2sdk1.4.2_08. Does anybody have any idea why I get no reaponse. The same thing = happens when I try to extract the bat file, as in jar xvf jode-1.1.1.jar bin/jode.bat Thanks, in advance Edwin |
From: Lachlan D. <lac...@gm...> - 2005-11-24 02:07:49
|
Hi there, two quick questions: 1. anyone on the list compiled Jode on Mac OS X (esp. 10.4)? 2. I'm attempting to build a Portfile for Jode (for DarwinPorts) but am getting a configure error (see below) that I'm not sure how to fix. Configure is looking in /usr/lib/... for java stuff but it needs to look elsewhere (see below). What do I pass to the configure script to alter this? I've tried passing a CLASSLIB variable to configure but this doesn't seem to make any difference. Anyone got any ideas? Thanks in advance... with regards, -- Lachlan Deck The default environment for Mac OS X's Java is as specified in the following xml: lds-mac:~ ldeck$ cat /System/Library/Java/JavaConfig.plist { Vendor = apple; apple = { VM = "/usr/bin/java"; DefaultClasspath = "$HOME/Library/Java:$NEXT_ROOT/Library/ Java:$NEXT_ROOT/System/Library/Java:$NEXT_ROOT/Network/Library/Java: $NEXT_ROOT/System/Library/Frameworks/JavaVM.framework/Classes/ classes.jar:$NEXT_ROOT/System/Library/Frameworks/JavaVM.framework/ Classes/ui.jar"; DefaultBeanpath = "$HOME/Library/JavaBeans:$NEXT_ROOT/ Library/JavaBeans:$NEXT_ROOT/System/Library/JavaBeans:$NEXT_ROOT/ Network/Library/JavaBeans"; Compiler = "/usr/bin/javac"; Headers = "$NEXT_ROOT/System/Library/Frameworks/ JavaVM.framework/Headers"; Library = "$NEXT_ROOT/System/Library/Frameworks/ JavaVM.framework/Libraries/libjvm.dylib"; }; } lds-mac:~ ldeck$ lds-mac:~/Documents/Downloads/jode-1.1.2-pre1 ldeck$ aclocal && automake -a && autoconf lds-mac:~/Documents/Downloads/jode-1.1.2-pre1 ldeck$ ./configure -- prefix=/opt/local checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make sets $(MAKE)... (cached) yes checking for perl... /usr/bin/perl checking for cygpath... no checking for java... /usr/bin/java checking for javac... /usr/bin/javac checking for jar... /usr/bin/jar checking for /usr/lib/java/lib/classes.zip... no checking for /usr/lib/java/lib/rt.jar... no checking for /usr/lib/java/jre/lib/classes.zip... no checking for /usr/lib/java/jre/lib/rt.jar... no checking for /usr/lib/java/shared/classes.zip... no checking for /usr/lib/java/shared/rt.jar... no checking for jikes... /usr/bin/jikes checking for unzip... /usr/bin/unzip checking for java.lang.Object... no configure: error: Please specify location of core java class library lds-mac:~/Documents/Downloads/jode-1.1.2-pre1 ldeck$ |
From: Carfield Y. <car...@ca...> - 2005-04-08 04:19:53
|
I run using eclipse plugin, but seen it is not related to the plugin, or I am wrong? http://blog.technoetic.com/jode-eclipse-plugin/ /*jode*/ /***** DECOMPILATION REPORT ***** LOCATION: C:\Program Files\Java\j2re1.4.1_02\lib\rt.jar!java.lang.String TOTAL TIME: 0 ms CAUGHT EXCEPTIONS: java.lang.NoClassDefFoundError: java.lang.String at jode.bytecode.ClassInfo.loadInfo(ClassInfo.java:631) at jode.decompiler.ClassAnalyzer.<init>(ClassAnalyzer.java:86) at jode.decompiler.ClassAnalyzer.<init>(ClassAnalyzer.java:123) at jode.decompiler.ClassAnalyzer.<init>(ClassAnalyzer.java:128) at net.sourceforge.jode.JodeDecompiler.decompile(JodeDecompiler.java:69) at net.sourceforge.jode.JodeSourceMapper.findSource(JodeSourceMapper.java:82) at net.sourceforge.jode.JodeSourceMapper.findSource(JodeSourceMapper.java:65) at net.sourceforge.jode.JodeClassFileEditor.doOpenBuffer(JodeClassFileEditor.java:104) at net.sourceforge.jode.JodeClassFileEditor.init(JodeClassFileEditor.java:70) at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:719) at org.eclipse.ui.internal.EditorManager.openInternalEditor(EditorManager.java:788) at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:582) at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:570) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2244) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2177) at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2169) at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2156) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2151) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:149) at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:119) at org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open(OpenActionUtil.java:49) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:164) at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:138) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:216) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188) at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:915) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:866) at org.eclipse.jface.action.ActionContributionItem$7.handleEvent(ActionContributionItem.java:785) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2773) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2432) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:704) at org.eclipse.core.launcher.Main.main(Main.java:688) ********************************/ |
From: Jochen H. <hoe...@gm...> - 2005-04-01 12:07:27
|
On Mar 31, 2005 6:12 PM, Howard Lewis Ship <hl...@gm...> wrote: > I make use of Javassist to create classes in-memory. I was thinking > it would be useful and informative to plug JODE into my pipeline, so > that I could de-compile the dynamically generated bytecode. > > Couldn't see how to do this with JODE. It seems organized around the > bytecodes sitting in a file. Is there a way to easily support > decompling a Class object already in memory? Alternately, I can get > the generated bytecode (into a byte[] array) and would like to > decompile that. With the latest CVS version or 1.90-pre releases you can write your own classpath location, which can load classes from any virtual location. As an example, see ZipLocation, which loads classes from an in memory zip file. All you need is to override the getFile() method to return an ByteArrayInputStream(). Then you can create a new ClassPath with your location and decompile classes from this classpath. Regards, Jochen -- Jochen Hoenicke, University of Oldenburg, 26111 Oldenburg, Germany Email: hoe...@in... Tel: +49 441 798 3124 |