使用android-apktool來逆向(反編譯)APK包方法介紹_Android

來源:互聯網
上載者:User

Google官方提供了apktool可以逆向已經發布出去的APK應用,即反編譯已經打包成功的APK檔案,使用它可以將其反編譯成非常接近打包前的原始格式,對於APK來說,可以具體的逆向AndroidManifest.xml、資源檔resources.arsc以及將dex檔案反編譯成可以調試的smali檔案。

Warnning

但apktool並不等於是可以用來侵犯前作者的作品的工具,所以使用apktool工具的使用者千萬不用用其來進行不正當、非法的使用。

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.

關於apktool

1、反編譯資源檔到原始格式(including resources.arsc, XMLs and 9.png files)並且重建他們;
2、smali debugging: SmaliDebugging已經不支援了,猜測可能另一類的dex2jar工具崛起太快,已經可以將dex檔案直接反編譯成jar了;
3、更多關於apktool。

使用apktool

walfred覺得apktool目前最大的作用是可以逆向AndroidManifest.xml、資源檔resources.arsc,這裡就簡單的使用apktool來逆向一簡單的hello程式吧。

如果已經有了Android開發環境就能很快使用上apktool了,這裡假設你已經可以直接使用apktool了。

反編譯decode

複製代碼 代碼如下:

walfred@ubuntu:~/lab/apktool$ apktool d HelloOurAndroid.apk


這時我們可以看到在目前的目錄下已經產生HelloOurAndroid/檔案夾了,我們來查看下反編譯後的AndroidManifest.xml檔案和strings.xml檔案:
AndroidManifest.xml檔案反編譯之後和工程下的時候幾乎是一模一樣,所以我們可以來check下該Android應用的所有許可權。

同樣可以查看這些hardcode的內容:

rebuild重打包
重打包剛剛修改過的HelloOurAndroid.apk,我們就修改strings.xml目錄下的“hello”為:Hello,OurUnix!

然後使用apktoo重新打包,命令如下:

複製代碼 代碼如下:

walfred@ubuntu:~/lab/apktool$ apktool b HelloOurAndroid

最後將重新編譯之後的APK進行簽名就可以運行了,當然如果你不想這麼麻煩的去解包看,aapt這個工具也可以做到類似的功能哦,但最大的特點是aapt不需要解包。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.