Why is it impossible to reverse-engineer closed source software?

https://lemmy.world/post/17371738

Why is it impossible to reverse-engineer closed source software? - Lemmy.World

The first programs were written in binary/hexadecimal, and only later did we invent coding languages to convert between human readable code and binary machine code. So why can’t we just do the same thing in reverse? I hear a lot about devices from audio streaming [https://arstechnica.com/gadgets/2024/05/spotify-wont-open-source-car-thing-but-starts-refund-process/] to footware [https://arstechnica.com/gadgets/2024/07/immensely-disappointing-nike-killing-app-for-350-self-tying-sneakers/] rendered useless by abandonware. Couldn’t a very smart person (or AI) just take the existing program and turn it into code?

It is not. idk who told you it was.

Disassembling an executable is trivial to do. Everything is open source if you can read assembly.

Well decompiling is only one step in the reverse engineering process. I would recommend taking a look at the Legend of Zelda: Ocarina of Time decompile projects. They reversed engineered the whole thing, which took years and was a team effort.

In the end they got perfectly readable source code, fully documented. And the most amazing thing is, when compiled with the right compiler and right flags, it recreates the original rom perfectly.

I would also recommend a YouTuber called Kaze. He’s been working on Mario 64 for years, re-writing large parts of the engine to get some pretty cool stuff going.