Reverse engineering (RE) is the process of discovering the technological principles of a device or object or system through an abductive analysis of its structure, function and operation[citation needed]. It often involves taking something (e.g. a mechanical device, an electronic component, a software program) apart and analyzing its workings in detail, usually to try to make a new device or program that does the same thing without copying anything from the original.
Не би рекол дека кракувањето нема врска со reverse engineering. Кракувањето е reverse engineering, само кракувањето се фокусира на reverse engineering на заштитата на програмата. За да напишеш еден генератор на сериски броеви или пак на лиценцни датотеки мора со дебагер, деасемблер или декомпајлер да пронајдеш каде се врши проверката на валидноста и да го анализираш алгоритмот, па потоа да напишеш генератор. Значи се обидуваш да разбереш како работи нешто, што значи дека кракувањето е reverse engineering.извини но крак != reverse engineering. човек може во соодветна алатка да го најде менито за внесување на сериски број и да го среди кракот (ако не е јака заштитата буквално за 15 минути) без воопшто да навлегува во било која функционалност на софтверот.
Класичен пример за reverse engineering е изработка на драјвер за линукс во случај кога поризводителот не сакал да се замара и да достави документација за производот. Луѓето одат чекор по чекор да дојдат до прифатлива алтернатива.
Втор пример за reverse engineering ти е .doc поддршката во OpenOffice / StarOffice. Microsoft го има затворено овој формат и никој не може со 100% сигурност да предвиди како ќе се прикаже документот освен производот на Microsoft (т.е. Word).