全程保障应用安全性
随着移动互联网的迅猛发展,各种App层出不穷的同时,也催生了大量的提供专业技术服务的2B厂商,这些厂商提供专业的SDK封装了复杂的逻辑实现原理与细节,服务基本涵盖了IM、地图、支付等功能,为了保护这些SDK不被反编译和非法使用,需要对其进行加固处理。
SDK加固的设计
1、设计目标:提高破解难度,防止反编译,保护源代码安全。
2、设计方案:易盾SDK加固方案包含VMP以及Java2C两种方案,VMP方案将待保护类的方法进行抽空,对抽取的指令进行加密处理,在运行时通过自定义虚拟机执行,同时对指令操作码做了重新映射,极大的提高了分析破解的难度,Java2C方案将待保护类的方案进行Native化,Java层原函数逻辑转为了JNI层的C/C++代码实现,由于该过程不可逆,因此从Native层还原回原Java层逻辑的门槛与难度会大大增加,几乎不可能。
SDK加固的实现
1、实现工具:ProGuard混淆工具,自定义虚拟机,JNI技术。
2、实现步骤:
a. 使用ProGuard混淆工具对源代码进行混淆处理,增加反编译后代码的阅读难度。
b. 使用自定义虚拟机对关键代码进行加密处理,运行时解密执行,增加破解难度。
c. 使用JNI技术将部分Java代码转为C/C++代码,增加反编译难度。
d. 对加固后的SDK进行测试,确保稳定性和兼容性。
SDK加固的效果
1、安全性:通过VMP和Java2C两种方案,极大地提高了SDK的反编译和破解难度,有效保护了源代码安全。
2、稳定性和兼容性:易盾SDK加固方案不仅应用在SDK加固业务,在Apk加固也早已应用多时,经受过大量的真机测试与线上环境的考验,这两种方案对对市面上Top 100的应用通过云**机的百台测试机进行测试,通过率达到99.6%以上,远远超出资质要求的90%的标准。
相关问题与解答
1、问题:SDK加固是否会影响应用的性能?
答案:会影响一定的性能,但是通过优化加固方案,可以将影响降到最低。
2、问题:SDK加固是否可以防止所有攻击?
答案:虽然不能完全防止所有攻击,但是可以大大提高攻击者的难度,保护源代码安全。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/869835.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复