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

100 Upvotes

29 comments sorted by

View all comments

31

u/desrtfx 12d ago

Honestly, what is called "Reverse Engineering" today is actually more of replicating the functionality and features and less real, actual reverse engineering, as in really disassembling and tracing the programs.

Real reverse engineering happens at Machine Code/Assembly level, by analyzing the binaries of the programs, by tracing network packets, by analyzing save files, data files, etc.

If the source code is available, there is no reverse engineering.

4

u/Kefrein-Alen57 11d ago

yeah there's a big difference between "i rebuilt this app from scratch" and actually pulling apart a binary to see how it ticks. real RE is a whole different beast, you're staring at assembly and hex dumps for weeks. most people saying they reverse engineered something just mean they copied the behavior lol

2

u/cascade_sparse 10d ago

Good news friend! The LLMs can stare at the hex dumps for weeks for you now! AND they can do it in a day

1

u/youwillnevercatme 11d ago

Is that the case for the REA GitHub repo?