A reverse engineering valamilyen szerkezet, termék vagy program működési elvének, felépítésének visszafejtése a kész változat elemzése alapján. A kifejezés az angol reverse (=fordított) és engineering (=mérnökség) szavakból áll.
A digitális reprodukció célja általában újra gyártás, áttervezés, megőrzés vagy illeszkedő formák tervezése.
A kifejezést arra is használják, amikor valaki egy termék alapján készít 3 dimenziós számítógépes modellt. Erre magyarul a visszamodellezés szót is szokták használni.
Ha például egy cég kifejleszt egy új technológiát, akkor a konkurencia a termékét megvásárolva és elemezve rájöhet, hogy az hogyan működik, és ennek segítségével maga is előállhat egy hasonlóval. A vizsgált rendszertől és az alkalmazott technológiáktól függően a visszafejtés során megszerzett ismeretek segíthetnek az elavult objektumok újrahasznosításában, biztonsági elemzések elvégzésében vagy valami működésének megtanulásában.
Nagyon hasznos lehet például ha régi, már nem gyártott sérült,hiányos alkatrészre van szükség. A meglévő darab illetve a funkciója ismeretében fel lehet építeni egy CAD modellt, amit aztán készre lehet gyártani.
Bár a folyamat az objektumra jellemző, amelyen végrehajtják, minden visszafejtési folyamat három alapvető lépésből áll: információ kinyerése, modellezése és áttekintése. Az információkinyerés a művelet végrehajtásához szükséges összes információ összegyűjtésének gyakorlatára vonatkozik. A modellezés azt a gyakorlatot jelenti, hogy az összegyűjtött információkat egy absztrakt modellbe vonják össze, amely útmutatóként használható az új objektum vagy rendszer tervezésénél. A felülvizsgálat a modell tesztelésére vonatkozik, hogy biztosítsa a választott absztrakt érvényességét.
A reverse engineering folyamat eredményeként kapott visszafejtett modellek gyártható, paraméterezhető CAD modellek.