欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android反編譯程序整理詳解

 更新時間:2017年11月27日 09:19:57   投稿:laozhang  
很多做安卓開發(fā)的朋友都在尋找好的反編譯軟件和方法,小編給大家整理的很多目前流行的Android反編譯程序,希望能夠給你提供參考。

做Android開發(fā)的程序員對反編譯都比較痛恨,不想讓自己的勞動成果成了別人的,反編譯主要的目的在于學(xué)習(xí)。利用反編譯進(jìn)行相關(guān)的漢化或修改,都是不道德的。

將apk文件解壓后有兩部分文件需要處理,一種是xml文件,另一種一個dex文件(.dex),我們可以從.dex文件中得到.class,利用后者再得到大家垂涎已久的java文件。

下面分別針對這三種格式的文件進(jìn)行反編譯處理;

1.對xml文件進(jìn)行包的解析,一般有兩種方式:apktool(推薦)和AXMLPrinter2.jar;

2.從dex到class公認(rèn)dex2jar.bat,實現(xiàn)反編譯;公認(rèn)的強(qiáng)者;

3.而class到j(luò)ava的方式要更多樣化一些,因為只是查看反編譯后的代碼:jd-gui(推薦),Jodeclipse(Jode的Eclipse插件),JadClipse(Jad的Eclipse插件)。

過程大致如下:

1.首先把a(bǔ)pk文件改名為.zip,然后解壓縮其中的class.dex文件,它就是java文件編譯再通過dx工具打包成的。

2.把class.dex拷貝到dex2jar.bat所在目錄。運(yùn)行dex2jar.bat class.dex,生成classes.dex.dex2jar.jar。

3.運(yùn)行JD-GUI工具(綠色軟件,好用的軟件?。蜷_上面的jar文件,即可看到j(luò)ava源代碼。

這幾個軟件,細(xì)分開來介紹(用步驟A(分A1,A2), B, C(分C1,C2,C3), ABC分別代表三個不同的步驟):

A1. apktool:

通常用于生成程序的源代碼和圖片、XML配置、語言資源等文件。我們對圖片和語言資源等文件修改后,可以再把它們編譯打包成APK,簽名后就是手機(jī)可以安裝的本地化/修正版APK了。支持Linux 、Windows下工作

安裝步驟:

1.安裝JAVA環(huán)境(官方推薦jdk 1.6);

2.apktool.jar:http://www.dbjr.com.cn/softs/539819.html

點擊apktool1.3.2.tar.bz2  和apktool-install-windows-2.2_r01-3.tar.bz2 (不一定是這個,但最好選最新版本的吧!)

3.解壓apktool1.3.2.tar.bz2得到apktool.jar;

解壓apktool-install-windows.zip到任意文件夾,將apktool.jar拷入此文件夾中(也有人說是直接全部拷入C:/Windows,一樣的);

(目前此文件夾中有三個文件:apktool.jar/apktool.bat/aapt.exe)

4.cmd命令行進(jìn)入到解壓apktool-install-windows-2.2_r01-3.tar.bz2所得的文件夾,輸入apktool測試是否安裝成功;

安裝成功后,下面開始反編譯過程:

1.apktool d (要反編譯的文件) (輸出文件夾)

如:apktool d XXX.apk (目標(biāo)文件夾)      反編譯 geek.apk到文件夾test

2.apktool b (目標(biāo)文件夾)             

從目標(biāo)文件夾中重建APK,生成的APK在"目標(biāo)文件夾"\dist文件夾里,叫out.apk。

這個out.apk是沒有簽名的,所以不能直接裝到手機(jī)里。

這里就不說了。簽名后得到的APK,就是可以裝到手機(jī)里的了。

A2. AXMLPrinter2.jar

將它放到android-sdk-windows-1.5_r3\tools文件夾中

運(yùn)行cmd,進(jìn)入tools目錄,運(yùn)行java -jar AXMLPrinter2.jar main.xml > main.txt;

于是我們就得到了反編譯后的XML文件;

經(jīng)歷了這么多,我們得到的只是部分布局文件和資源文件,但java文件還是"猶抱琵琶半遮面"。

下面,讓我們掀起她的紅蓋頭來:

B. dex2jar:http://www.dbjr.com.cn/softs/353141.html

方法:

1.首先找到Android軟件安裝包中的classes.dex (解壓得到);

它就是java文件編譯再通過dx工具打包成的,所以現(xiàn)在我們就用上述提到的2個工具來逆方向?qū)С鰆ava源文件

2.把classes.dex拷貝到dex2jar.bat所在目錄;

