最近在研究一款app,这个app首先会加载一个防护framework,会检测越狱,重签名,注入等。
解决了上述这些问题后,使用dobby对系统函数open进行hook,hook成功立刻就被检测到了。
目前想法是把自己的代码在防护模块加载之前加载,然后对相应的检测代码做处理。请问大家像这种检测是如何检测到dobby这种inlinehook的?而且应该是全局函数都检测的
最近在研究一款app,这个app首先会加载一个防护framework,会检测越狱,重签名,注入等。
解决了上述这些问题后,使用dobby对系统函数open进行hook,hook成功立刻就被检测到了。
目前想法是把自己的代码在防护模块加载之前加载,然后对相应的检测代码做处理。请问大家像这种检测是如何检测到dobby这种inlinehook的?而且应该是全局函数都检测的
inlinehook检测函数头就可以了吧
那如何防止检测到呢
先搞明白到底是怎么检测的,再来研究怎么防检测
不用inline hook,用fishook或者用单指令hook 返回
什么软件 我想试试
hook method_exchangeImplementations method_setImplementation 这些方法,对这些方法,进行hook
原方法 : xxxxxxa
新方法 : aaaaaaaaaaaaa
hook method_exchangeImplementations 可以拿到 原方法,和新方法,同时,hook 住 新方法
意思是拿到新方法 再hook新方法???
那个不就是 真方法么?只是运行后,才替换掉 常规的显示的方法么
说白了,常规显示的方法,只是个壳子,如果一点不调用的话,那么纯粹就一个 一堆nop。
所以,所有oc的绝大部分方法,在未执行前,都可以是 一堆nop,运行前,利用运行时把他的实现 设置成目标 函数 就ok了。
1,检测当前的函数的地址,是否在安全范围
2,检测堆栈,是否有奇怪的地址的函数
3,检测函数头,是否被修改,比如改成 b…等跳转系列
4,对dobby的特征进行检测…具体分析,具体得结论。
5,对函数的某些地方,做crc校验
…
还有很多吧…目前我只能想到这么多,你看着撸
好想把大招放出来, 自动 bypass crc 检测的
大佬,快放出来
等待大佬的开源
借楼咨询一下大佬,Dobby 在非越狱的 iPhone 上可不可以在不启动 Xcode debug 的情况下进行 inlinehook?我自己测试了一下好像不行,所以我想请教一下是否支持在非越狱的 iPhone 上没有 debug 情况下进行 inlinehook
这个问题 再问就没意思了?
感谢
开源就不指望了。啥时候放个过crc的成品库也好啊