A. apk反編譯/回編譯
再次記錄一次apk反編譯/回編譯過程,鏈接失效請留言,會及時更新。
參考博客: https://blog.csdn.net/w327918069/article/details/82761437
首先,我們需要一個apk,下圖是Android Studio編寫並打包的一個apk。
其實apk就相當於一個zip壓縮包,通過 WinRar 工具可以對其解壓縮,像這樣:
此時,祭出我們的神器----> apktool ,當當當當~~~~~~~。
一行命令進行apk反編譯:
apktool d -r app-debug.apk 一定要加入參數 -r ,不然後面回編譯回報錯。
apk反編譯到此結束。
回編譯就是通過 apk反編譯 生成的目錄文件轉換成一個apk。
十分簡單的一行命令:
apktool b app-debug
此時安裝apk到手機無法安裝成功,還需要對apk進行簽名才能安裝。
1.生成key.keystore
keytool -genkey -alias key.keystore -keyalg RSA -validity 30000 -keystore key.keystore
可以看到key.keystore已經生成。
2.對apk進行簽名
可用於沒有簽名和已經簽名的apk,再次簽名。
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]
命令格式及參數意義:
-verbose -> 輸出簽名過程的詳細信息
-keystore [keystorePath] -> 密鑰的庫的位置
-signedjar [apkOut] -> 簽名後的輸出文件名
[apkin] -> 待簽名的文件名
[alias] -> 證書別名
jarsigner -verbose -keystore key.keystore -signedjar app-debug_signed.apk app-debug.apk key.keystore
回編譯完成。
B. 安卓apk文件如何反編譯
安卓apk文件反編譯:
一、反編譯xml文件
1>
首先下載我給你們提供的文件夾apk_fanbianyi,把它放到某個盤的根目錄下(為了方便輸入dos命令),然後打開apktool文件夾,安裝win+r鍵,然後輸入cmd,進入dos命令行,大家別怕,不用暈,很簡單的。
2>
然後在dos命令中首先輸入文件夾所在盤符+「:」回車,接著再輸入cd+apktool所在目錄,切換dos工作空間到apktool文件夾下。
3>
接著輸入
apktool.bat
d
【需反編譯apk文件路徑】
{【反編譯文件反編譯後的路徑】},其中最後一部分可以省去,系統會默認把apk文件反編譯到apktool目錄下,例如輸入
apktool.bat
d
d:/apk_fanbianyi/ttkp.apk,在apktool文件夾下就會生成一個ttpk的文件夾,所有的xml文件全部反編譯成功。
二、反編譯java文件
1>
首先解壓需要反編譯的apk文件,拷貝出裡面的classes.dex文件到dex2jar文件夾(為了方便操作,省去dos命令輸入路徑的麻煩)
2>
把工作空間切換到dex2jar文件夾下,輸入命令cd
d:/apk_fanbianyi/dex2jar回車
3>
輸入命令dex2jar.bat
classes.dex回車,發現dex2jar文件夾下多了一個classes_dex2jar.jar文件,這是反編譯成功的java文件
三、xml文件的打開
1>
打開apktool文件夾下的ttkp文件夾,任意找到一個xml文件,選中單擊右鍵,選擇notepad++打開(需下載),如果沒有此軟體,可以選擇打開方式,選擇記事本打開
四、java文件的打開
1>
dex2jar文件夾下的classes_dex2jar.jar拷貝到apktool文件夾的ttkp文件夾中,不能用notepad++打開,不然會亂碼的
2>
啟動apk_fanbianyi文件夾下的jd-gui.exe,然後點左上角file,選擇open
file,找到classes_dex2jar.jar文件,可以發現有很多包,選擇包下的任意一個java文件,打開不亂碼了,是不是很神奇,哈哈,你學會了安卓apk文件反編譯
C. 如何進行APK反編譯
如何進行APK反編譯
我們下載到某些apk的時候,可能總想學習下別人是怎麼進行程序設計的,或者怎樣使用xml文件布局的,這時就想到將apk文件的後綴改為rar並解壓,最終得到一些圖片資源和很多打開為亂碼的文件,可見這種方式不可行,這就需要使用下面的工具對apk進行反編譯了。
一、工具准備:apktool、dex2jar、jd-gui
工具包也可以在這里下載。
1、dex2jar可以在這里下載,jd-gui可以在這里下載。
2、apktool,可以到Google官方下載,apktool-1.0.0.tar.bz2(裡面有apktool.jar)和apktool-install-windows-2.1_r01-1.zip兩個包都要下。解壓apktool.jar到 C:\Windows,解壓apktool-install-windows.zip到任意文件夾(例如E盤根目錄)。
二、使用dex2jar + jd-gui 得到apk的java源碼,步驟如下:
1、用.rar打開apk文檔,將classes.dex文件解壓出來,然後使用工具反編譯成.jar文件。
在cmd下進入dex2jar.bat所在路徑,然後輸入「dex2jar.bat XXX」,XXX指的是你要反編譯的apk中的classes.dex文件所在路徑及名稱,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路徑下,classes.dex在D:\Android下,所以你進入到dex2jar.bat路徑後,輸入dex2jar.bat D:\Android\classes.dex,這樣會生成一個jar文件。
2、用jd-gui反編譯工具將得到.jar文件反編譯成.java文件。
三、使用apktool得到apk的xml文件
1、Win+R 運行CMD,用cd命令轉到apktool-install-windows所在文件夾,輸入命令:
apktool d XXX.apk ABC 反編譯XXX.apk到文件夾ABC
2、 在解壓後的文件夾中可以得到apk的xml配置文件。
四、第二步得到的程序源代碼和第三步得到的xml文件組合下,就成一個android工程,即可得到完整的apk源碼。
D. apk怎麼反編譯換圖標比較簡單的方法
一、准備工作
1、下載安裝java jdk
2、配置java環境
3、下載apktools反編譯工具包
二、具體操作
1、將下載來的apktools工具包解壓至c:\目錄下,然後將需要反編譯(修改)的apk文件放入解壓文件夾內。今天就用一鍵鎖屏來做試驗吧。
2、打開一鍵apktools.exe工具,因為不是系統文件所以就直接反編譯,不需要安裝環境!選擇2,然後選擇文件名。這里我們是lockscreen.apk所以我們選2!
3、等待解壓完成,我們在lockscreen文件夾內的res目錄里去修改 程序名稱和程序圖標。程序名稱的文件路徑為 lockscreen\res\values-zh-rCN\strings.xml 我們使用記事本打開 找到app_name 在 兩個>< 修改自己需要顯示的程序名稱,我們就把 一鍵鎖屏改為 鎖屏,修改好以後保存即可~
4、然後在 lockscreen\res\drawable-hdpi 文件夾內替換圖標。先找到現在的程圖標,因為一鍵鎖屏很簡單,所以只有一個圖標。我們記下圖標的名字 lock.png 然後刪除它,將我們准備好的圖標放入目錄下,改名為剛才的名字 lock.png。
5、然後返回到apktools解壓文件夾,編譯後的文件在 回編apk生成目錄 下,我們將其簽名,然後安裝即可。
E. 反編譯Android APK的具體步驟是怎樣的
反編譯步驟方法:
一、apk反編譯得到程序的源代碼、圖片、XML配置、語言資源等文件
下載上述工具中的apktool,解壓得到3個文件:aapt.exe,apktool.bat,apktool.jar ,將需要反編譯的APK文件放到該目錄下,
打開命令行界面(運行-CMD),定位到apktool文件夾,輸入以下命令:apktool.bat d -f test.apk test
通過反編譯,可以獲知該應用用到了什麼第3方的庫文件,它的代碼是如何編寫的等等。
然而,如果該APK進行了混淆處理,那麼看到的類文件名稱以及裡面的方法名稱都會以a,b,c....之類的樣式命名,所以可以想找到所想得知的界面代碼可能會十分費勁,找到了代碼可能看起來也會很費勁,可是一個大體的思路會獲得,有了這個思路,就可以去嘗試了。