APP开发平台 > Blog > APICloud网页代码全包加密功能

不得不说,安全一直是移动开发领域需要高关注度的问题!


除了其他乎友说的情况外,APICloud回答下基于HTML5开发的跨平台应用,背后可能隐藏的代码盗取问题。

v2-bf8a31c5a5ecf66f6f3a27f821c26e7f_hd.jpg

根据 Gartner 的预测,75% 的移动 app 甚至没有通过基本的安全测试

从前几年苹果与FBI之间的激烈冲突也再次强调了保护用户隐私的重要意义,这方面苹果公司、包括IOS系统做的确实不错,苹果公司亦在WWDC大会上宣称其将在硬件层面确保设备拥有完整的安全防护机制。


而目前很多使用的代码保护解决方案中,对于网页代码保护的方式是治标不治本的,无法从根本上去实现真正的代码加密,从现象说起——


1、JS、CSS代码压缩


通过互联网上提供的CSS、JS压缩工具,只起到了减少文件体积、提高加载速度,能够提升程序的执行性能,但是根本做不到加密,开发者完全可以利用很多方式进行还原。


2、混淆HTML、JavaScript、CSS代码实现保护


这是最通常使用的方法,有很多代码混淆工具,如Packer、Javascript Compressor、JSObfuscator等,帮助开发者保护代码,然而代码混淆后会降低程序的执行性能。同时也不乏一些代码格式化工具的存在,如JSBeauty、VS的Javascript编辑器等,用工具将混淆的代码重新格式化后,代码全部恢复为明文,无法做到代码版权保护。


3、仅对HTML文件加密,而对JavaScript和CSS文件不加密


仅对App中的HTML文件进行加解密处理是比较容易实现的,HTML文件可以经过加密后保存在App安装包中,而应用引擎在将HTML文件交给浏览器引擎解析之前可以先对加密的HTML文件进行解密,然后再将解密好的HTML文件交给浏览器解释执行,而在整个浏览器执行过程中,对JavaScript和CSS文件的解密处理时机还是比较难控制的。但是在一个实际App项目中,大量的功能实现都是放在JavaScript文件中的,所以,这种局部加密的方式还是存在较大的局限性。


4、原生应用的代码加固和加密厂商


由于Android应用使用Java语言开发,Java语言存在可以反编译源码的问题,所以行业中针对apk出现了加固、加壳产业,很多厂商可以提供加固服务,比如360、梆梆安全等加固产品。然而应用加固通常只能对原生代码进行加密加固保护,不能对HTML、JavaScript、CSS等网页代码进行加密保护。


无论应用如何进行加密,都很难保证绝对的安全,而针对这一问题,建议至少应该从三点考虑。


  • 第一,代码安全,因为目前基本上大部分的移动应用都基于H5开发;

  • 第二,数据安全,保护应用所有数据的稳定性;

  • 第三,功能安全,针对API的调用和控制,包括大企业API调用的限制。


而对于移动安全问题,苹果也通过了禁止JSPatch热修复框架,其原理是通过JS脚本调用和替换任意OC方案,达到bug修复的目的。也许是为了提升安全和可控性问题,采用JSPatch热修复框架后,这种安全和可控性正在被挑战。


通过代码加密功能可以从HTML源头开始,APICloud则配备了基于RC4加密算法提出了一套“全包”对称加密解决方案,可以在云编译的时候对安装包中的HTML、CSS、JS代码进行加密处理,从HTML5移动应用开发的源头开始,很大程度的保护源代码的知识产权。


1、一键加密,运行时解密:开发者只需要在APICloud上编译时选择代码加密,云服务器在编译App安装包时就会将该App的HTML、JavaScript、CSS代码自动加密,同时该App在运行过程中实时解密,App退出即焚,不留下解密痕迹;


2、零修改,零影响:APICloud的加密方式不改变代码量大小,不影响运行效率,针对代码的加密方案不会修改开发者的任何代码,加密后的代码不会比加密前多出一个字节,同时,端底层嵌入了特殊的处理方案,保证代码加密前后,App的运行效率、使用体验不受影响;


3、自动,智能,方便:开发者在APICloud平台开发App的过程中,无需针对代码的保护做特殊的处理,按照正常的开发流程进行即可;


4、安全盒子:在保护开发者代码的同时,针对App的各种潜在安全问题,APICloud定义了一个“安全盒子”,仅对盒子内代码进行加解密保护,盒子外代码灵活处理;


5、重新定义资源标准:APICloud底层在处理被保护代码时,重新分配了App资源的使用方式,统一资源管理,实现加速资源加载,节省系统开销,因此,加密代码后的App在运行过程中甚至能提速运行;

v2-b483927c885adc5f859694f8c1af9e9f_hd.jpg

加密前

v2-730146bac74c155f1a95baf1346c6009_hd.jpg

加密后


随着行业技术与应用模块的不断发展,应对加密或混淆的解决方案,肯定会在不断发展中迭代。


2018-09-29 来源:APICloud

APICloud

高效的App定制平台,标准化、便宜、快!

提交APP定制开发需求