0x24 敏感逻辑的保护方案

注:原文---念茜的博客

Objective-C代码容易被hook,暴露信息太赤裸裸,为了安全,改用C来写吧!

0x24 敏感逻辑的保护方案_第1张图片

当然不是全部代码都要C来写,我指的是敏感业务逻辑代码。

本文就介绍一种低学习成本的,简易的,Objective-C逻辑代码重写为C代码的办法。

也许,程序中存在一个类似这样的类:

0x24 敏感逻辑的保护方案_第2张图片

被class-dump出来后,利用Cycript很容易实现攻击,容易被hook,存在很大的安全隐患。

想改,但是不想大改程序结构,肿么办呢?

0x24 敏感逻辑的保护方案_第3张图片

把函数名隐藏在结构体里,以函数指针成员的形式存储。

这样做的好处是,编译后,只留了下地址,去掉了名字和参数表,提高了逆向成本和攻击门槛。

改写的程序如下:

0x24 敏感逻辑的保护方案_第4张图片
0x24 敏感逻辑的保护方案_第5张图片

最后,根据Xcode的报错指引,把以前这样的调用

就可以了。

是的,绝不费一点脑子。

你可能感兴趣的:(0x24 敏感逻辑的保护方案)