反彙編:把目標**轉為
彙編**的過程,也可說是把機器語言轉為組合語言**,低階轉高階的意思,常用於軟體破解。
通常,編寫
程式是利用高階語言如c,pascal等高階語言進行程式設計的,然後再經過編譯程式生成可以被
計算機系統直接執行的檔案(機器語言)。
反彙編即是指將這些執行檔案
反編譯 還原成
組合語言
或其他高階語言。但通常反編譯出來的程式與原程式會存在許多不同,雖然執行效果相同,但程式** 會發生很大的變化,非程式設計高手很難讀懂。
另外,有許多程式也可以 進行逆向操作即反編譯以求修改,例如flash的檔案生成的swf檔案,也可以被反彙編成flash原碼,但會發現與原程式有很大變化。反彙編可以通過反彙編的一些
軟體實現debug也能反彙編的,debug檔案位置-u,這樣就能實現了。
靜態反彙編是從反彙編出來的程式清單上分析,從提示資訊入手進行分析。目前,大多數軟體在設計時,都採用了人機對話方式。所謂人機對話,即在軟體執行過程中,需要由使用者選擇的地方,軟體即顯示相應的提示資訊,並等待使用者按鍵選擇。而在執行完某一段程式之後,便顯示一串提示資訊,以反映該段程式執行後的狀態,是正常執行,還是出現錯誤,或者提示使用者進行下一步工作的幫助資訊。為此,如果我們對靜態反彙編出來的程式清單進行閱讀,可了解軟體的程式設計思路,以便順利破解該軟體,也就是我們常說的破解版即盜版。反彙編亦是外掛程式設計最重要的環節,可以說沒有反彙編就沒有外掛程式。 常用的靜態分析工具是w32dasm、peid、fileinfo、 hex rays ida和hiew等。簡單地講,反彙編可以看到軟體作者的程式設計思路,可以破解部分資源,可以將軟體漢化等,例如找到它是如何註冊的,從而解出它的註冊碼或者編寫序號產生器。反彙編工具如:od、debug等。
od一般殺軟會報毒。排除即可。需要有紮實的基礎才能看懂。
反彙編 迴圈
includeint main 00401010 55 push ebp 00401011 8bec mov ebp,esp 00401013 83ec 44 sub esp,44 00401016 53 push ebx 00401017 56 push esi 00401018 57 push ...
反彙編簡介
在傳統的軟體開發模型中,程式設計師使用編譯器 彙編器 鏈結器中的乙個或者幾個建立可執行程式,為了回溯程式設計過程,可以使用各種工具來撤銷彙編和編譯過程,這些工具就叫做反彙編器和反編譯器。反彙編器 以機器語言作為輸入,得到組合語言形式的輸出結果 反編譯器 以機器語言作為輸入,得到高階語言形式的輸出結果...
我為什麼要學習C 反彙編
我為什麼要學習 c 反彙編 寫在開始從6 月7日開始到今天已經有 5天了,在這 5天的業餘時間 工作之餘 裡終於系統的完成了 c 反彙編的大部分問題的學習,今天寫篇總結,算是對這幾天學習的總結。首先我想說明的乙個問題就是我為什麼要花時間研究 c 反彙編?這事得從筆者遇到的乙個問題開始說起,大約 2週...