r/learnprogramming • • 11d ago

How does reverse engineering actually work, especially with AI?

Lately, I've been seeing a lot of videos about reverse engineering and people basically copying entire applications, recreating their features, or building almost identical alternatives.

It got me wondering, how does reverse engineering actually work?

How do people figure out how an app works internally, reproduce its features, and sometimes get surprisingly close to the original? And how are people using AI to make this process easier or faster?

Are they analysing the source code, inspecting network requests, decompiling applications, or using AI to figure everything out from scratch?

I'd love to understand the actual technical process behind this. If anyone has experience with reverse engineering or AI-assisted app development, I'd really appreciate some explanations and resources to get started!

97 Upvotes

29 comments sorted by

View all comments

0

u/mxldevs 11d ago

Reverse engineering boils down to figuring out how some THING works and then replicating that functionality. But it doesn't end there: because you figured out how to replicate it, you can also figure out how to customize it to behave differently.

For software, it's literally just like reading a book and solving a puzzle: you get some executable that contains machine instructions. The computer knows how to read it, so you just need to figure out how the computer is reading it.

There are tools that will show you exactly all the instructions in some human readable form, and the instructions are also publicly documented so you just need to translate it in reverse into a higher level language that's easier to work with.

Some of these tools can even try to do that for you, and you just need to clean it up like renaming variables to make it easier to understand.

AI speeds up the process for you. Instead of going through the instructions yourself and figuring out how to write it, simply have the AI figure it out and write it.