What is the meaning of Reverse-engineer?

To derive or duplicate the design, technical specifications, manufacturing methods, or functionality of an object by studying an existing product, prototype, etc.

To create or modify an implementation to better conform to a desired goal.

A person who reverse-engineers products.

Source: wiktionary.org