前段時間公司要給 Android 應用進行加固,由筆者來選一家加固產品。然后發現,加固產品何其之多,且魚龍混雜。各種問題也是層出不窮,比如,有些加固時間非常久、有些加固會失敗、有些運行會崩潰等等問題。目前筆者已經給老板交了差,想把之前分析的數據整理出來分享給大家。
筆者從主觀數據與客戶數據兩部分對第三方加固做了對比。其中,主觀數據主要表現在對操作便捷方面的感受,客戶數據就是體現在我們較為關心的各項指標(安全性沒法評估,本文跳過了,請各路大神見諒)。
公司產品由於安全隱私問題不方便展示,我從網上隨便找來三個應用(如果有冒犯到貴公司的應用,請通知本人刪掉),這里將三個應用分別命名為:test1.apk、test2.apk、test3.apk。
01
主觀數據
操作體驗
• 梆梆安全
加固時需要選擇應用類型,可能是梆梆要對 App 做數據統計,在選擇好應用類型后,直接點擊“提交應用”,即可對應用做加固。個人感覺操作上相對便捷,對於我這種小白用戶來說較為友好。
在提交加固后,加固進度條一直處於四分之一狀態,不會隨着加固進度而改變,這使得用戶無法較好地得知當前的加固進度,希望后續能夠改進。
• 愛加密
愛加密在上傳 APK后需要填寫多種配置項,其中包括“應用類型”、“防二次打包”、“infoBeat 數據服務”、“多渠道打包”等,同時還需要同意相關條款才能夠進行加固。對於入門級的我來說,很多選項並不明白其用處,只是盲目地做了勾選,然后選擇“提交加密”。
加固過程沒有進度條顯示,無法得知當前加固進度,且加固時間較長,基本要20分鍾以上。
• 360 加固保
提供多種不同的保護方式讓用戶選擇,默認情況下都會全選。選擇后點擊確定,即可實現應用加固,整個流程相對簡單,且可選擇性較大。
• 幾維安全
上傳應用后,需要點擊“加固”對話框才能進入加固頁面,一開始以為上傳就能夠自動做加固,等了好久之后發現還沒開始,這個設計有點反人性。
幾維的加固默認狀態下沒有勾選 “Dex 函數加密”,如果不注意,直接點擊“開始加固”將不會對 Dex 文件做加密。個人感覺有誘導不加固的嫌疑,付費可以享受更多功能,但操作都在同一頁面。
• 頂象加固
上傳應用並點擊“確定”即可直接對APK做加固,操作簡單快捷。小白也可以方便使用,不需要額外的學習成本。
• Testin 雲加固
上傳應用並點擊“下一步”即可直接對 APK 做加固,操作簡單快捷。小白也可以方便使用,不需要額外的學習成本。
另外,還支持郵件通知與微信通知,相當人性化的體驗。
• 騰訊雲應用加固
從進入頁面到開始加固的整個過程比較繁瑣,需要連續點擊多個頁面才能真正進入到加固頁面。
與其他加固廠商相比,樂固免費版APK 保護的功能較多。同時,也是這么多家唯一有加固進度顯示的廠商,這一點的體驗方面比較好。
橫向對比
1、界面體驗:
從各個加固廠商的網頁界面來看,頂象以及幾維兩家企業網站的界面的體驗相對友好,可能是因為新興企業的原因,使用注重界面體驗的UI設計,從使用體驗上來講,能夠給人更為直觀的感受;
2、操作便捷程度:
從操作便捷性來看,梆梆跟愛加密都需要用戶對上傳的應用做分類,並且同意相關協議才能做加固。
幾維安全則在默認情況下是不勾選Dex加固,用戶很容易沒有留意到而導致應用加固強度不夠。在上傳應用后,需要點擊“加固”對話框,才能進入加固頁面。
頂象加固與 Testin雲加固的加固流程簡單快捷,直接上傳APK即可實現加固,對於新手用戶也可以快速應用,學習成本低。
360加固保則提供多種不同的保護選項讓用戶選擇,默認情況下都會全選,在選擇后點擊確定,即可實現應用加固。選擇性大,造就操作步驟的繁瑣。
樂固可能由於是免費版的因此從進入頁面到開始加固整個流程相對繁瑣,但從功能上來說具備更多的加固功能項,並且能告知用戶等待時間。
02
客觀數據
1、加固時長
2、加固體積
其中,test2.apk 與 test3.apk 在使用愛加密加固的時候均失敗。部分加固后的體積比原包還要小。
3、首次啟動時間
4、二次啟動時間
5、內存
6、兼容性
Testin 作為一家雲測廠商,啟動黑屏,有點難以接受。
從這張表中可以看到,頂象的兼容性是最好的。
總結
據上數據,橫向對比做下排序,以便大家更直觀清晰的了解,排序規則為從左至右依次遞減,左側最優。
1、加固時長:
頂象 > 360 > 騰訊 > 幾維 > Testin > 梆梆 = 愛加密
2、加固體積:
test1:梆梆>頂象> 原包 > Testin > 騰訊 > 幾維 > 愛加密 > 360
test2:騰訊 > 360 > 原包 > 幾維 > 頂象 > 梆梆 > Testin(愛加密加固失敗)
test3:原包 > 騰訊 > 幾維 > 頂象 > 360 > 梆梆 > Testin(愛加密加固失敗)
3、首次啟動:
test1:原包 > 愛加密 > 頂象 > 梆梆 > 騰訊 > Testin(幾維 與 360 崩潰)
test2:原包 > 幾維 > 360 > 騰訊 > 頂象 > Testin(梆梆 崩潰,愛加密 加固失敗)
test3:幾維 > 原包 > 頂象 > 360 > 騰訊(梆梆 崩潰/愛加密 加固失敗/Testin 黑屏)
4、二次啟動:
Test1:原包 > 頂象 > 梆梆 > 愛加密 > 騰訊 > Testin(幾維 與 360 崩潰)
Test2:原包 > 幾維 > 頂象 > 360 > 騰訊 > Testin(梆梆 崩潰,愛加密 加固失敗)
Test3:原包 > 幾維 > 頂象 > 騰訊 > 360(梆梆 崩潰/愛加密 加固失敗/Testin 黑屏)
5、內存:
test1:原包 > 頂象 >愛加密 >梆梆 >騰訊 >Testin(幾維 與 360 崩潰)
test2:原包 > 頂象 > 幾維 > 騰訊 > 360 > Testin(梆梆 崩潰,愛加密 加固失敗)
test3:原包 > 幾維 > 頂象 > 騰訊 > 360(梆梆 崩潰/愛加密 加固失敗/Testin 黑屏)
6、兼容性
test1:梆梆、愛加密、頂象、Testin、騰訊等五家均正常啟動(幾維與 360 崩潰)
test2:360、幾維、頂象、Testin、騰訊等四家均正常啟動(梆梆崩潰,愛加密加固失敗)
test3:360、幾維、頂象、騰訊 等三家均正常啟動(梆梆崩潰/愛加密加固失敗/Testin 黑屏)
最后
客觀數據每組都是測試了至少10組,然后去除最高及最低值,再計算平均值,已經盡可能去除干擾。
主觀數據僅是個人的一些感受,客觀數據也只是將所測數據展示給大家。以上數據僅供大家參考,測試過程中可能有一些誤差,請大家見諒,畢竟 Android 手機測試的數據本身就有波動。
PS:如有想要測試APK的可在“X安全”微信號里回復“APK”關鍵字獲取。