ios混淆

2018-04-27  本文已影响0人  SumClouder

阅读本篇文章,需要先会class-dump. O(∩_∩)O谢谢。推荐San心两yi_钟的安装步骤

先大致解释一下“编译"、"反编译":

编译:就是把千千万万行字符串(也叫代码,或者源文件),变成010101010101(机器码,也叫目标代码)

编译过程:预处理-编译-汇编-链接

我的脚本运行在预处理阶段。

反编译:就是把0101010111110001100(机器码,也叫目标代码),变成千千万万行字符串(也叫代码,或者源文件)

      将自己定义的方法名全部添加一个前缀。

    例如 “hsk_funtion1”; “hsk_funtion2”;“hsk_funtion3”;

在Xcode-->Target--->Build Phases--->添加Run Script

添加Run Script

通过class-dump 反编译之后:Appdelegate 效果

codeObfuscation.h宏定义文件、confuse.sh脚本文件、func.list函数列表文件的关系。

程序每次预处理,都就会执行confuse.sh,从.m和.h文件中按照"一定的规则"抽取需要混淆的函数名,全部写到func.list中,然后再从func.list中逐行提取函数名进行宏定义,宏定义使用随机字符串,然后写到codeObfuscation.h文件中。

func.list函数列表抽取,和宏定义是脚本自动完成,不需要手动抽函数和手动宏定义呢。

上一篇 下一篇

猜你喜欢

热点阅读