Android APK反編譯 apktool使用教程


前言:

最近我在使用Android Studio混淆打包release版本,打包是否成功?自然想到了反編譯。然后百度“apk反編譯”,出來最多的是apktool反編譯。百度也真是越來越水了,反正百度出來的教程都是N年前的,現在早就不能用了。很多博主也都不跟新博客了,然后隨着jdk發展apktool也跟新很多代了。所有有些博主的內容,已經沒法兒用了。

比如:

http://blog.csdn.net/vipzjyno1/article/details/21039349/#reply

這個博主,有些地方說得還不錯。但是apktool下載版本和用法早就過時了,現在已經沒法兒用了。

工具介紹:

 

apktool  

     作用:主要查看res文件下xml文件、AndroidManifest.xml和圖片。(注意:如果直接解壓.apk文件,xml文件打開全部是亂碼)

dex2jar

     作用:將apk反編譯成Java源碼(classes.dex轉化成jar文件)

jd-gui

     作用:查看APK中classes.dex轉化成出的jar文件,即源碼文件

新版本apktool用法:

1、下載:
 
 
當然了上面這個鏈接和圖片描述的可能也會變。
目前就是下載兩個文件apktool.bat和apktool.jar(這個如果你下載的文件有版本號,比如apktool_2.2.1.jar,就要改名字為apktool.jar),
然后把上面兩個文件都放到C://Windows下面。(我是windows系統,其他系統按照自己的來)
 
2、使用方法
 
 
官網教程
 
$ apktool d test.apk I: Using Apktool 2.2.1 on test.apk I: Loading resource table... I: Decoding AndroidManifest.xml with resources... I: Loading resource table from file: 1.apk I: Regular manifest package... I: Decoding file-resources... I: Decoding values */* XMLs... I: Baksmaling classes.dex... I: Copying assets and libs... I: Copying unknown files... I: Copying original files... $ apktool b test I: Using Apktool 2.2.1 on test I: Checking whether sources has changed... I: Smaling smali folder into classes.dex... I: Checking whether resources has changed... I: Building resources... I: Building apk file... I: Copying unknown files/dir... 
其實就是,運行CMD,進入比如app-release.apk所在目錄,然后運行apktool d app-release.apk就可以了,默認解壓的文件就在app-release.apk所在目錄。
 
 

 

 

最后,如果我上面的方法不能用了,請看英文的原網頁怎么說。

 

 

 

比如:

http://blog.csdn.net/vipzjyno1/article/details/21039349/#reply

 

dex2jar

     作用:將apk反編譯成Java源碼(classes.dex轉化成jar文件)

jd-gui

作用:查看APK中classes.dex轉化成出的jar文件,即源碼文件

 

Smali2JavaUI

對於博主說得,先dex2jar把classes.dex轉為jar,再jd-gui把jar轉為源碼*.java文件。
現在可以用Smali2JavaUI這個軟件,一部到位。可以把這兩個步驟化為一個步驟。
 
所以,如果只想反編譯看*.java文件的話,只用Smali2JavaUI軟件就可以了。
這個軟件可以直接打開***.apk文件,然后就直接看到*.java文件了。
Smali2JavaUI最新版本下載鏈接http://www.hensence.com/cn/smali2java/#Download
 
http://blog.csdn.net/ysc123shift/article/details/52985435


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM