❶ 有哪個反編譯器可以把一個exe程序反編譯成匯編語言
你去看雪學院,
反匯編
軟體
下載吧,有好多呢,
http://www.pediy.com/tools/Disassemblers.htm這里是
靜態反匯編
的前三個都不錯,對於加殼的軟體不好用。最好用
動態
反匯編的
http://www.pediy.com/tools/Debuggers.htm這里的第一個。453147896我的qq還有問題qq聊
❷ 反編譯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下的反匯編
❸ 為什麼Java反編譯後帶有匯編代碼
那個不是匯編。。。是反編譯工具無法識別的位元組碼(bytecodes,java中間代碼),因為無法識別,自然只能直接把位元組碼打出來給你看了。
你多試幾種反編譯工具,並不是所有的都會出的,也不是所有的都在同一個地方出。這個取決於反編譯工具的作者對位元組碼的理解。
❹ 反編譯和反匯編有什麼區別
反匯編是把機器碼翻譯成的匯編;
反編譯是把機器碼翻譯成高級語言的過程,但通常要有其他線索輔助才能完成。
❺ 匯編與反匯編
可以的,但是反編譯的效果最常見的就是反編譯成匯編語言,但是說你寫一個C的程序已經編譯程.exe文件了,然後又想用工具對.exe文件進行反編譯,那麼就只能反編譯到匯編語言的狀態,不可能反編譯到C的狀態,雖然現在網上有些人能反匯編成C,但是效果也不好,有很多的錯誤。
編譯的過程是不可逆的,就好像你把豬殺了做成香腸,然後你又想把想把香腸變成豬一樣。最多能把香腸又變成肉末,變成豬你聽過嗎?道理就這樣
❻ 分析反編譯匯編代碼後如何寫程序
從代碼中要梳理出程序的基本演算法和數據結構,然後根據自己的需要,再選定目標平台和開發工具,設計出對應的程序.比如破解模塊,外掛,或者新的同樣功能的代碼.一般不會原樣拷貝的.
❼ 急急急 反編譯軟體把EXE文件反譯成什麼 是機器語言還是匯編語言 是哪個匯編語言
首先你得清楚,微軟的exe可執行文件(即PE文件,有PE規范定義)的特徵,才能使用不同的反編譯軟體對exe進行反編譯。
如今,exe一般分託管代碼和非託管代碼兩類(託管代碼是由C#等語言生成的.NET運行時庫支持運行的中間代碼,不是CPU晶元可直接執行的二進制機器碼;而非託管代碼是CPU晶元看執行的機器碼)
非託管代碼反編譯後,其實就是簡單的將二進制機器碼用匯編表示,所以是匯編語言。
託管代碼反編譯,好的反編譯器直接將中間語言位元組碼反編譯成高級語言代碼,如C#
------------------------------------------------------
另外,在什麼平台運行的exe正確反編譯(需要選擇正確的晶元結構)為同平台的匯編語言。
如嵌入式ARM晶元上運行的Win CE系統上的exe就應當正確反編譯為ARM匯編
x86的就應當反編譯為x86匯編。
❽ 反編譯或匯編是什麼回事
匯編是一種編程語言
反匯編是逆向工程
❾ 為什麼反編譯產生的匯編代碼比直接用匯編語言寫的復雜
因為有反匯編設置,防止他人反匯編查看代碼。
❿ 如何反向編譯,匯編
反向編譯是沒有軟體可以做的
反匯編就很容易了,IDEA,
OllyDBG,
WinDBG都可以。