『壹』 安卓裡面總是有一些叫:「反編譯xxx」,不懂的是,這個反編譯到底是什麼意思能不能通俗的講下
當應用程序打包之後,裡面的代碼會被編譯成無法被人為識別和讀取的位元組碼,反編譯就是將已經編譯好的位元組碼文件編程源代碼的過程
『貳』 請問什麼是反編譯,原理是怎麼樣的
反編譯
高級語言源程序經過
編譯
變成可執行文件,反編譯就是逆
過程
。
但是通常不能把可執行文件變成高級語言
源代碼
,只能轉換成
匯編程序
。
計算機軟體反向工程(Reversepengineering)也稱為計算機軟體還原工程,是指通過對他人
軟體
的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的
軟體產品
所使用的
思路
、
原理
、
結構
、
演算法
、處理過程、運行方法等設計
要素
,作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。
『叄』 mt管理器反編譯是什麼意思
MT管理器是一款強大的文件管理工具和APK逆向修改神器。軟體有漢化應用、替換資源、修改布局、修改邏輯代碼、資源混淆、去除簽名校驗等功能主要功能- 文件復制、移動、創建軟鏈接、重命名、刪除、創建文件(夾),文件批量操作。
反編譯
反編譯是將可執行的(准備運行的)程序代碼(也稱為目標代碼)轉換為某種形式的高級編程語言,使其具有更易讀的格式。反編譯是一種逆向工程,它的作用與編譯器的作用相反。它與編譯相反。完成此任務的工具稱為反編譯器。反編譯有許多不同的原因,例如理解程序、恢復源代碼以進行存檔或更新、查找病毒、調試程序和翻譯過時的代碼。完全自動化的反編譯是不可能的。沒有反編譯器可以獲得開發人員編寫的確切源代碼。
反編譯有時被不道德地用於復制源代碼以在未經版權所有者許可的情況下重復使用或改編。反編譯 APK 文件並不是一項非常艱巨的任務。它需要將 dex 文件轉換為 jar 文件,然後將這些 jar 文件轉換為 java 源代碼,從而獲取應用程序源代碼。可以通過保護性手段(例如代碼復雜性和混淆)將程序設計為抗反編譯。這包括反調試技術、限制調試器、跟蹤檢查、優化和剝離二進制文件。
『肆』 急急急 反編譯軟體把EXE文件反譯成什麼 是機器語言還是匯編語言 是哪個匯編語言
首先你得清楚,微軟的exe可執行文件(即PE文件,有PE規范定義)的特徵,才能使用不同的反編譯軟體對exe進行反編譯。
如今,exe一般分託管代碼和非託管代碼兩類(託管代碼是由C#等語言生成的.NET運行時庫支持運行的中間代碼,不是CPU晶元可直接執行的二進制機器碼;而非託管代碼是CPU晶元看執行的機器碼)
非託管代碼反編譯後,其實就是簡單的將二進制機器碼用匯編表示,所以是匯編語言。
託管代碼反編譯,好的反編譯器直接將中間語言位元組碼反編譯成高級語言代碼,如C#
------------------------------------------------------
另外,在什麼平台運行的exe正確反編譯(需要選擇正確的晶元結構)為同平台的匯編語言。
如嵌入式ARM晶元上運行的Win CE系統上的exe就應當正確反編譯為ARM匯編
x86的就應當反編譯為x86匯編。
『伍』 反編譯後得到的是什麼文件
反編譯得到源文件,實際就是一行行指令代碼的文本文件。
理論上反編譯可以得到任何語言的源文件,但從實現上通常只能得到匯編代碼。其中的欄位、標號等的定義都是反編譯程序自己定義的。如果同設計者編寫的代碼比較,肯定是看起來很不相同。
『陸』 源代碼反編譯什麼意思
就是把編譯器編譯後的文件反編譯成源代碼:
比如源代碼是 a+b=2
編譯器變成成 111111
這時候反編譯111111出來就是
a+b=2
『柒』 反編譯是什麼意思flash反編譯大師怎麼使用
反編譯就是把目標程序也就是機器語言程序反編譯成匯編語言程序。
『捌』 swf文件反編譯是什麼意思
flash製作的時候,有製作文件,打開這個文件後,flash動畫可以直接修改,這個文件是源代碼文件fla。swf文件是flash製作完成後生成的最終文件。從swf轉換出fla文件就叫做反編譯。
『玖』 反編譯是什麼意思
高級語言源程序經過
編譯
變成可執行文件,反編譯就是逆過程。
但是通常不能把可執行文件變成高級語言源代碼,只能轉換成匯編程序。
好比android系統的apk程序文件包,可以用apktool之類的的工具進行反編譯,可以得到class代碼文件和source資源文件。
一般反編譯只適用於高級語言,低級語言,好比匯編等語言,比較難。
『拾』 反編譯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下的反匯編