使用android-apktool來(lái)逆向(反編譯)APK包方法介紹
谷歌官方提供了apktool可以逆向已經(jīng)發(fā)布出去的APK應(yīng)用,即反編譯已經(jīng)打包成功的APK文件,使用它可以將其反編譯成非常接近打包前的原始格式,對(duì)于APK來(lái)說(shuō),可以具體的逆向AndroidManifest.xml、資源文件resources.arsc以及將dex文件反編譯成可以調(diào)試的smali文件。
Warnning
但apktool并不等于是可以用來(lái)侵犯前作者的作品的工具,所以使用apktool工具的用戶千萬(wàn)不用用其來(lái)進(jìn)行不正當(dāng)、非法的使用。
It is NOT intended for piracy and other non-legal uses. It could be used for localizing, adding some features or support for custom platforms and other GOOD purposes. Just try to be fair with authors of an app, that you use and probably like.
關(guān)于apktool
1、反編譯資源文件到原始格式(including resources.arsc, XMLs and 9.png files)并且重建他們;
2、smali debugging: SmaliDebugging已經(jīng)不支持了,猜測(cè)可能另一類的dex2jar工具崛起太快,已經(jīng)可以將dex文件直接反編譯成jar了;
3、更多關(guān)于apktool。
使用apktool
walfred覺得apktool目前最大的作用是可以逆向AndroidManifest.xml、資源文件resources.arsc,這里就簡(jiǎn)單的使用apktool來(lái)逆向一簡(jiǎn)單的hello程序吧。
如果已經(jīng)有了Android開發(fā)環(huán)境就能很快使用上apktool了,這里假設(shè)你已經(jīng)可以直接使用apktool了。
反編譯decode
walfred@ubuntu:~/lab/apktool$ apktool d HelloOurAndroid.apk
這時(shí)我們可以看到在當(dāng)前目錄下已經(jīng)生成HelloOurAndroid/文件夾了,我們來(lái)查看下反編譯后的AndroidManifest.xml文件和strings.xml文件:
AndroidManifest.xml文件反編譯之后和工程下的時(shí)候幾乎是一模一樣,所以我們可以來(lái)check下該Android應(yīng)用的所有權(quán)限。
同樣可以查看這些hardcode的內(nèi)容:
rebuild重打包
重打包剛剛修改過(guò)的HelloOurAndroid.apk,我們就修改strings.xml目錄下的“hello”為:Hello,OurUnix!
然后使用apktoo重新打包,命令如下:
walfred@ubuntu:~/lab/apktool$ apktool b HelloOurAndroid
最后將重新編譯之后的APK進(jìn)行簽名就可以運(yùn)行了,當(dāng)然如果你不想這么麻煩的去解包看,aapt這個(gè)工具也可以做到類似的功能哦,但最大的特點(diǎn)是aapt不需要解包。
相關(guān)文章
Android?APP啟動(dòng)時(shí)間優(yōu)化介紹
大家好,本篇文章主要講的是Android?APP啟動(dòng)時(shí)間優(yōu)化介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Android從xml加載到View對(duì)象過(guò)程解析
這篇文章主要介紹了 Android從xml加載到View對(duì)象過(guò)程解析的相關(guān)資料,需要的朋友可以參考下2016-03-03一文詳解Android無(wú)需權(quán)限調(diào)用系統(tǒng)相機(jī)拍照
這篇文章主要為大家介紹了Android無(wú)需權(quán)限調(diào)用系統(tǒng)相機(jī)拍照詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Flutter進(jìn)階之實(shí)現(xiàn)動(dòng)畫效果(八)
這篇文章主要為大家詳細(xì)介紹了Flutter進(jìn)階之實(shí)現(xiàn)動(dòng)畫效果的第八篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08Android AS為xutils添加依賴過(guò)程圖解
這篇文章主要介紹了Android AS為xutils添加依賴過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11android studio實(shí)現(xiàn)簡(jiǎn)單考試應(yīng)用程序?qū)嵗a詳解
這篇文章主要介紹了android studio實(shí)現(xiàn)簡(jiǎn)單考試應(yīng)用程序,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03activity全屏實(shí)現(xiàn)沉浸式效果,并且單獨(dú)觸摸不會(huì)彈出虛擬按鍵的方法
今天小編就為大家分享一篇activity全屏實(shí)現(xiàn)沉浸式效果,并且單獨(dú)觸摸不會(huì)彈出虛擬按鍵的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Android實(shí)現(xiàn)可拖拽帶有坐標(biāo)尺進(jìn)度條的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用Android實(shí)現(xiàn)可拖拽帶有坐標(biāo)尺進(jìn)度條的效果,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下2023-06-06