iOS应用安全之代码混淆实现篇

本文详细介绍了iOS应用安全中的代码混淆实现,包括关键字提取、过滤加密保留字、替换工程关键字、属性设置方法混淆和文件名混淆等步骤。强调了混淆过程中需要注意的系统保留字、工程名称和子目录名称等问题,以确保混淆后程序的正常运行。
摘要由CSDN通过智能技术生成

1.iOS应用安全之代码混淆设计篇

2.iOS应用安全之代码混淆实现篇


针对设计篇描述的大致思路,现在针对各个问题点,给出实现方法

该脚本大致使用的工具如下:vi、grep、sed、find、awk、cut、sort、uniq、cat、md5等。

针对要加密的内容,分别给出关键字提取脚本命令。

脚本中$ROOTFOLDER代表工程根目录,$EXCLUDE_DIR 代表要排除的目录,举例如下:

ROOTFOLDER="demoProject"
EXCLUDE_DIR="--exclude-dir=*.framework --exclude-dir=include --exclude-dir=libraries --exclude-dir=Libs --exclude-dir=lib"

关键字提取

1.文件名

第一步先将包含路径的文件名写入文件

find $ROOTFOLDER -type f | sed "/\/\./d" >f.list

第二步文件中提取文件名

cat f_rep.list | awk -F/ '{print $NF;}'| awk -F. '{print $1;}' | sed "/^$/d" | sort | uniq

但从文件名提取的功能上,上面两个步骤完全可以合并为一步,但是在实际功能实现中还是要求将上面分为两步的


2.类名

grep -h -r -I  "^@interface" $ROOTFOLDER  $EXCLUDE_DIR  --include '*.[mh]' | sed "s/[:(]/ /" |awk '{split($0,s," ");print s[2];}'|sort|uniq

其中sort,排序;uniq 去除重复的


3.协议名

grep -h -r -I  "^@protocol" $ROOTFOLDER  $EXCLUDE_DIR  --include '*.[mh]
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值