ELI5: reverse engineering

Context: computer science 28 views Sep 25, 2026 2 min read

In computer science, reverse engineering is the process of taking a finished piece of software or hardware apart to figure out how it works and how it was made.

Imagine someone gives you a delicious, mystery chocolate cake, but they will not give you the recipe. To learn how to make it yourself, you would taste it carefully, look closely at the layers, and test the ingredients to guess the secret recipe.

In the computer world, developers usually build things by starting with a "recipe" called source code, which is written in human-readable language. A computer then turns that recipe into a finished product, like an app or a video game, which is just a giant bundle of machine numbers that humans cannot easily read.

Reverse engineering means working backward from that finished app to uncover the original ideas inside it.

Here is why people do it:

  • Fixing things: If an old computer program breaks and the original creators lost the recipe, engineers take the program apart to find and fix the problem.
  • Safety and security: Security experts tear apart dangerous malware (computer viruses) to see what harm it does and how to protect people from it.
  • Making things work together: A company might want their new video game controller to work on an older console, so they study the console to learn how it "talks" to controllers.
  • Learning: Curious programmers take things apart simply to learn how smart systems were built so they can make their own better things.
Just like taking apart a toy clock to see the gears inside, reverse engineering is all about looking under the hood of a computer program to discover its secrets without having the instruction manual.

Follow-Up Questions

Still curious? Ask a follow-up!

Test Your Understanding

Take a quick quiz and challenge your friends!

Want to learn more?

Ask another question and get a simple explanation!

Ask a New Question