軟件逆向設(shè)計工程的工藝知識
發(fā)布日期: 2018-12-24 瀏覽人數(shù):
逆向設(shè)計工程,說得簡單一點,其實可以認為是一種產(chǎn)品設(shè)計技術(shù)再現(xiàn)過程,即對一項目標產(chǎn)品進行逆向分析及研究,從而演繹并得出該產(chǎn)品的處理流程、組織結(jié)構(gòu)、功能特性及技術(shù)規(guī)格等設(shè)計要素,以制作出功能相近,但又不完全一樣的產(chǎn)品。而軟件逆向設(shè)計工程就是其中的一種方法,那么軟件逆向設(shè)計工程是怎么實現(xiàn)的呢?
軟件逆向設(shè)計工程的實現(xiàn)方法:
1、分析通過信息交換所得的觀察。
通常用于協(xié)議逆向設(shè)計工程,涉及使用總線分析器和數(shù)據(jù)包嗅探器。在接入計算機總線或網(wǎng)絡(luò)的連接,并成功截取通信數(shù)據(jù)后,可以對總線或網(wǎng)絡(luò)行為進行分析,以制造出擁有相同行為的通信實現(xiàn)。此法特別適用于設(shè)備驅(qū)動程序的逆向工程。有時,由硬件制造商特意所做的工具,如JTAG端口或各種調(diào)試工具,也有助于嵌入式系統(tǒng)的逆向工程。對于微軟的Windows系統(tǒng),受歡迎的底層調(diào)試器有SoftICE。
2、反匯編。
即使用反匯編器,把程序的原始機器碼,翻譯成較便于閱讀理解的匯編代碼。這適用于任何的計算機程序,對不熟悉機器碼的人特別有用。流行的相關(guān)工具有OllyDebug和IDA。
3、反編譯
即使用反編譯器,嘗試從程序的機器碼或字節(jié)碼,重現(xiàn)高級語言形式的源代碼。