導航:首頁 > 源碼編譯 > 翻譯程序反編譯

翻譯程序反編譯

發布時間:2022-08-17 02:24:19

Ⅰ 反匯編和反編譯得差別

匯編是將匯編語言源程序翻譯成目標程序的過程;
編譯是將高級語言源程序翻譯成目標程序的過程;
反匯編是匯編的逆過程,即將目標程序翻譯成匯編程序的過程;
反編譯是編譯的逆過程。

Ⅱ 反編譯和反匯編有什麼區別

反匯編是把機器碼翻譯成的匯編;
反編譯是把機器碼翻譯成高級語言的過程,但通常要有其他線索輔助才能完成。

Ⅲ 反編譯是違法的嗎

反編譯是違法的,反編譯是指計算機軟體反向工程( Revers e engineering )也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

根據《共和國著作權法》規定有下列侵權行為的,應當根據情況,承擔停止侵害、消除影響、賠禮道歉、賠償損失等民事責任:

(一)未經軟體著作權人許可,發表或者登記其軟體的;

(二)將他人軟體作為自己的軟體發表或者登記的;

(三)未經合作者許可,將與他人合作開發的軟體作為自己單獨完成的軟體發表或者登記的;

(四)在他人軟體上署名或者更改他人軟體上的署名的;

(五)未經軟體著作權人許可,修改、翻譯其軟體的;

(六)其他侵犯軟體著作權的行為。

Ⅳ 什麼是java代碼的編譯與反編譯

Java代碼的編譯與反編譯

2017-02-21 Hollis 數盟

一、什麼是編譯

1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。

2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。 編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

二、什麼是反編譯

計算機軟體反向工程(Reverse engineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

三、 Java類的編譯與反編譯

我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。

class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。而Java class文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。

那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)

四、什麼時候會用到反編譯

1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼我們可以把它反編譯成我們可以看得懂的文件。

2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。

五、反編譯工具

1、javap

2、Jad:官網(牆裂推薦)

客戶端:

可以在官網下載可執行文件,找到對應的操作系統的對應版本,然後進行安裝使用。

因為我使用的是linux操作系統,所以我下載的是Linux版本的工具,這個工具下載好之後會有一個執行文件,只要在執行文件所在目錄執行./jad helloworld.class就會在當前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼

Eclipse插件:

下載地址 在官網下載插件的jar包,然後將jar包放到eclipse的plugins目錄下『 在打開Eclipse,Eclipse->Window->Preferences->Java,此時你會發現會比原來多了一個JadClipse的選項,單擊,在Path to decompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時文件的目錄。當然在JadClipse下還有一些子選項,如Debug,Directives等,按照默認配置即可。 基本配置完畢後,我們可以查看一下class文件的默認打開方式,Eclipse->Window->Preferences->General->Editors->File Associations我們可以看到class文件的打開方式有兩個,JadClipse和Eclipse自帶的Class File Viewer,而JadClipse是默認的。 全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼

Ⅳ 反編譯原理是什麼

反編譯的流程,就是虛擬一個執行環境,看程序執行了那些指令,翻譯成相應的語句一般的流程是先把程序調入到數據段,虛擬運行環境,一般這分配文件頭部,從紀錄指令程序數據段,載入到虛擬環境中,紀錄指令,遇到跳轉指令,壓入棧,形成樹結構(看數據結構),遍歷每個節點的指令。形成完整程序。

Ⅵ 雲南java培訓分享java中的編譯與反編譯

一、什麼是編譯



1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。


2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。


二、什麼是反編譯


