View Single Post
  #2  
Old 04-23-2005, 16:04
Mkz Mkz is offline
Friend
 
Join Date: Jan 2002
Posts: 98
Rept. Given: 0
Rept. Rcvd 2 Times in 2 Posts
Thanks Given: 5
Thanks Rcvd at 25 Times in 17 Posts
Mkz Reputation: 2
Quote:
Originally Posted by deephousederek
I can decompile the classloader alright, but when I go to parse the bytecode array using the JOIE ClassInfo class I get an exception, I've also tried looking at the JavaAssist Classlibrary, and the BCEL classlibrary to try to decompile the returned class file. No luck however....
How exactly did you do this? In memory?

Try the following approach:
Modify the c classloader to dump the classes it loads, just after decryption:
Code:
    public Class findClass(String s) {
        byte abyte0[] = a(s);
        dumpClass(s, abyte0);
Code:
    private void dumpClass(String name, byte[] cls) {
        try {
            name = name.replace('.', '/');
            name += ".class_ok";
            OutputStream os = new FileOutputStream(".../PokerOffice/" + name);
            os.write(cls);
            os.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
This will create the files *.class_ok wherever there are the *.xclass.
If you're curious to see the encryption password, just log it in the c constructor. They are passed to the poker.ProgramLauncher by the executable.

The dumped classes seems perfectly normal to me, they can be decompiled like the others.

If you need any tip finding the encrypted serial encryption just let me know
Reply With Quote