,破解後植入惡意**重新打包。不管從效能、使用者體驗、外觀它都跟正規
一模一樣但是背後它確悄悄執行著可怕的程式,它會在不知不覺中浪費手機電量、流量,惡意扣費、**隱私等等行為。
幾乎都是自己在程式內部做過處理防止其
被二次打包,一旦打包後重新執行則程式自動退出。
接下來,我就來詳解一下如何防止
被二次打包。
被二次打包首先得了解
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等都有相關的資料,並不是所有的檔案都要一一看懂 其次,他的模板語言語法是怎麼樣的,定義了哪些全域性變數 全域性陣列 常量。再次就是看他的核心類 核心函式是怎麼寫的。對架構感興趣的,可以看看他的路由解析類 控制器類 資...