軟件逆向工程有多種實現方法,主要有三:
1.分析通過信息交換所得的觀察。
最常用於協議逆向工程,涉及使用總線分析器和數據包嗅探器。在接入計算機總線或網絡的連接,並成功截取通信數據後,可以對總線或網絡行為進行分析,以制造出擁有相同行為的通信實現。此法特別適用於設備驅動程序的逆向工程。有時,由硬件制造商特意所做的工具,如JTAG端口或各種調試工具,也有助於嵌入式系統的逆向工程。對於微軟的Windows系統,受歡迎的底層調試器有SoftICE。
2.反匯編,即使用反匯編器,把程序的原始機器碼,翻譯成較便於閱讀理解的匯編代碼。這適用於任何的計算機程序,對不熟悉機器碼的人特別有用。流行的相關工具有OllyDebug和IDA。
3.反編譯,即使用反編譯器,嘗試從程序的機器碼或字節碼,重現高級語言形式的源代碼。