反編譯之Android killer+jadx+給APP簽名

一、下載androidKiller工具
Android killer 是一款反編譯軟件,支持編譯
下載地址: 解決androidKiller反編譯高版本java源碼出錯的工具優化篇:https://www.52pojie.cn/thread-646293-1-1.html

鏈接:https://pan.baidu.com/s/1DvbpJuMXnxRFn4fc1UBmmg

密碼: 3327

解壓密碼:www.52pojie.cn

常見的一些問題在這裏可以看到解決方法:
https://blog.csdn.net/pla12147111/article/details/95135104

反編譯完成後,找到classes-dex2jar.jar,使用使用jd-gui工具打開classes-dex2jar.jar文件即可看到代碼
在這裏插入圖片描述
代碼一覽無餘:
在這裏插入圖片描述
二、下載AndroidKillerPlugin工具(用了這個不用androidKiller也行)
這個工具可以編譯多個dex

遇到有些代碼看不到的情況,怎麼辦?
使用AndroidKillerPlugin:https://www.cnblogs.com/mysticbinary/p/11609825.html

一頓編譯之後:
在這裏插入圖片描述
把這幾個通過dex編譯出來的jar文件,解壓在一起,再打包成一個jar,就可以用gui工具愉快地看代碼了!

三、jadx(推薦)
jadx是史上最好用的反編譯軟件,只要把apk拖進去就可以了

Android反編譯及調試利器(jadx+apktool+android studio)

四、加固後的APP需要重新簽名

jarsigner -verbose -keystore demo.keystore  -signedjar notepad_signed.apk notepad.apk demo.keystore 

說明:
1)jarsigner是工具名稱,-verbose表示將簽名過程中的詳細信息打印出來,顯示在dos窗口中;
2)-keystore demo.keystore 表示簽名所使用的數字證書所在位置,這裏沒有寫路徑,表示在當前目錄下;
3)-signedjar notepad_signed.apk notepad.apk 表示給notepad.apk文件簽名,簽名後的文件名稱爲notepad_signed.apk;
4)最後面的demo.keystore 表示證書的別名,對應於生成數字證書時-alias參數後面的名稱

查看簽名文件

keytool -v -list -keystore xxx.keystore

查看apk簽名

keytool -list -printcert -jarfile release.apk

五、總結
1、傳統的反編譯方法是使用dex2jar工具編譯出java代碼,然後使用gui工具查看代碼
2、如果想改apk源碼,可使用Android Killer工具
3、如果有多個dex,可使用工具一下子多個dex編譯成多個jar,然後合併到一起即可
4、使用jadx十分方便,把apk拖進去即可。如果資源看不到,可使用apktool查看
5、假如apk加固了,要先使用脫殼工具(ApkScan-PKID查殼工具)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章