Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

Java Obfuscation Arms Race

April 29th, 2005 by Multimedia Mike

So I have managed to automatically de-obfuscate an obfuscated Java project. Remember, there are 2 major challenges in reverse engineering: 1) Understanding the original code flow, and 2) understanding what the original identifier names could have been. My experiment was focused on problem #2. Problem #1 is generally a non-issue in decompiled Java code since Java classes retain so much information about the original code flow.

Are there better approaches for obfuscating Java code?

Read the rest of this entry »

Posted in Java, On2/Duck, Reverse Engineering | Comments Off on Java Obfuscation Arms Race

Try The Java Experiment For Yourself

April 28th, 2005 by Multimedia Mike

For those who would like to try out the RetroGuard program, only modified to be a quasi-de-obfuscator, check out Deobfuscating Obfuscated Code With RetroGuard. It explains everything you need to know about running the experiment.

Posted in Java, Reverse Engineering | Comments Off on Try The Java Experiment For Yourself

Chaos Works In Strange Ways

April 25th, 2005 by Multimedia Mike

This evening, I implemented the VerbNameMaker Java class for the Retroguard project by simply copying the NounNameMaker class and replacing the animal list with a list of English verbs extracted from verba.org. So the class picks a random verb from a list of over 4000 verbs and replaces obfuscated method names. Remember that dequantizer method from the previous post? Guess what the new Java class, working in conjunction with Java’s random number generator, decided to name the method?

    private void fondle(int i)
    {
        short aword0[] = australianKestrel[i];
        for(int j = 0; j < 64; j++)
            kingsnake[eastAfricanCrownedCrane[j]] = aword0[j] * conch[j];
    }

Just as I have long suspected, Java is a sick, perverted language.

Read the rest of this entry »

Posted in Java, Reverse Engineering | Comments Off on Chaos Works In Strange Ways

Success On The Java De-obfuscation Front

April 24th, 2005 by Multimedia Mike

So I finally managed to recompile the Retroguard project. Then I created my own class to help in de-obfuscating obfuscated Java source code. The first part of this exercise is to de-obfuscate fields, i.e. nouns. For my list of nouns, I used this impressive list of animal names (2400+).

Read the rest of this entry »

Posted in Java, Reverse Engineering | Comments Off on Success On The Java De-obfuscation Front

« Previous Entries