iOS混淆代码

混淆代码之前class-dump下代码。如图,发现方法名称完美的暴露了。

混淆之前

混淆之后,发现syn_loginWithName:password:方法名变成了毫无意义的名称。

混淆之后

好,混淆的作用已经演示清楚。那么接下来就说说如何实现混淆。


方式一

第一步:建立测试项目,同时新建一个confuse.sh、一个func.list文件。如图:

第二步:将新建的两个文件拖到项目中。如图:

第三步:将iOS安全攻防(二十三):Objective-C代码混淆 - 博客频道 - CSDN.NET 这篇文章中的脚本代码拷贝到confuse.sh文件中。如图:

拷贝代码

第四步:建立一个.pch文件,并添加代码。(现在的项目都不会自动创建这个文件了)

一:新建一个Header File文件,如图:

新建TestConfusion-Prefix.pch文件

二:在项目中配置一下:

配置.pch文件

三:在.pch文件中添加如下代码:(这个头文件的引入要写在最上面)

第五步:配置 Build Phase,并添加 Run Script

添加Run Script

添加完成后要赋予该文件权限。打开终端,cd到项目根目录并执行该命令:

chmod 755 confuse.sh

好了,回到项目command + b 编译一下,会发现报错。

报错

这时要注释.pch文件中 刚刚添加的那句话:

注释

再编译一下,会发现编译成功。编译成功后,在把刚刚注释的地方打开,再次编译,提示编译成功。

大功告成,混淆代码要做的准备工作已经完成。接下来就是配置你要混淆的函数名和变量名了。

第六步:混淆

假设我们要混淆图中的两个地方,那么我们就要在func.list文件中配置好。

配置func.list

编译项目,如图:

混淆代码成功

接着验证一下是否真的混淆成功了。

将项目打包,并class-dump下,发现方法名和属性名变了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值