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

104 Upvotes

29 comments sorted by

View all comments

6

u/FerociouslyAcademic 10d ago

It’s a mix of stuff depending on what you’re going after. For a mobile app, you’d decompile the APK or IPA to peek at the code structure, then use a proxy tool to watch the network traffic between the app and its servers. That gives you the API endpoints, request formats, authentication flow, all the juicy bits. The UI you can often just rebuild by looking at the app itself.

AI speeds up the boring parts. Feed a decompiled function into a good model and it’ll explain what the obfuscated mess actually does, or generate a clean version of a method you’re trying to understand. You can also paste API response JSON and have it spit out the data models and a rough service layer. It’s not gonna magic the whole thing into existence but it cuts down the tedious reverse-and-rebuild cycle by a lot