Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes. Imagine that a class like "me.grishka.app.something.SomeDescriptiveClassName" gets renamed to "zzq" in the default (root) package. You end up with thousands of classes in there, none have sensible names, and nothing inside them has sensible names either. So you do have to spend extra effort to rename them back to something that makes sense. A good starting point for figuring out what an obfuscated class does is to look for log messages.

Java classes must still have names, and methods and fields must also retain type information for the JVM to work. Inside a JVM, classes and fields are accessed using names, and methods are accessed using name+signature, the signature being of the form "(Ljava/lang/String;II)V", that's a method that takes a string and two ints and returns void.



Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: