關於app預防二次打包

2021-07-10 19:47:03 字數 1114 閱讀 5400

,破解後植入惡意**重新打包。不管從效能、使用者體驗、外觀它都跟正規

一模一樣但是背後它確悄悄執行著可怕的程式,它會在不知不覺中浪費手機電量、流量,惡意扣費、**隱私等等行為。

幾乎都是自己在程式內部做過處理防止其

被二次打包,一旦打包後重新執行則程式自動退出。

接下來,我就來詳解一下如何防止

被二次打包。

被二次打包首先得了解

apk的機器識別原理,

apk的唯一識別是依靠包名和簽名來做鑑定的,類似豌豆夾的洗白白、

360手機衛士等安全軟體對

apk的山寨識別,他們就是依賴包名來確定

apk然後通過簽名來確定其是否山寨。所以說自己的程式內部在啟動的時候可以通過獲取

apk本身的簽名然後和正確的簽名做對比來識別自己是否被二次打包。

通過packagemanag

物件可以獲取

apk自身的簽名。

通過對簽名的碼的分解得到一串20

左右的字串,此字串則是

apk的簽名的

md5值,通過獲取的簽名

md5值與正確的

md5值進行對比,就可以識別其

apk是否被盜版。

上圖是「xx

省電王「的防止二次打包的關鍵**

上圖是」xx電池管家」的防止二次打包的關鍵**

以上兩處都是smali

層的**,以上

2所做的防止二次打包的處理,其處理的**肯定會使用到的關鍵**是

landroid/content/pm/packageinfo;->signatures:[landroid/content/pm/signature。

此方法能夠起到一定的安全作用,一般的打包黨面對它是無可奈何的,如果你了解一些smali

語法它的作用就等於0了。

Android APP如何防止二次打包

要實現 內部防止 被二次打包首先得了解 apk的機器識別原理,apk的唯一識別是依靠包名和簽名來做鑑定的 類似豌豆夾的洗白白 360手機衛士等安全軟體對 apk的山寨識別,他們就是依賴包名來確定 apk,然後通過簽名來確定其是否山寨。所以說自己的程式內部在啟動的時候可以通過獲取 apk本身的簽名然後...

二次打包(封裝)AAR實用指南

aar解壓圖.png 可以看到,aar裡包括了各種各樣的資源檔案 解壓包大致一樣,略有差異 但是有的是空資料夾,現在res,jni這些資料夾我們就熟悉了吧!如果你的aar解壓出來僅有so庫與jar包,那就不用往下看了,直接提取出來複製到專案對應目錄下編譯即可!新建乙個module android l...

關於二次開發

首先,看他的目錄結構,知道每個資料夾,甚至每個檔案是幹什麼的,這個常用的discuz等都有相關的資料,並不是所有的檔案都要一一看懂 其次,他的模板語言語法是怎麼樣的,定義了哪些全域性變數 全域性陣列 常量。再次就是看他的核心類 核心函式是怎麼寫的。對架構感興趣的,可以看看他的路由解析類 控制器類 資...