48
I always say I don’t get along very well with terms.
These days I needed to do an operation on a given framework in PHP called Laravel, where I needed to find a resource that would allow me to use an existing bank and have it automatically generate the models and Migrations application via the tables of that bank.
Usually what happens is the opposite: You generate models and Migrations, which in turn generate the database.
I did a lot of research on the internet (in English) to find what I wanted, but I couldn’t find it. Until I used the term Database Reverse Engine for Laravel, and found what I was looking for.
Until then I was not so familiar with the term, for thinking of dealing with something far removed from my day-to-day programming. But it turns out it wasn’t true.
What I understand from my experience is that reverse engineering is related to using what was generated to create the generator. Correct me if I’m wrong.
That’s why I come here to ask: What exactly is Reverse Engineering?
Note: I won’t include the tag php
or laravel
, because it’s not about the subject, it was just an example.
Related: How to protect source code
– Wallace Maxters
Dismantling a toy, for example, is reverse engineering.
– Daniel Omine
One interesting thing to note is that the word re-verse, as an adjective, it does not translate to reverse yes to inverted or in reverse. That is to say, reverse engineering (as well as instance ) are neologisms of programming in Portuguese.
– Pablo Almeida
Dismantle something to know how it was done, to then use the knowledge obtained, and try to do the same or similar. Some say the Chinese do it to create their fake electronics. In computing, it means undoing the build process, and retrieving the source code.
– mau humor