this post was submitted on 03 Aug 2023
487 points (99.8% liked)
196
16490 readers
2486 users here now
Be sure to follow the rule before you head out.
Rule: You must post before you leave.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
So the source code gets turned into a .exe (or equivalent) when it gets compiled right? What stops it from being decompiled? Do the developers add in some kind of cipher? Or is it just that working out what the low level code does in the exe is very difficult?
in most cases you lose a lot of the information in the source code during the compilation process, making decompilation significantly more difficult.
there are cases, particularly with newer games that are less "close to the metal", where decompilation works really well (hell, it's the reason why minecraft modding is as it is), but for older or more demanding games those kinds of abstractions would often result in less performance, meaning the devs would spend more effort squeezing as much performance out as possible, which was often done by programming in a lower level than games of today
An interesting note on Minecraft specifically, because it runs on Java which is half-compiled and half-interpreted (I guess??), there’s usually much more information within Java applications than those written in C or C++.