dos文件反編譯
⑴ 反編譯exe文件就是把exe還原為匯編
首先了解一下概念,exe程序只是WIN下PE格式的可執行文件的一種,而所謂的計算機執行的代碼只是一串
二進制數
,跟數據沒區別,當CS,EIP指向哪,哪裡就是程序,而匯編語言之所以叫最底層的語言,是因為,
匯編的每一個語法,都應對了一串二進制的指令,這也就是
反匯編
的原理,所以
NO1.一、
反編譯
exe程序
就是
把
exe
還原為匯編語言嗎?,這句話,不能叫還原,應該叫解釋,「解釋」的東西,沒還原的那麼逼真,比如,在匯編
源程序
中所有的標號和注釋,進行編譯後,變成二進制可執行文件後,在反匯編,標號就變成數字了,而注釋更是沒了.....
二、除了
還原為
匯編語言,還能
反編譯為
其他
高級語言
嗎?不能,高級語言的語法是建立在大量的計算機
二進制代碼
之上的,比如你C語言隨便調用一個子函數,到了二進制中,他是先壓棧,參數(編譯後參數從右往左壓,每個語言還不一樣),然後就是call
子函數,子函數運行後,他還要清理堆棧,所以你一個句簡單的高級語言,其實蘊含了大量的代碼,而高級語言編譯後的程序,就脫離了他的開發環境,樓上說的會引起你誤會,java的中間碼,可以用他自帶的反編譯工具,因為Java不是
編譯器
,而是
解釋器
,所以他不編譯,只是解釋他的中間碼
NO2.所有的exe都可以反匯編,但是你要注意,不只exe這種pe格式,linux下可執行文件是elf,所以你在反匯編的時候,要注意可執行文件的文件的頭,而早期的DOS只是純二進制代碼,沒有
頭文件
,這個很重要,你要反匯編什麼格式,就要選擇相應的工具
NO3
.exe反匯編,當然是OD,不過,我對OD不熟悉,好像他只支持WIN下的反匯編
⑵ dos系統下用什麼命令對一些exe文件(不是系統自帶的)進行修改
exe文件是用編譯工具生成的.
是沒有辦法直接修改的.不過如果你懂匯編語言的話,有一部分exe文件還是可以作小的修改的. 有時暴力破解某個軟體就是用的修改某個注冊判斷的關鍵跳轉來實現的.
在dos下可以使用Hiew 這款16進制編緝器. 它可以顯示exe文件的匯編代碼.可以按匯編代碼個改, 也可以按文件的16進制值來修改
//關鍵是EXE文件不又是按ascii編碼的,它是二進制文件.裡面的內容是程序數據,程序代碼, 運行時,它會按文件內容映射到內存里去,由操作系統來找到運行的入口,然後按代碼一條條的執行. 這種文件,你又不懂exe的結構,又不懂匯編,除了藉助一些資源編緝工具(基本都不可能在dos下行運),你想怎麼改呢?
⑶ 使用DOS java編譯class
1.去網上下載一個jad.exe程序,放到C:\WINDOWS\system32
2. 把以下代碼復制進記事本,保存為 :反編譯.bat
set/p drive=請輸入*.class文件主目錄(如D:\java):
cd /d %drive%
for /r . %%a in (.) do @(cd %%a
for %%i in (*.class) do jad.exe %%i
rename *.jad *.java)
3.雙擊 反編譯.bat ,輸入需要編譯的路徑,回車即可。
⑷ 什麼是反編譯工具反編譯工具有什麼用
簡單來說,就是把一個已有的程序轉化為編程的命令行。至於使用反編譯的原因么……有的是為了研究一個程序以達到吸取別人的編程思路和經驗。當然也有的是為了盜版。或者是為了竊取別人的軟體。
⑸ Dos的程序怎麼反匯編,有好用的工具嗎
可以直接用debug進行程序調試。沒有什麼好用的工具。
⑹ EXE文件反編譯軟體 我有一個簡單的EXE程序,是由C#做成的 DOS程序,有什麼軟體可以破解它裡面的C#源代碼
反編譯工具 Reflector,有免費版本的,如果你的話可以發你一個
⑺ 在dos下怎麼反編譯Java
不可以的,你需要下載一個jad的小工具,你把郵箱給我喔發給你吧
⑻ 如何在DOS下反匯編
debug的u命令
⑼ 什麼叫反編譯
編譯是一種將高級語言翻譯成計算機可是別的低級語言。
反之就是反編譯。
不光只JAVA,可以編譯的高級語言都可以被反編譯。
⑽ windows下16位MS-DOS程序應該怎樣反編譯和調試我試過用OD,不能打開,總不能用deb
當然不能,window的應用程序是圖形界面的,偏向於實際應用,而DOS系統是由字元堆砌而成的磁碟操作系統,不支持圖形界面。
可以的,原來xp它就自帶很多dos命令的,如果你要擴展,那麼把相應的dos命名放到cmd目錄下。目錄一搜就找到的。一般在:C:\WINDOWS\system32