注:原文---念茜的博客
Objective-C代码容易被hook,暴露信息太赤裸裸,为了安全,改用C来写吧!
当然不是全部代码都要C来写,我指的是敏感业务逻辑代码。
本文就介绍一种低学习成本的,简易的,Objective-C逻辑代码重写为C代码的办法。
也许,程序中存在一个类似这样的类:
被class-dump出来后,利用Cycript很容易实现攻击,容易被hook,存在很大的安全隐患。
想改,但是不想大改程序结构,肿么办呢?
把函数名隐藏在结构体里,以函数指针成员的形式存储。
这样做的好处是,编译后,只留了下地址,去掉了名字和参数表,提高了逆向成本和攻击门槛。
改写的程序如下:
最后,根据Xcode的报错指引,把以前这样的调用
就可以了。
是的,绝不费一点脑子。