真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

利用反編譯的java代碼 javac 反編譯

如何反編譯Apk得到Java源代碼

1.下載反編譯工具

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),吉林企業(yè)網(wǎng)站建設(shè),吉林品牌網(wǎng)站建設(shè),網(wǎng)站定制,吉林網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,吉林網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

需要下載四個(gè)工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot

dex2jar:將apk中的classes.dex轉(zhuǎn)化成Jar文件。

JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。

apktool:反編譯工具,通過反編譯APK中XML文件,直接可以查看。

apktool-install-windows-r05-ibot:輔助windows批處理工具。

2.解壓縮APK包

apk文件也是一種常見的zip,常用的壓縮軟件就可輕松地解壓apk文件。用壓縮軟件將apk文件中的文件解壓到一個(gè)文件夾中,得到APK中的資源包括XML文件和classes.dex文件,classes.dex就是java文件編譯再通過dx工具打包而成的。

3.反編譯dex文件

解壓apk文件后,你會(huì)發(fā)現(xiàn)res目錄的圖片沒有加密,但java源碼編譯成了一個(gè)classes.dex文件,無法用普通的反編譯class文件的方法來處理,dex2jar可以將dex文件轉(zhuǎn)換成普通的jar包。

解壓下載的dex2jar,把解壓后的文件夾放到系統(tǒng)盤跟目錄中并把這個(gè)目錄加到系統(tǒng)path變量中,就可以直接用:dex2jar.bat或dex2jar.sh轉(zhuǎn)換dex文件了。

DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路徑)。

將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個(gè)jar包得到原文件。

4.反編譯jar包

得到j(luò)ar包后,下載自已喜歡的反編譯工具,推薦使用JD-GUI,有比較簡單的圖形界面,可以反編譯單個(gè)class文件,也可以反編譯jar包,比較方便。

打開壓縮文件JD-GUI,運(yùn)行jd-gui.exe,打開上面生成的jar包,即可看到源代碼了。

5.反編譯xml文件

打開解壓的res\layout目錄,有很多xml文件,如果你想看下作者是如何設(shè)計(jì)界面的,你會(huì)很失望,因?yàn)槟憧吹降氖且淮蠖褋y碼!這個(gè)時(shí)候我們需要用到的是apktool。

具體操作方法:將下載的apktool和apktool-install-windows-r05-ibot兩個(gè)包解壓到同一個(gè)文件夾下,這個(gè)文件夾有三個(gè)文件:aapt.exe,apktool.bat,apktool.jar。把這個(gè)文件夾也放到系統(tǒng)盤的根目錄中并把這個(gè)目錄加到path變量中。以HelloWord.apk為例:

在DOS命令行中輸入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夾,此文件夾中的xml文件就是編譯好的可以正常查看的文件。

這樣就得到了可以得到編譯的源碼和XML資源。

注意:文件的路徑中最好不要出現(xiàn)中文!

什么是Java代碼的編譯與反編譯?

Java代碼的編譯與反編譯

2017-02-21Hollis數(shù)盟

一、什么是編譯

1、利用編譯程序從源語言編寫的源程序產(chǎn)生目標(biāo)程序的過程。

2、用編譯程序產(chǎn)生目標(biāo)程序的動(dòng)作。編譯就是把高級(jí)語言變成計(jì)算機(jī)可以識(shí)別的2進(jìn)制語言,計(jì)算機(jī)只認(rèn)識(shí)1和0,編譯程序把人們熟悉的語言換成2進(jìn)制的。編譯程序把一個(gè)源程序翻譯成目標(biāo)程序的工作過程分為五個(gè)階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優(yōu)化;目標(biāo)代碼生成。主要是進(jìn)行詞法分析和語法分析,又稱為源程序分析,分析過程中發(fā)現(xiàn)有語法錯(cuò)誤,給出提示信息。

二、什么是反編譯

計(jì)算機(jī)軟件反向工程(Reverseengineering)也稱為計(jì)算機(jī)軟件還原工程,是指通過對(duì)他人軟件的目標(biāo)程序(可執(zhí)行程序)進(jìn)行“逆向分析、研究”工作,以推導(dǎo)出他人的軟件產(chǎn)品所使用的思路、原理、結(jié)構(gòu)、算法、處理過程、運(yùn)行方法等設(shè)計(jì)要素,某些特定情況下可能推導(dǎo)出源代碼。反編譯作為自己開發(fā)軟件時(shí)的參考,或者直接用于自己的軟件產(chǎn)品中。

三、Java類的編譯與反編譯

我們?cè)谧畛鯇W(xué)習(xí)Java的時(shí)候,會(huì)接觸到兩個(gè)命令:javac和java,那個(gè)時(shí)候我們就知道,javac是用來編譯Java類的,就是將我們寫好的helloworld.java文件編譯成helloworld.class文件。

