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的反編譯與回編譯及常見的問題應該如何解決的方式和注意事項了,小夥伴們有沒有其他的建議或補充呢?可以在評論區回復或者私聊小編,我們可以互相交流討論哈!
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/284410.html