3 ms·
Probably virtually the same. If I recall, the "obfuscation" was mostly mangling
by internetter 1y ago
Probably virtually the same. If I recall, the "obfuscation" was mostly mangling
- Traubenfuchs 1y agoLuckily I have never had to deal with obfuscation, but from what I have seen there are some grotesque things like defining every single randomly named method call in an array or map with random order or weirdly combining or tearing apart methods. The only time I encountered it was when I was working for the government, we were working on the rules that decide who gets audited in depth by the tax police. The .jar it compiled to was obfuscated.
- wtallis 1y agoMy decade-old recollection is also that Minecraft's obfuscation didn't do anything structural, just mangled class and method names. Think of it more like JavaScript minification than a serious attempt to thwart reverse engineering.
- duskwuff 1y agoMinecraft - like most Java games - just used Proguard. It renames classes/fields/methods and sometimes inlines private methods, but doesn't make any substantial changes to control flow.
- xxs 1y agoI have seen =tons= of obfuscation (non-minecraft). Back in the late 90s it used to be popular, unfortunately. Most of the stuff is like naming every method a or b, and using the fact they are overloaded, given one-letter-name or a reserved keyword like 'if' to classnames (or packages) was popular, too. Pretty much constant pool modifications w/o too much byte-code-editing. Overall cheap and unnecessary and has not stopped anyone.
- ok123456 1y agoIt's still pretty popular. Most large smartphone applications are obfuscated to some degree. At least for Android, because it's bytecode for a VM, it's still trivial to disassemble and understand what is happening at a high level.
- circuit10 1y agoFor Minecraft it’s just removing names and replacing them with random strings
- SkiFire13 1y agoAFAIK it also shortens the names, which might make the jar smaller or make it take less time to do name resolution at runtime. It probably won't be very relevant though, especially after startup.