一、環境准備
1、jdk1.8
2、7zip
3、apktool.jar
4、signapk.jar
5、要測試的apk包
apktool.jar和signapk.jar相關的包傳送門:
鏈接: https://pan.baidu.com/s/1GVcPDSMOCaCrwKU0fe5img 提取碼: jrhf
二、詳細步驟
1、把需要檢測的apk放置到apktool.jar的目錄里
2、cmd命令行模式進入到apktool.jar的路徑下,輸入:java -jar apktool_2.4.1.jar d yourTest.apk
之后會生成一個apk的文件夾
3、進入新的apk文件夾下,找到相應logo,一般存在於res文件夾下的以mipmap開頭的幾個文件夾中,或者直接在apk文件夾下搜索launcher
4、隨便下載個png圖片,替換掉logo,例如用下圖圖標替換掉apk中的圖標
備注:名字一定要和原來的一致
5、把5個文件夾里面的圖標替換成功后重新打包,cmd命令行下進入到apktool工具所在的目錄,執行命令:java -jar apktool.jar b apk文件夾 -o 將要生成的apk文件名稱
生成新的apk
6、對新生成的apk文件進行簽名,執行命令:java -jar signapk.jartestkey.x509.pem testkey.pk8 原apk文件名 新apk文件名
如執行:java -jar signapk.jar testkey.x509.pem testkey.pk8 anjou-phone_release_pro_1.1.3_202006011233_40c92e8.apk anjou-phone_release_pro_1.1.3_202006011233_40c92e81.apk
7、將簽名之后的apk進行安裝驗證
將簽了名的 APK 安裝、運行、確認是否存在自校驗;需要注意的是,如果之前安裝的 APK 和修改后的 APK 簽名不同,就不能直接覆蓋安裝,一般來說,先卸載之前安裝的 APP 即可。
若沒有進行自校驗,則可以正常打開軟件,則測試不通過
若應用進行了自校驗,則無法啟動軟件,測試通過
三、結論說明
如上圖的應用,正常的apk和修改后的apk簽名方式不同,前面的安裝成功,后面修改后的apk進行了自校驗,則無法正常安裝,測試通過