Product Reverse Engineering