LWN.net Logo

Re: Who obfuscates?

Re: Who obfuscates?

Posted Apr 10, 2005 10:55 UTC (Sun) by Wummel (subscriber, #7591)
In reply to: Who obfuscates? by MathFox
Parent article: Protect Your Source Code: Obfuscation 101 (O'ReillyNet)

Maintaining obfuscated code costs far more than maintaining normal code.
You don't work with obfuscated code. Obfuscation is normally an automated step before compiling, for example calling retroguard for Java progs. Obfuscating with retroguard actually speeds up the startup time since variable names are shorter and the resulting .class files are smaller.

Another possibility is putting all the compiled code in an archive, encrypt it, and write a small C wrapper that loads the archive in memory, decrypts it and runs it (either in the Java/Python interpreter, or directly as a native executable). There is no runtime overhead with this method, only startup is slower. And it is hard to decompile since you have to trace the decryption routine with a disassembler, or make a memory dump of the decrypted program.


(Log in to post comments)

Re: Who obfuscates?

Posted Apr 11, 2005 7:03 UTC (Mon) by khim (subscriber, #9252) [Link]

You don't work with obfuscated code. Obfuscation is normally an automated step before compiling, for example calling retroguard for Java progs. Obfuscating with retroguard actually speeds up the startup time since variable names are shorter and the resulting .class files are smaller.

It also makes trace logs useless thus making support nightmare. And it does not make code that much harder to crack. So even automatic obfuscator is useless in 99% cases.

Re: Who obfuscates?

Posted Apr 11, 2005 12:57 UTC (Mon) by AAP (guest, #721) [Link]

Automated obfuscaters? Bah, I know of an ex-programmer where I work that can outdo any automatic obfuscation! It was one programmer, not a company policy, but he did it because he thought it would make him too "valuable" to fire. Unfortunately for me, he eventually left, and I was the poor schmoe that had to rewrite his crap!

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds