需要逆向工程的原因如下:
接口設(shè)計(jì)。由于互操作性,逆向工程被用來找出系統(tǒng)之間的協(xié)作協(xié)議。
junshi或商業(yè)機(jī)密。竊取敵人或競爭對手的最新研究或產(chǎn)品原型。
改善文檔。當(dāng)原有的文檔有不充分處,又當(dāng)系統(tǒng)被更新而原設(shè)計(jì)人員不在時(shí),逆向工程被用來獲取所需數(shù)據(jù),以補(bǔ)充說明或了解系統(tǒng)的最新狀態(tài)。
軟件升級(jí)或更新。出于功能、合規(guī)、安全等需求更改,逆向工程被用來了解現(xiàn)有或遺留軟件系統(tǒng),以評(píng)估更新或移植系統(tǒng)所需的工作。
制造沒有許可/未授權(quán)的副本。
學(xué)術(shù)/學(xué)習(xí)目的。
去除復(fù)制保護(hù)和偽裝的登錄權(quán)限。
文件丟失:采取逆向工程的情況往往是在某一個(gè)特殊設(shè)備的文件已經(jīng)丟失了(或者根本就沒有),同時(shí)又找不到工程的負(fù)責(zé)人。完整的系統(tǒng)時(shí)常需要基于陳舊的系統(tǒng)上進(jìn)行再設(shè)計(jì),這就意味著想要集成原有的功能進(jìn)行項(xiàng)目的唯一方法,便是采用逆向工程的方法,分析已有的碎片進(jìn)行再設(shè)計(jì)。
產(chǎn)品分析:用于調(diào)查產(chǎn)品的運(yùn)作方式,部件構(gòu)成,估計(jì)預(yù)算,識(shí)別潛在的侵權(quán)行為。