A person who reverse-engineers products.
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.