It is, but that code is run through a scrambler that makes it more difficult to read for a human, but basically a trivial task for a computer to undo anyways.
So we’re just burning CPU cycles by scrambling it, and then just unscrambling it anyways – so Microsoft is just saying “why scramble it at all then?”
This should, in theory, make it easier for people with less experience coding, to read and understand what’s going on.
Also modders had reversed all relevant code at some point (at least to the extend of this function does X) and then offered those symbols (=their class names, method names,… And where to find them in the bytecode) for others to mod the game. Later Mojang even released the official symbols, but at that point everyone was already using the community made ones. IIRC they kept releasing these symbols for every new version since then which drastically sped up modding compatibility for those versions.
So I think it’s not completely unexpected that they’d do this since the most important information was already oit in the open.
Now I’m more confused. Why is it scrambled? To keep people from copying it? Were they doing this before MS bought it?
I was hoping you’d say “Microsoft decided to rewrite the whole game in C++” but I guess that’s not the case (although I think the AMAZING Minetest game is written in C++ and I actually like it more).
Being written in C++ doesn’t keep it from being reverse engineered in exactly the same way. All code can be reversed. It’s a little easier with Java because java isn’t turned directly into machine-code at compile-time.
It is, but that code is run through a scrambler that makes it more difficult to read for a human, but basically a trivial task for a computer to undo anyways.
So we’re just burning CPU cycles by scrambling it, and then just unscrambling it anyways – so Microsoft is just saying “why scramble it at all then?”
This should, in theory, make it easier for people with less experience coding, to read and understand what’s going on.
Also modders had reversed all relevant code at some point (at least to the extend of this function does X) and then offered those symbols (=their class names, method names,… And where to find them in the bytecode) for others to mod the game. Later Mojang even released the official symbols, but at that point everyone was already using the community made ones. IIRC they kept releasing these symbols for every new version since then which drastically sped up modding compatibility for those versions.
So I think it’s not completely unexpected that they’d do this since the most important information was already oit in the open.
Now I’m more confused. Why is it scrambled? To keep people from copying it? Were they doing this before MS bought it?
I was hoping you’d say “Microsoft decided to rewrite the whole game in C++” but I guess that’s not the case (although I think the AMAZING Minetest game is written in C++ and I actually like it more).
Microsoft did rewrite the whole game in C++. It’s called Bedrock Edition
Careful now. Dem’s fighting words in some parts of the Net…
Yes. Common practice to hide your code from the user, or potential rivals. I think they’ve been obfuscating the whole time, even back in Notch days.
It was kinda pointless in this case, and was the reason why mod updates were slow between versions, even for simple mods.
Being written in C++ doesn’t keep it from being reverse engineered in exactly the same way. All code can be reversed. It’s a little easier with Java because java isn’t turned directly into machine-code at compile-time.