什麼是逆向工程?黑客是如何構建可利用的漏洞?
網際網路時代,在各個領域進行逆向工程的原因有很多,逆向工程起源於商業或軍事優勢的硬體分析。然而,逆向工程過程本身並不涉及以某種方式建立副本或更改工件;它只是一種分析,以便從產品中推斷設計特徵,而對其原始生產中涉及的程式幾乎沒有或沒有其他知識。在一些情況下,逆向工程過程的目標可以簡單地是一個文件重構的遺留系統。即使逆向工程產品是競爭對手的產品,目標可能不是複製它們,而是進行競爭對手分析。
逆向工程也可用於建立可互操作的產品,儘管有一些狹隘的美國和歐盟立法,但為此目的使用特定逆向工程技術的合法性已在全球各地的法院上爭論了20多年。軟體逆向工程可以幫助提高對底層原始碼的理解,以便維護和改進軟體,可以提取相關資訊以便做出軟體開發的決策,程式碼的圖形表示可以提供有關原始碼的備用檢視程式碼,可以幫助檢測和修復軟體錯誤或漏洞。
通常,隨著某些軟體的發展,其設計資訊和改進通常會隨著時間的推移而丟失,但這種丟失的資訊通常可以通過逆向工程來恢復。此過程還有助於縮短理解原始碼所需的時間,從而降低軟體開發的總體成本。