问答详情
源自:6-5 完整流程

如何解决android、ios密钥等常量存储不被反编译问题

如题,如何去防止反编译或者是比较好的保存常量

提问者:慕UI148797 2020-04-10 11:11

个回答

  • 马超老师
    2021-07-25 18:11:49

    同学您好,这个就属于进阶课程的内容了,简单说可以通过动态链接库或者Framework来解决。

    首先要清楚我们加密的目的不是让其他人无法破解,而是通过使用尽可能低的成本来最大程度提高破解门槛;

    然后对于Java/Kotlin以及OC/Swift而言,逆向是非常简单的事情,所以我们认为破解难度低;

    基于此最简单的操作就是将涉密代码,包括同学提到的密钥等常量通过C/C++等Native语言编写,以so/framework的形式打包到安装包中,这样我们的开发成本并不会高很多,但是对于C的逆向门槛要求会比较高,这是最常见的解决方法。

    当然在对C/C++打包之后还会有一些引申问题,比如二次打包、签名校验等等,如果有兴趣欢迎随时找我探讨交流