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