編輯點評:多功能去簽工具
用戶自己制作的一款apk簽名分析工具,Apk分析 Pro+是一個支持中文的免費工具,軟件中用戶可以一鍵去除一些低中稍高的簽名校驗,還可以支持多種方式一鍵去簽,對于喜歡研究apk文件的朋友來說非常實用。
Apk分析 Pro+使用注意
1、因為某加固問題導致首次啟動較慢。
2、第二次啟動或多次啟動幾次即可解決。
軟件特色
可一鍵去除一些低中稍高的簽名校驗
支持多種方式一鍵去簽
很專業的apk分析工具
支持文件標簽時間轉換,十六進制轉換
APK簽名校驗分析
找到PackageParser類,該類在文件“frameworks/base/core/java/android/content/pm/PackageParser.java”中。PackageParser類的collectCertificates方法會對APK進行簽名校驗,在該方法會遍歷APK中的所有文件,并對每個文件進行校驗。
APK是一個ZIP格式的文件所以使用ZIP相關的類進行讀寫。上面代碼中調用了loadCertificates方法,這個方法返回一個二維數組,如果APK中的文件簽名校驗失敗那么loadCertificates方法會返回一個空數組(可能是null,可能是數組長度為0),按照上面代碼的邏輯如果數組為空則會拋出異常。
verifiedEntries是一個鍵值對,鍵是APK中經過了簽名的文件名,如:classes.dex文件,值是證書數組。如果向已經簽過名的APK中新添加一個文件然后安裝這個APK,當程序邏輯執行到JarVerifier.getCertificateChains方法中時,在verifiedEntries變量中無法找到新添加的文件名(因為這個新文件是在APK簽名之后添加),那么JarVerifier.getCertificateChains方法將返回null。
擴展閱讀
安卓系統本身在安裝app時會對app驗證簽名。
測試步驟: 在本機上有一個低版本的app,然后安裝一個高版本的app(分發時用不同的證書簽名),
安裝提示:安裝失敗“更新包與已安裝應用的簽名不一致”
建議卸載,卸載當前版本后,可以安裝成功!(這個沒法控制用戶,,所以可以考慮在app啟動時驗證簽名)
App啟動時檢測簽名是否正確
對比apk簽名證書的SHA1值是否自己用的簽名證書的值,而不是被別人篡改過的證書的值(防止自己的應用被反編譯后重新打包)
1、獲取自己對app分發時簽名證書的SHA1值
首先進入CMD,然后輸入:
keytool -exportcert -list -v -alias huyNew -keystore "C:\Users\huy\AppData\Local\Xamarin\Mono for Android\Keystore\huyNew\huyNew.keystore"
回車
在提示下輸入密鑰口令(是自己設置的密碼) (注:此時輸入字符cmd是不顯示的,請輸入完整后直接回車。如果失敗說明你輸錯了)
熱門評論
最新評論