Apk的反編譯與回編譯是通過什么途徑實現的,遇到的問題會有哪些呢?今天小編就給大家總結一下。
我們分為三部分來講。第一部分是AndroidKillrr 的環境配置;第二部分是apktool工具的使用與更新;第三部分是插件的更新方式。
1. AndroidKillrr 環境配置
1.Apk的含義:
apk屬于什么文件?
廣義上來說,”apk”屬于壓縮文件。
2.APK包中的”AndroidManifest.xml”文件是否可以通過直接解壓的方式獲取明文內容?如果不能的話需要通過什么工具進行解密呢?
2.這個文件是不能通過直接解壓的方式來獲取明文內容的,而是需要借助”AndroidKiller”工具進行解密。
“AndroidKiller”是一款經常用來反編譯APK的工具。
第一步,下載好”AndroidKiller”工具
下載完成后,解壓安裝包,打開”AndroidKiller”(文件夾)進行安裝


雙擊打開”AndroidKiller.exe”文件,發現出現了下面的彈窗:


彈窗提示:”沒有Java SDK環境”
這個不會影響后面的操作,我們點擊”OK”直接進入AndroidKiller 工具界面
然后選中”主頁”菜單欄下的”配置”選項
彈出彈窗:點擊”Java”圖標配置JDK安裝路徑


點擊編輯框右邊的”文件夾”圖標


找到之前安裝JDK的目錄,


依次選擇”jdk.1.8.0_111″(文件夾)——選擇”bin”文件夾,確定


這里需要了解AndroidKiller 工具里面的”Android”選項卡下的三個常用功能:
編譯:就是將反編譯后的文件重新打包成apk文件
插入代碼管理器:將常用代碼進行封裝,方便逆向時快速添加smali代碼
Apktool管理器:主要是用來管理和更新apktool工具
二.更新apktool工具
這里提到要更新apktool,那更新他有什么用呢?長期不更新的的話又會導致什么后果?


這里要著重講一下這個apktool:第一步:下載完成后,點擊”Android”選項,找到并打開apktool
出現彈窗:


這里,大家可以看到列表里已經存在一個工具了!
如果需要添加新的工具,就點擊右側”添加”按鈕進行添加就可以了。


※ 在這里,填寫的名稱一定要有意義,格式一定是apktool_+版本信息,目的是為方便之后選擇對應的插件。
其后,是路徑項,找到要添加的新版apktool的工具所在路徑


第三個參數可以不填


完成之后點擊”確定”
一定要在下方選擇更新后的apktool,否則就相當于沒有更新


三.更新插件
1.什么是插件?為什么使用插件呢””?
在逆向分析APP時,有時候需要插入smali代碼打印日志信息或者記錄方法調用流程或者添加彈窗、加載SO庫,這些代碼都是固定的,我們就會將他們封裝成一個個插件來使用。
2.如何更新:
首先,將原有的插件進行刪除。
打開”AndroidKiller”工具所在路徑,找到”cfgs”文件夾


如果這個文件夾中有存放插件的”injectcode”文件夾,將此文件夾刪除。
插件下載下來后,直接解壓到androidKiller 工具目錄下的”cfgs”文件夾里面
進行解壓
解壓之后又會出現一個新的”cnjectcode”文件夾,這個文件夾里存放的都是更細后的插件文件了。
※ 更新插件的操作,只需更新一次后續可一直使用,直到下次更新。
以上就是小編分享的APK的反編譯與回編譯及常見的問題應該如何解決的方式和注意事項了,小伙伴們有沒有其他的建議或補充呢?可以在評論區回復或者私聊小編,我們可以互相交流討論哈!
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。