近十年,移动互联网的飞速发展,智能移动终端在人们学习、工作和生活中的普及率越来越高,手机终端的广大用户群体的良好体验正吸引着越来越多的开发及应用者参与到手机应用程序的开发和使用中来,但是部分免费开源的平台特性不仅给予了开发者更广阔的开发空间,也给使用者增加了许多安全隐患,即使有基于自主平台上开发的移动应用,也会遭到黑客攻击,存在一定的安全隐患。
相关数据显示,89%的热门应用存在仿冒,18个行业的Top10应用中98%的应用都存在漏洞。这些漏洞一旦被利用,将会给开发者和用户带来很大的影响。
在本文中,我们探讨Android应用程序开发过程中都有哪些安全开发要求。
程序保护
通过混淆、加密、签名、加壳、动态加载等技术为移动应用进行全面的安全加固,对抗代码注入、篡改、反编译、逆向工程等恶意行为,具备反篡改/盗版/二次打包能力。
基本要求
-
Dex加固,可对编译后的Dex进行加壳、类加载、类抽取、函数Native转换、指令VMP选择加固处理。
-
SO加固,可对导出函数加密,对SO文件中的字符串进行混淆或加密,对编译后的SO文件中代码段加密。
-
反调试,防止进程/线程附加,如果检测到被保护APK被附加则程序退出;抵抗进