逆向工程師編譯過程的逆過程
『壹』 逆向工程是怎麼實現的能舉例嗎
逆向工程(又名反向工程,Reverse Engineering-RE)是對產品設計過程的一種描述。在2007年初,我國相關的法律為逆向工程正名,承認了逆向技術用於學習研究的合法性。
在工程技術人員的一般概念中,產品設計過程是一個從設計到產品的過程,即設計人員首先在大腦中構思產品的外形、性能和大致的技術參數等,然後在詳細設計階段完成各類數據模型,最終將這個模型轉入到研發流程中,完成產品的整個設計研發周期。這樣的產品設計過程我們稱為「正向設計」過程。逆向工程產品設計可以認為是一個從產品到設計的過程。簡單地說,逆向工程產品設計就是根據已經存在的產品,反向推出產品設計數據(包括各類設計圖或數據模型)的過程。從這個意義上說,逆向工程在工業設計中的應用已經很久了。比如早期的船舶工業中常用的船體放樣設計就是逆向工程的很好實例。
隨著計算機技術在各個領域的廣泛應用,特別是軟體開發技術的迅猛發展,基於某個軟體,以反匯編閱讀源碼的方式去推斷其數據結構、體系結構和程序設計信息成為軟體逆向工程技術關注的主要對象。軟體逆向技術的目的是用來研究和學習先進的技術,特別是當手裡沒有合適的文檔資料,而你又很需要實現某個軟體的功能的時候。也正因為這樣,很多軟體為了壟斷技術,在軟體安裝之前,要求用戶同意不去逆向研究。
逆向工程的實施過程是多領域、多學科的協同過程。
『貳』 做編程的朋友們路過請進!!!
暈,朋友這個不就是逆向工程么,是把c\c++的源程序編譯生成的機器碼,逆向為匯編代碼,這個其實個人覺得學起來比較難的,需要很深厚的匯編基礎,當然逆向工具也有很多,出名的就是ollydbg,推薦一個論壇,看雪論壇,那邊都是討論這方面知識的,希望對你有幫助
『叄』 什麼是逆向工程什麼是反編譯可以根據已經封裝好的程序軟體進行破解分析出源代碼嗎
逆向工程就是根據已有的程序來反推出源代碼以及原來的工程設置,反編譯就是具體的將已經編譯好的程序進行反向工程,從而獲取部分源代碼。一般來說,逆向工程或者反編譯是無法百分之百獲得源代碼的,只能從一定程度上來自源代碼進行猜測,因此根據已經封裝好的程序軟體來進行破解分析出源代碼的可能性並不大,逆向工程的意義並不在於破解源代碼,而是在於了解軟體本身的設計,對於復雜的程序軟體而言破解源代碼的可能性幾乎為零。