class文件打破了C或者C++等語言所遵循的傳統(tǒng),使用這些傳統(tǒng)語言寫的程序通常首先被編譯,然后被連接成單獨(dú)的、專門支持特定硬件平臺(tái)和操作系統(tǒng)的二進(jìn)制文件。通常情況下,一個(gè)平臺(tái)上的二進(jìn)制可執(zhí)行文件不能在其他平臺(tái)上工作。而Javaclass文件是可以運(yùn)行在任何支持Java虛擬機(jī)的硬件平臺(tái)和操作系統(tǒng)上的二進(jìn)制文件。

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

四、什么時(shí)候會(huì)用到反編譯

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

2、學(xué)習(xí)Java過程中,JDK的每個(gè)版本都會(huì)加入越來越多的語法糖,有些時(shí)候我們想知道Java一些實(shí)現(xiàn)細(xì)節(jié),我們可以借助反編譯。

五、反編譯工具

1、javap

2、Jad:官網(wǎng)(墻裂推薦)

客戶端:

可以在官網(wǎng)下載可執(zhí)行文件,找到對(duì)應(yīng)的操作系統(tǒng)的對(duì)應(yīng)版本,然后進(jìn)行安裝使用。

因?yàn)槲沂褂玫氖莑inux操作系統(tǒng),所以我下載的是Linux版本的工具,這個(gè)工具下載好之后會(huì)有一個(gè)執(zhí)行文件,只要在執(zhí)行文件所在目錄執(zhí)行./jadhelloworld.class就會(huì)在當(dāng)前目錄下生成helloworld.jad文件,該文件里就是我們很熟悉的Java代碼

Eclipse插件:

下載地址在官網(wǎng)下載插件的jar包,然后將jar包放到eclipse的plugins目錄下‘在打開Eclipse,Eclipse-Window-Preferences-Java,此時(shí)你會(huì)發(fā)現(xiàn)會(huì)比原來多了一個(gè)JadClipse的選項(xiàng),單擊,在Pathtodecompiler中輸入你剛才放置jad.exe的位置,也可以制定臨時(shí)文件的目錄。當(dāng)然在JadClipse下還有一些子選項(xiàng),如Debug,Directives等,按照默認(rèn)配置即可?;九渲猛戤吅?,我們可以查看一下class文件的默認(rèn)打開方式,Eclipse-Window-Preferences-General-Editors-FileAssociations我們可以看到class文件的打開方式有兩個(gè),JadClipse和Eclipse自帶的ClassFileViewer,而JadClipse是默認(rèn)的。全部配置完成,下面我們可以查看源碼了,選擇需要查看的類,按F3即可查看源碼

反編譯工具可以編譯java代碼嗎

工具/原料

電腦必須裝JAVA

JAVA電腦環(huán)境教程

apktool

方法/步驟

1. 配置好JAVA環(huán)境變量,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創(chuàng)立)

打開命令提示符,(開始-運(yùn)行-輸入cmd)

2. 輸入:cd \apktool 系統(tǒng)指令到了apktool文件夾(這里就是為什么要把解壓的apktool解壓的文件放到apktool文件夾的原因,當(dāng)然你也可以自命名文件夾的名稱,那么比如arc,那么指令就變成了:cd \arc 前提是你必須把a(bǔ)pktool解壓的文件放到這個(gè)文件夾里面)

3. 使用RE管理器把系統(tǒng)里面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾里面

4. 如果只是想反編譯framework-res.apk

輸入apktool if framework-res.apk(框架的建立)

5. 開始最重要的反編譯,輸入指令,apktool d framework-res.apk

(反編輯的APK一定要用沒換過圖片的,否則回編輯失?。?/p>

6. 最后反編譯完成

7. 修改代碼完成后,輸入代碼:apktool d framework-res 即可完成回編譯

8. 如果反編譯的是系統(tǒng)文件,比如,SystemUI.apk 那么必須進(jìn)行掛載框架,反編譯時(shí),必須敲入一下命令:(然后再重復(fù)4-7步驟)

apktool if framework-res.apk

apktool if SystemUI.apk

9. 對(duì)于三星手機(jī)(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進(jìn)行框架掛載apktool if framework-res.apk

apktool if twframework-res.apk

apktool if SystemUI.apk

10. 回編譯的命令是 apktool b XXX (沒有后面的apk后綴)反編譯的命令是 apktool d xxx (有后面的apk)

java反編譯的代碼可以用嗎

不行??蓤?zhí)行文件你即使反編譯出來 也不是源碼。包括所有的反編譯軟件,反編譯出來的,都不是源碼,別看著反編譯出來的代碼感覺是對(duì)的,有的反編譯出來還是可以運(yùn)行的都不算。另外反編譯別人的軟件 ,只能自己研究,去過用于商業(yè)用途可是犯法的哦

如何運(yùn)行從反編譯的java代碼。我從網(wǎng)上下載了一個(gè)jar之后用反編譯工具得到了里面的代碼

反編譯工具(如jdk帶的javap、或jad)將TestSimplePlus反編譯成Java?Byte?Cod,命令如下:

jad?-o?-a?-s?d.java?TestSimplePlus.class

javap?-c?DocFooter??F://test.txt

再上傳個(gè)反編譯的神器(批量編譯)


網(wǎng)頁名稱:利用反編譯的java代碼 javac 反編譯
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/doodcip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部