河北盛秋網絡科技有限公司擅長于各種安卓APP應用軟件開發,UI、研發、服務上都保持國內一流標準,確保產品的商業價值。
手機UI設計是手機軟件的人機交互、操作邏輯、界面美觀的整體設計。好的UI設計不僅讓軟件變得有個性有口味...
APP軟件開發公司為企業提供高端型的IOS APP定制,為顧客開發一款有實用性的且具有營銷性的APP應用軟件。
目前針對移動應用市場上安卓APP被破解、反編譯、盜版叢生的現象,很多APP開發人員已經意識到保護APP的重要性。而對于移動應用APP加密保護的問題,如何對DEX文件加密尤為重要。那么接下來,我們就先介紹一下什么是App加殼和加殼的原理,利與弊等。
一、什么是加殼?
加殼是在二進制的程序中植入一段代碼,在運行的時候優先取得程序的控制權,做一些額外的工作。大多數病毒就是基于此原理。是應用加固的一種手法對原始二進制原文進行加密/隱藏/混淆。
二、加殼作用
加殼的程序可以有效阻止對程序的反匯編分析,以達到它不可告人的目的。這種技術也常用來保護軟件版權,防止被軟件破解。
三、Android Dex文件加殼原理
Android Dex文件大量使用引用給加殼帶來了一定的難度,但是從理論上講,Android APK加殼也是可行的。
在這個過程中,牽扯到三個角色:
加殼程序:加密源程序為解殼數據、組裝解殼程序和解殼數據
解殼程序:解密解殼數據,并運行時通過DexClassLoader動態加載
源程序:需要加殼處理的被保護代碼
四、加殼的利與弊
* 優勢:
保護自己核心代碼算法,提高破解/盜版/二次打包的難度
還可以緩解代碼注入/動態調試/內存注入攻擊.
* 劣勢:
影響兼容性
影響程序運行效率.
加殼的技術和原理已經介紹了,那么接下來我們再介紹一下什么樣的應用需要加密呢?金融軟件/病毒木馬/游戲等敏感度高的應用需要加密,其他的看自己的需要,個人認為簡單的,不是很重要的應用沒必要加密,畢竟道高一尺,魔高一丈,只要想脫,總能有辦法。
Android 上的加殼技術發展至今也不過三年,而 PC 端的加殼技術已經有十多年的發展。我們相信它能發展的更好,攻防是動態的對抗,技術一直在進步,反正技術的趨勢肯定是做攻的,攻破后都認為守的不行,此消彼長,后面又加強又不好搞了。
目前市面上有很多第三方加殼的平臺, 如果應用需要加殼選哪一種好?免費版強度都很一般,建議自己測試下商業版的兼容性然后再選擇,接觸到的殼有apkprotect,梆梆加固,愛加密,娜迦,阿里,百度,騰訊,360等。用戶根據自己的需要可以選擇一種試試。