計算機軟體反向工程(Reverseengineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。


三、Java類的編譯與反編譯


我們在最初學習Java的時候,會接觸到兩個命令:javac和java,那個時候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。


class文件打破了C或者C++等語言所遵循的傳統,使用這些傳統語言寫的程序通常首先被編譯,然後被連接成單獨的、專門支持特定硬體平台和操作系統的二進制文件。通常情況下,一個平台上的二進制可執行文件不能在其他平台上工作。而Javaclass文件是可以運行在任何支持Java虛擬機的硬體平台和操作系統上的二進制文件。


那麼反編譯呢,就是通過helloworld.class文件得到java文件(或者說是程序員能看懂的Java文件)


四、什麼時候會用到反編譯


1、我們只有一個類的class文件,但是我們又看不懂Java的class文件,那麼雲南java培訓http://www.kmbdqn.com/認為可以把它反編譯成我們可以看得懂的文件。


2、學習Java過程中,JDK的每個版本都會加入越來越多的語法糖,有些時候我們想知道Java一些實現細節,我們可以藉助反編譯。


Ⅶ 什麼叫反編譯

編譯是一種將高級語言翻譯成計算機可是別的低級語言。
反之就是反編譯。
不光只JAVA,可以編譯的高級語言都可以被反編譯。

Ⅷ 反編譯軟體通常最好的有哪幾種

http://soft.ttdown.com/SoftDown_45761.html
http://www.pediy.com
http://soft.ttdown.com/aspxerrorpath=/SoftView/SoftView_15990.html
http://secrecy.ayinfo.ha.cn/sort/152_1.htm
Corso 5.0 2003-6-14 16:40:46 ★★★ 198
·一個針對fox的反編譯東東,效果怎麼樣沒有測試過。有興趣的可以看看!...
軟體類別:反編譯軟體 運行環境:Win9x/NT/2000/XP/ 授權方式:免費版
DeDe 3.20.04 2003-5-25 11:40:16 ★★★ 834
·這個不用多說了,反編譯Delphi程序的最棒的軟體。她反編譯後的程序清晰明了,是反編譯D...
軟體類別:反編譯軟體 運行環境:Win9x/NT/2000/XP/ 授權方式:免費版
Decafe Pro V3.8 2003-5-25 11:37:46 ★★★ 316
·JavaClass的反編譯軟體,可以把二進制的class文件全部反編譯成源代碼。...
軟體類別:反編譯軟體 運行環境:Win9x/NT/2000/XP/ 授權方式:免費版
isDcc v2.10 2003-5-25 11:36:46 ★★★ 241
·反編譯installshield腳本*.ins...
軟體類別:反編譯軟體 運行環境:Win9x/NT/2000/XP/ 授權方式:免費版
w32dasm 2003-5-23 14:25:51 ★★★★★ 3597
·這個軟體可以說是最經典的反編譯軟體了,雖然發布的很早,但是這么多年經過無數牛人的修改後增...
軟體類別:反編譯軟體 運行環境:Win9x/NT/2000/XP/ 授權方式:免費版

Ⅸ mt管理器反編譯是什麼意思

MT管理器是一款強大的文件管理工具和APK逆向修改神器。軟體有漢化應用、替換資源、修改布局、修改邏輯代碼、資源混淆、去除簽名校驗等功能主要功能- 文件復制、移動、創建軟鏈接、重命名、刪除、創建文件(夾),文件批量操作。

反編譯

反編譯是將可執行的(准備運行的)程序代碼(也稱為目標代碼)轉換為某種形式的高級編程語言,使其具有更易讀的格式。反編譯是一種逆向工程,它的作用與編譯器的作用相反。它與編譯相反。完成此任務的工具稱為反編譯器。反編譯有許多不同的原因,例如理解程序、恢復源代碼以進行存檔或更新、查找病毒、調試程序和翻譯過時的代碼。完全自動化的反編譯是不可能的。沒有反編譯器可以獲得開發人員編寫的確切源代碼。

反編譯有時被不道德地用於復制源代碼以在未經版權所有者許可的情況下重復使用或改編。反編譯 APK 文件並不是一項非常艱巨的任務。它需要將 dex 文件轉換為 jar 文件,然後將這些 jar 文件轉換為 java 源代碼,從而獲取應用程序源代碼。可以通過保護性手段(例如代碼復雜性和混淆)將程序設計為抗反編譯。這包括反調試技術、限制調試器、跟蹤檢查、優化和剝離二進制文件。

閱讀全文

與翻譯程序反編譯相關的資料

熱點內容
fibonacci數列演算法 瀏覽:775
產品經理要和程序員吵架嗎 瀏覽:252
grub2命令行 瀏覽:618
無法獲取加密卡信息 瀏覽:774
雲伺服器網卡充值 瀏覽:509
編程就是軟體 瀏覽:49
伺服器如何添加許可權 瀏覽:437
引用指針編程 瀏覽:851
手機加密日記本蘋果版下載 瀏覽:63
命令行括弧 瀏覽:176
java程序升級 瀏覽:490
排序演算法之插入類 瀏覽:227
gcccreate命令 瀏覽:73
海爾監控用什麼app 瀏覽:64
系統盤被壓縮開不了機 瀏覽:984
linuxredis30 瀏覽:541
狸窩pdf轉換器 瀏覽:696
ajax調用java後台 瀏覽:906
活塞式壓縮機常見故障 瀏覽:614
break演算法 瀏覽:731