新聞中心
http://www.ijiami.cn/Video?v=4
創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、裕華網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為裕華等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。Android系統(tǒng)的開放性和免費(fèi)性等特征讓開發(fā)者和用戶趨之若鶩,用戶也漸漸習(xí)慣了Android應(yīng)用的這種免費(fèi)午餐,但在免費(fèi)的背后卻有著巨大的安全陰影。
“Android APP二次打包”則是盜版正規(guī)Android APP,破解后植入惡意代碼重新打包。不管從性能、用戶體驗(yàn)、外觀它都跟正規(guī)APP一模一樣但是背后它確悄悄運(yùn)行著可怕的程序,它會(huì)在不知不覺(jué)中浪費(fèi)手機(jī)電量、流量,惡意扣費(fèi)、偷窺隱私等等行為。
面對(duì)二次打包不少公司都有自己的防范措施,知名公司的APP幾乎都是自己在程序內(nèi)部做過(guò)處理防止其APP被二次打包,一旦打包后重新運(yùn)行則程序自動(dòng)退出。接下來(lái),我就來(lái)詳解一下如何防止APP被二次打包。
要實(shí)現(xiàn)代碼內(nèi)部防止APP被二次打包首先得了解APK的機(jī)器識(shí)別原理,APK的唯一識(shí)別是依靠包名和簽名來(lái)做鑒定的,類似豌豆夾的洗白白、360手機(jī)衛(wèi)士等安全軟件對(duì)APK的山寨識(shí)別,他們就是依賴包名來(lái)確定APK然后通過(guò)簽名來(lái)確定其是否山寨。所以說(shuō)自己的程序內(nèi)部在啟動(dòng)的時(shí)候可以通過(guò)獲取APK本身的簽名然后和正確的簽名做對(duì)比來(lái)識(shí)別自己是否被二次打包。
通過(guò)PackageManag對(duì)象可以獲取APK自身的簽名。
通過(guò)對(duì)簽名的碼的分解得到一串20左右的字符串,此字符串則是APK的簽名的MD5值,通過(guò)獲取的簽名MD5值與正確的MD5值進(jìn)行對(duì)比,就可以識(shí)別其APK是否被盜版。
下圖是一些已做過(guò)保護(hù)的APP的代碼塊分析:
上圖是“XX省電王“的防止二次打包的關(guān)鍵代碼
上圖是”XX電池管家”的防止二次打包的關(guān)鍵代碼
以上兩處都是smali層的代碼,以上2處代碼的截圖都是下載量非常高的APP所做的防止二次打包的處理,其處理的代碼肯定會(huì)使用到的關(guān)鍵代碼是
Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature。
此方法能夠起到一定的安全作用,一般的打包黨面對(duì)它是無(wú)可奈何的,如果你了解一些smali語(yǔ)法它的作用就等于0了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞名稱:APP防二次打包技術(shù)破解演示-創(chuàng)新互聯(lián)
文章位置:http://fisionsoft.com.cn/article/ccsjes.html