一家app开发公司需要对app进行安全加固吗?


阿凡达提问于 2018-11-21 17:26
1 个回答
1 个回答
  • 达芬奇密码 2018-11-21 17:35

    现今移动APP数量爆炸式增长,移动端黑产也随之日益壮大,伴随而来的逆向攻击手段也越来越高明。APP进行安全加固可以防止被破解、防止二次打包、防止外挂、防止恶意篡改等,保障开发者和广大用户的利益。


    对于游戏开发者:针对游戏进行安全加固可以做到游戏脚本加密、反修改器、反加速器、防二次打包、反模拟器等保护,防破解反外挂;


    只要是手游,基本都被外挂侵害,《旅行青蛙》是当下非常火的佛系游戏,网易云易盾资深安全开发工程师对它进行过分析:通过iOS和安装包联合分析,就可以发现iOS使用的是IL2CPP模式,C#脚本转成C/C++代码,使用II2CppDumper还原符号。王桂林说:“知道这些开发情况后,就可以搜索三叶草、抽奖券代码,通过修改对应的代码达到三叶草数目无限、抽奖券变成自己想要的效果等。”


    对金融/政企用户,App的数据安全尤为重要,特别要注意被反编译、篡改、注入、日志泄露、数据泄露、键盘监听、界面劫持、截屏录屏等恶意行为;


    防患于未然才是最好的保护。

    利益相关,介绍下网易云易盾的加固保护产品:

    我云攻城狮2016年写过一篇文章,现在来看仍然适用:

    网易云:iOS App的加固保护原理

    虽然技术有更新,iOS 和 Android 的实现有所区别,但是核心逻辑和思路,大体是一致的。总之先了解破解的实现原理,再有针对性地加固APP,保证不被分析、破解。


    总结加固的思路如下:

    1. 字符串混淆:对应用程序中使用到的字符串进行加密,保证源码被逆向后不能看出字符串的直观含义。
    2. 类名、方法名混淆:对应用程序的方法名和方法体进行混淆,保证源码被逆向后很难明白它的真正功能。
    3. 程序结构混淆加密:对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低。
    4. 反调试、反注入等一些主动保护策略:这是一些主动保护策略,增大破解者调试、分析APP的门槛。

    感兴趣的朋友可以点这里免费试用