▲ 89 ▼ Removing obfuscation in Minecraft Java Edition (www.minecraft.net) submitted 10 months ago by misk@piefed.social to c/games@sh.itjust.works 16 comments fedilink hide all child comments
[–] sentient_loom@sh.itjust.works 4 points 10 months ago (1 child) I thought it was all done in Java. permalink fedilink source hideshow 2 child comments replies: [–] CrayonDevourer@lemmy.world 20 points 10 months ago* (2 children) 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. permalink fedilink source parent hideshow 4 child comments replies: [–] elvith@feddit.org 6 points 10 months ago 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. permalink fedilink source parent [–] sentient_loom@sh.itjust.works 3 points 10 months ago (3 children) 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). permalink fedilink source parent hideshow 6 child comments replies: [–] DesolateMood@lemmy.zip 5 points 10 months ago (1 child) Microsoft did rewrite the whole game in C++. It's called Bedrock Edition permalink fedilink source parent hideshow 2 child comments replies: [–] fibojoly@sh.itjust.works 2 points 10 months ago Careful now. Dem's fighting words in some parts of the Net... permalink fedilink source parent [–] zarkony@lemmy.zip 3 points 10 months ago Why is it scrambled? To keep people from copying it? 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. permalink fedilink source parent [–] CrayonDevourer@lemmy.world 2 points 10 months ago* 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. permalink fedilink source parent
[–] CrayonDevourer@lemmy.world 20 points 10 months ago* (2 children) 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. permalink fedilink source parent hideshow 4 child comments replies: [–] elvith@feddit.org 6 points 10 months ago 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. permalink fedilink source parent [–] sentient_loom@sh.itjust.works 3 points 10 months ago (3 children) 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). permalink fedilink source parent hideshow 6 child comments replies: [–] DesolateMood@lemmy.zip 5 points 10 months ago (1 child) Microsoft did rewrite the whole game in C++. It's called Bedrock Edition permalink fedilink source parent hideshow 2 child comments replies: [–] fibojoly@sh.itjust.works 2 points 10 months ago Careful now. Dem's fighting words in some parts of the Net... permalink fedilink source parent [–] zarkony@lemmy.zip 3 points 10 months ago Why is it scrambled? To keep people from copying it? 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. permalink fedilink source parent [–] CrayonDevourer@lemmy.world 2 points 10 months ago* 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. permalink fedilink source parent
[–] elvith@feddit.org 6 points 10 months ago 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. permalink fedilink source parent
[–] sentient_loom@sh.itjust.works 3 points 10 months ago (3 children) 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). permalink fedilink source parent hideshow 6 child comments replies: [–] DesolateMood@lemmy.zip 5 points 10 months ago (1 child) Microsoft did rewrite the whole game in C++. It's called Bedrock Edition permalink fedilink source parent hideshow 2 child comments replies: [–] fibojoly@sh.itjust.works 2 points 10 months ago Careful now. Dem's fighting words in some parts of the Net... permalink fedilink source parent [–] zarkony@lemmy.zip 3 points 10 months ago Why is it scrambled? To keep people from copying it? 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. permalink fedilink source parent [–] CrayonDevourer@lemmy.world 2 points 10 months ago* 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. permalink fedilink source parent
[–] DesolateMood@lemmy.zip 5 points 10 months ago (1 child) Microsoft did rewrite the whole game in C++. It's called Bedrock Edition permalink fedilink source parent hideshow 2 child comments replies: [–] fibojoly@sh.itjust.works 2 points 10 months ago Careful now. Dem's fighting words in some parts of the Net... permalink fedilink source parent
[–] fibojoly@sh.itjust.works 2 points 10 months ago Careful now. Dem's fighting words in some parts of the Net... permalink fedilink source parent
[–] zarkony@lemmy.zip 3 points 10 months ago Why is it scrambled? To keep people from copying it? 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. permalink fedilink source parent
[–] CrayonDevourer@lemmy.world 2 points 10 months ago* 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. permalink fedilink source parent