r/learnprogramming • • 2d 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!

88 Upvotes

23 comments sorted by

View all comments

40

u/Digital-Chupacabra 2d ago

First off I would highly recommend watching some of Nathan Baggs's videos. He does reverse engineering and patching of video games and gets into a lot of technical detail without bogging it down.

Are they analysing the source code

If you have the source code you don't need to reverse engineer it.

inspecting network requests, decompiling applications, or using AI to figure everything out from scratch?

Yes, and more. You can use a decompiler or a tool like ghidra to turn an application into readable code, it's not going to be what was originally written and it might not even be in the same language but it should be functionally close.

From there, you can do network and stack inspection, basically see how the application works, run the compiled code with a debugger so you can see what functions call what.

Using AI is largely having an AI do that for you, it can generally do it quicker. But if you look at the recently released Reverse engineered adobe products you can quickly see the limits of this.

6

u/rosholger 2d ago

Since copying the source code might be illegal depending on the license you might want to reverse engineering something even if you have the source code, since that is always legal as long as its not copying any code

4

u/ActuaryLate9198 1d ago

Using a decompiled code base as a starting point definitely won’t save you from legal issues. You’re gonna have to do clean room development, even having looked at the original will open you up to legal challenges.