Dirk Vangestel
Aug 31, 2018 · 1 min read

In practice, two main types of reverse engineering emerge. In the first case, source code is already available for the software, but higher-level aspects of the program, perhaps poorly documented or documented but no longer valid, are discovered. In the second case, there is no source code available for the software, and any efforts towards discovering one possible source code for the software are regarded as reverse engineering. This second usage of the term is the one most people are familiar with.

So I guess wikipedia agrees with both of us :) But it does say that most people interpret reverse engineering as not having any source code. Which is what people say in the reddit post you linked to too. Honestly it’s the first time I see someone use the term “reverse engineering” when the source is available. The source is right there, you just have to read it. It might be poorly written, but that’s what refactoring is for. I’ll take source code over documentation any day. Documentation can be (and in my experience usually is) wrong or outdated.

    Dirk Vangestel

    Written by