在命令行模式下定位到dex2jar.bat所在目錄,運(yùn)行 dex2jar.bat classes.dex,生成classes.dex.dex2jar.jar,成功了一半!

C1. JD-GUI:http://www.dbjr.com.cn/softs/66904.html

方便好用,直接解壓得到JD-GUI,用它打開上面的jar文件,F(xiàn)ile-->Save JAR Source,即可看到夢寐以求的java源代碼;
我們也可以解壓B步驟得到的jar文件得到class文件,到這里,我們就要用到Jodeclipse和JadClipse了;

最后,將得到的java文件和得到的xml文件組合可得一個android工程,即可得到相對比較完整的apk源碼;但也有些額外加的包沒被編譯出來。

但做到這一步已經(jīng)足夠用于學(xué)習(xí),我們的目的也就達(dá)到了!

大家也可關(guān)注下這兩篇文章,用的不同方法(dexdump, baksmali.jar, smali.jar),效果也還不錯:

http://www.dbjr.com.cn/article/63579.htm

http://www.dbjr.com.cn/article/69493.htm

有人會說程序可以用混淆器擾亂代碼,但剛從網(wǎng)上看到的一種關(guān)于混淆器的說法:

“用混擾器的代碼一般就是去掉所有注釋和把變量名、方法名和類名變成一些沒意義的名字。反編譯后一般都變成a, b , c,...這樣的名字,只能一點點的看懂,再利用Eclipse的改名方法,一次性的吧相關(guān)的名字改成有意義的名稱?!?br />

所以,大家的關(guān)鍵代碼最好還是打成.so庫吧!

相關(guān)文章

  • Android實現(xiàn)簡易的計算器

    Android實現(xiàn)簡易的計算器

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)簡易的計算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Android編程開發(fā)從零開始編寫一個輕量級瀏覽器

    Android編程開發(fā)從零開始編寫一個輕量級瀏覽器

    這篇文章主要為大家介紹了Android編程開發(fā)從零開始編寫一個輕量級瀏覽器過程步驟示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步
    2022-02-02
  • Android Studio通過Artifactory搭建本地倉庫優(yōu)化編譯速度的方法

    Android Studio通過Artifactory搭建本地倉庫優(yōu)化編譯速度的方法

    這篇文章主要介紹了Android Studio通過Artifactory搭建本地倉庫優(yōu)化編譯速度的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • android編程實現(xiàn)類似于支付寶余額快速閃動效果的方法

    android編程實現(xiàn)類似于支付寶余額快速閃動效果的方法

    這篇文章主要介紹了android編程實現(xiàn)類似于支付寶余額快速閃動效果的方法,涉及Android時間函數(shù)的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Android之Gallery使用例子

    Android之Gallery使用例子

    本篇文章主要介紹了Android之Gallery使用例子,Gallery用來顯示圖片列表,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-01-01
  • Android編程使用加速度傳感器實現(xiàn)搖一搖功能及優(yōu)化的方法詳解

    Android編程使用加速度傳感器實現(xiàn)搖一搖功能及優(yōu)化的方法詳解

    這篇文章主要介紹了Android編程使用加速度傳感器實現(xiàn)搖一搖功能及優(yōu)化的方法,結(jié)合實例形式分析了Android傳感器的調(diào)用方法、參數(shù)含義及具體使用技巧,需要的朋友可以參考下
    2017-08-08
  • Android ImageView 固定寬高比例的實現(xiàn)方法

    Android ImageView 固定寬高比例的實現(xiàn)方法

    這篇文章主要介紹了Android ImageView 固定寬高比例的實現(xiàn)方法的相關(guān)資料,,方法一:設(shè)置 adjustViewBounds="true",方法二:使用 Universal-Image-Loader 圖片緩存類,需要注意的是方法二和方法一同時使用導(dǎo)致設(shè)置無效,需要的朋友可以參考下
    2017-07-07
  • Qt5.12.6配置Android Arm開發(fā)環(huán)境(圖文)

    Qt5.12.6配置Android Arm開發(fā)環(huán)境(圖文)

    本文主要介紹了Qt5.12.6配置Android Arm開發(fā)環(huán)境,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Android:利用SharedPreferences實現(xiàn)自動登錄

    Android:利用SharedPreferences實現(xiàn)自動登錄

    本篇文章主要介紹了Android實現(xiàn)自動登錄,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • Android XUtils3框架的基本使用方法(二)

    Android XUtils3框架的基本使用方法(二)

    這篇文章主要介紹了Android XUtils3框架的基本使用方法(二)的相關(guān)資料,需要的朋友可以參考下
    2016-08-08

最新評論