14.反HOOK防护(二):Monkey
一、安装:MonkeyDev
安装完成后,重启Xcode,就可以看到有个MonkeyDev

二、重签名
创建一个MonkeyApp,我们看到目录下有个TargetApp,将需要重签名的ipa包或者app文件放进去。 并将Demo给为自己的一个可用的BundleID,运行即可!

三、Hook:Logos语法

我们可以看到这个文件,没有高亮。

在这里改一下类型为ObjectiveC++Source,切换一下文件就可以了。
3.1 试着Hook上一篇中我们做了防护的项目
这里我们准备Hook
ViewController的actionA
a. 将编译出的app文件放进TargetApp目录下
b. 用Logos语法写Hook代码
就这么简单!
c. 运行查看Log
虽然我们的防护代码检测到了Hook,但是依然成功了。
d. 思考
这里我们使用反HOOK防护(一)中的技术去进行防护,并没有成功防护到Monkey的Hook。我们大概可以推测出:它使用的是Set和Get进行的Hook!
下面我们针对Set Get进行一下防护验证我们的想法!
四、Set/Get Hook防护
这里我们简单修改下防护代码。
4.1 防护成果
可以看到我们的set/get防护代码被触发了,并且输出了点击按钮输出了正确的Log! 防护成功!也验证了我们的想法:Monkey的Hook是基于Get/Set的
Last updated
Was this helpful?