軟件反編譯的方法
作為一名程序員,當遇到做的很好、有借鑑意義的軟件時,總是忍不住要看看人家代碼是怎麼寫的,是怎樣做到這樣強大的功能的,但往往我們並不知道軟件是誰寫的,也就沒辦法與軟件作者進行溝通了,那是不是就沒有辦法達成我們學習進步的美好願望呢?其實,辦法是有的,軟件反編譯就是一個很好的辦法,但這裏筆者並不建議大家用這樣的辦法來盜版別人的軟件,學習借鑑倒是可以的。
步驟/方法
(01)現在的程式語言越來越多,我們只有知道目標軟件是哪種程式語言和平台開發出來的,才能有的放矢的選擇相應的反編譯軟件。而PEiD是一款著名的查殼工具,其功能強大,現在有軟件很多都加了殼,給破解漢化帶來非常大的不便,PEiD幾乎可以偵測出所有的殼,其數量已超過470 種PE文檔 的加殼類型和簽名,另外還可識別出EXE文件是用什麼語言編寫的,比如:VC++、Delphi、VB或Delphi等。例如下圖,PEiD的截圖,用紅色圈包圍起來的顯示的是軟件的開發語言。上圖顯示的是用Microsoft Visual C++6.0開發的DLL上圖顯示的是用Borland Delphi 6.0-7.0開發的exe
(02)知道了是何種開發語言,我們就可以選擇反編譯軟件了,對於微軟開發平台開發出來的軟件,我們通常使用 Reflector,在文件菜單中將需要反編譯的DLL或EXE加載進來, Reflector就會自動幫我們反編譯,我們可以在 Reflector直接查看反編譯後的源代碼,也可以將源代碼導出,具體操作步驟見下圖
(03)Borland Delphi筆者用過的反編譯軟件為DeDe,操作過程跟 Reflector類似,將軟件加載進來,點擊處理,會彈出提示“等加載完成後點擊OK”,詳細步驟可參見。
(04)JAVA開發出來的軟件,筆者推薦Java Decompiler,十分好用。如下圖所示,反編譯後源碼很清晰
特別提示
本文提供的方法僅供學習軟件開發之用,請勿用於軟件盜版等其他用途。
-
怎麼在Excel列A數據中篩選出列B數據?
已知excel列A數據和列B數據有部分內容相同,怎樣才能篩選出哪些混在列A中的列B數據呢?最笨的方法就是複製列B的數據查找。這裏,我給大家分享一種方法,既準確又快捷的方法。不信,您嘗試一下。操作方法(01)打開需要編輯的Excel文件,觀察列A和列B,列A列B有部分內容重複,現需...
-
在Word文檔中怎麼樣進行簡繁體轉換?
字體有繁體和簡體之分,而Word文檔主要的功能是記錄保存文本文字,可能由於區域不一樣,有的喜歡用簡體有的喜歡用繁體,為了方便查看,就需要用到簡繁體的相互轉換了。操作方法(01)方法一:比較常用的,就是用Word文檔自帶的簡繁體轉換功能,找到審閲——簡轉繁——便可將選擇的...
-
Excel中身份證號計算年齡公式是什麼
Excel是一款電子表格軟件,直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。那麼EXCEL中身份證號計算年齡公式是什麼呢,下面我們就來了解一下。操作方法(01)在單元格中輸入“=2018-MID(D4,7,)”。(02)D4表示身份證...
-
Steam錯誤代碼118最新解決方案
Steam商店錯誤代碼118怎麼解決?Steam商城進不去,提示錯誤代碼118應該怎麼解決呢?大家不用擔心,Steam錯誤代碼118是電腦自身網絡解析出現了問題,我們改下網絡設置即可解決問題。那麼,具體要怎麼操作呢?接下來小編就給大家詳細説説Steam錯誤代碼118的解決方法,趕緊GET起...