為(wèi)了防止应用(yòng)被破解,开发者普遍会对应用(yòng)进行加固,為(wèi)应用(yòng)穿上“金钟罩铁布衫”,披上厚重的盔甲虽能(néng)提高安(ān)全性,但会影响包括App包體(tǐ)大小(xiǎo)在内的核心性能(néng),而App包體(tǐ)大小(xiǎo)会直接影响App在应用(yòng)市场的下载转化率。
根据谷歌数据,包體(tǐ)大小(xiǎo)每上升6MB,应用(yòng)下载转化率就会下降1%。不同地區(qū)转化率略有(yǒu)差异,APK包體(tǐ)大小(xiǎo)每减少10MB ,全球平均下载转化率会提升1.75%,新(xīn)兴國(guó)家代表印度和巴西下载转化率提升2.0%以上,发达國(guó)家如美國(guó)和德(dé)國(guó)下载转化率提升1.5%。
除包體(tǐ)大小(xiǎo)外,加固会影响的App核心数据还包括启动时间、内存占用(yòng)等数据。

如何在加固强度与应用(yòng)性能(néng)之间找到最佳平衡点已成為(wèi)业内焦点课题,為(wèi)了更好地帮助各位了解加固后核心数据变动的原因,小(xiǎo)编本次就加固形式对性能(néng)的影响进行深度解读。
加固后的包體(tǐ)大小(xiǎo)主要受加固强度影响,加固强度越高加固项及加固代码数量越高,从而导致包體(tǐ)变大。
1、加固项的数量:加固时会跟根据加固内容往应用(yòng)包中(zhōng)插入代码以及库文(wén)件,加固项越多(duō)插入的代码量越多(duō),对包體(tǐ)的影响越大。
2、加固代码的数量:同一个加固项,在对不同的代码进行保护时,也需要在对应的位置插入代码,插入的位置越多(duō),多(duō)包體(tǐ)的影响越大。
低强度加固仅采用(yòng)部分(fēn)代码加壳及防篡改技(jì )术,高强度加固额外采用(yòng)了代码分(fēn)离、VMP、防劫持、防截屏、防模拟器、高级内存防护、本地数据加密及资源隐藏8大加固项。
进行高强度加固后仅能(néng)查看壳代码,可(kě)更好的保护App源代码,但也会导致包體(tǐ)变大。
在资源隐藏方面,低强度加固仅能(néng)隐藏部分(fēn)文(wén)件,高强度加固后可(kě)隐藏全部内容,可(kě)通过assets目录下的文(wén)件数印证隐藏效果。
关注加固对App性能(néng)的影响,并持续优化。以某知名(míng)App為(wèi)例,进行低强度加固后包體(tǐ)增量仅0.6%,进行高强度加固后包體(tǐ)增量仅為(wèi)2.52%!对App性能(néng)近乎无影响。
爱加密对DEX文(wén)件进行整體(tǐ)加密加壳,应用(yòng)启动时需要将加固的DEX文(wén)件解密后加载,加固的DEX文(wén)件越大,解密需要的时间就越長(cháng)。
以某App為(wèi)例,进行高强度加固后,启动时间仅增加约0.6秒(miǎo),处于行业头部水平!
App加固后的内存占用(yòng)数据同应用(yòng)是否采用(yòng)私有(yǒu)API实现内存加载及DEX大小(xiǎo)有(yǒu)关,因此每个App加固后的内存占用(yòng)增幅可(kě)能(néng)不同。
1、私有(yǒu)API:Google為(wèi)了提升加固包兼容性,给厂商(shāng)提供了InMemoryClassloader作(zuò)為(wèi)内存加载接口,该接口会把加载的数据重新(xīn)在匿名(míng)内存中(zhōng)映射一份进行加载,从而增加内存占用(yòng)。使用(yòng)私有(yǒu)API实现内存加载可(kě)减少该类内存占用(yòng),但是会导致兼容问题,每个Android版本都要进行适配。
2、DEX:加固使用(yòng)mmap加载加密dex到内存,加固的DEX越大,导致内存占用(yòng)越大。
以某App為(wèi)例,进行高强度加固后内存占用(yòng)增加了约15MB,增幅约5%。
企业需要根据应用(yòng)加固需求,寻找在加固强度及性能(néng)影响方面均有(yǒu)深厚造诣的企业深度沟通,确定每个影响性能(néng)细节能(néng)否优化,如InMemoryClassloader能(néng)否换為(wèi)私有(yǒu)化API、DEX大小(xiǎo)并确定加固项数量。通过对细节的雕琢,提高App整體(tǐ)性能(néng)表现。
為(wèi)提升安(ān)全防护能(néng)力,全方位保护App的安(ān)全并将对App的影响降到最低,爱加密不断升级安(ān)全加固技(jì )术。经过多(duō)次迭代更新(xīn),爱加密已拥有(yǒu)八代加固技(jì )术,当下根据用(yòng)户具(jù)體(tǐ)需求,為(wèi)用(yòng)户提供第二代技(jì )术到第八代AII-in-VMP技(jì )术的叠加加固,通过技(jì )术的迭代,协助客户在加固强度和性能(néng)损耗之间找到最佳平衡点。
爱加密移动应用(yòng)安(ān)全加固平台兼容性极强,加固包兼容性高达99%,实现ART全面兼容,可(kě)全自动一键操作(zuò),大幅降低人力开销及技(jì )术學(xué)习成本,应用(yòng)加固时间短,可(kě)即时获取加固后的应用(yòng)!為(wèi)开发者提供全面的移动应用(yòng)安(ān)全加固技(jì )术,包括Android应用(yòng)加固、iOS应用(yòng)加固、游戏应用(yòng)加固、H5文(wén)件加固、微信小(xiǎo)程序加固、SDK加固、so文(wén)件加固和源对源混淆加固技(jì )术,加固后的移动应用(yòng)具(jù)备防逆向分(fēn)析、防二次打包、防动态调试、防进程注入、防数据篡改等安(ān)全保护能(néng)力。
爱加密作(zuò)為(wèi)國(guó)内知名(míng)的移动信息安(ān)全综合服務(wù)提供商(shāng),通过不断探索与实践,已覆盖政企、运营商(shāng)、金融、医(yī)疗、教育、能(néng)源等多(duō)个行业的安(ān)全业務(wù)场景。未来将持续加强自身技(jì )术、服務(wù)经验的积累,更好服務(wù)客户的网络安(ān)全需求,為(wèi)國(guó)家网络安(ān)全工(gōng)作(zuò)提供最有(yǒu)力的支撑,实现产(chǎn)业报國(guó)。
欢迎给我们留言或评论~
我们将持续发布技(jì )术解读、解决方案、行业报告
点击关注,不错过下次精(jīng)彩内容