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?

As others have mentioned, it's possible but very complicated. Decompilers produce code that isn't very readable for humans.

I am indeed awaiting the big news headlines that will for some reason catch everyone by surprise when a LLM comes along that's trained to "translate" machine code into a nice easily-comprehensible high-level programming language. It's going to be a really big development, even though it doesn't make programs legally "open source" it'll make it all source available.

I have a bunch of 16-bit applications that I would love to be able to do that with. Mostly dos and windows 3.1 games.
You might actually consider dipping your toes into trying to learn how to analyze/reverse those yourself. Relatively speaking, software that old can sometimes be easier to reverse.

Yeah I’m not unfamiliar (still a novice though) with the process and mostly used it circumvent something obnoxious or tweak save files. Just takes a lot of effort when you’re just looking to spend a couple hours playing a game before bed.

I’m currently experiencing a frustrating bug in dolphin and I’m being tempted to learn enough about it. My MIPS buddy won’t help me with it because he thinks it’s a waste of time.

I like LLMs for the time it saves you to do something laborious or mundane. One day we’ll have general ai fingers crossed

~Love the toes pun

My apologies for preaching to the choir. (And I didn't notice your username when I wrote that, LOL. Happy accident.)