X-Received: by 10.236.62.231 with SMTP id y67mr5042065yhc.3.1383154828646; Wed, 30 Oct 2013 10:40:28 -0700 (PDT) X-Received: by 10.182.158.167 with SMTP id wv7mr83682obb.29.1383154828602; Wed, 30 Oct 2013 10:40:28 -0700 (PDT) Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!i2no1464286qav.0!news-out.google.com!9ni1507qaf.0!nntp.google.com!i2no1464281qav.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.java.help Date: Wed, 30 Oct 2013 10:40:28 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=111.119.234.87; posting-account=yCM_fgkAAACpow8vL8GgaDJ03esgSiP7 NNTP-Posting-Host: 111.119.234.87 References: <16e63103-68ab-4b05-8645-ff79080a94f9@googlegroups.com> <85e67187-df89-47ff-9f44-d486b846b421@googlegroups.com> <9611b714-c4c1-42e3-80dc-edd2f1939b36@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Finally java class file encryption possible. From: Java Encryptor Injection-Date: Wed, 30 Oct 2013 17:40:28 +0000 Content-Type: text/plain; charset=ISO-8859-1 Xref: csiph.com comp.lang.java.help:2843 On Wednesday, October 30, 2013 7:24:51 PM UTC+5:30, Steven Simpson wrote: > On 30/10/13 12:38, Java Encryptor wrote: > > > I have updated the files with two versions of exe files. > > > 32 bit version and 64 bit version. > > > > Now it works, thanks. > > > > However, I've managed to obtain classfiles for One, Two, Three and even > > VinZipCryptClassesLoader, by injecting a dump into one of the > > defineClass methods of java.lang.ClassLoader (which Daniel Pitts > > suggested). It wasn't a lot of effort. Isn't this what you are trying > > to avoid? > > > > Here's a snippet of the output of "javap -verbose One": > > > > Classfile One.class > > Last modified 30-Oct-2013; size 601 bytes > > MD5 checksum 09d43a1e5d0013dcc26748271dd675b8 > > Compiled from "One.java" > > public class One > > SourceFile: "One.java" > > minor version: 0 > > major version: 51 > > flags: ACC_PUBLIC, ACC_SUPER > > Constant pool: > > #1 = Class #21 // One > > #2 = Methodref #1.#22 // One."":()V > > #3 = Methodref #12.#22 // java/lang/Object."":()V > > #4 = Class #23 // javax/swing/JFrame > > #5 = Methodref #4.#22 // javax/swing/JFrame."":()V > > #6 = String #24 // Hello! We are in class One. > > #7 = Methodref #25.#26 // javax/swing/JOptionPane.showMessageDialog:(Ljava/awt/Component;Ljava/lang/Object;)V > > #8 = Class #27 // Two > > #9 = Methodref #8.#22 // Two."":()V > > #10 = String #28 // We are back in class One from Class Two-Three. > > > > etc... > > > > > > -- > > ss at comp dot lancs dot ac dot uk Thanks, So basically there is no way we can prevent our class from de-compiling.