iOS防护01-restrict禁止加载动态库_已失效

一.简介

restrict [ri'strikt]

  • vt. 限制;约束;限定

在dyld源码中,dyld会判断mach-o的segments中判断是否有restrict这个字段.
如果有的话,那么就不会加载DYLD_INSERT_LIBRARIES环境变量的动态库.
所以可以在程序中加入restrict这个字段

二.使用

  1. 在xcode -> build settings -> Other Link Flags 添加-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null标记即可.
  2. 使用machoview即可看到load commands中多了__RESTRICT,__restrict字段.

三.破解

使用machoview或者二进制修改工具,修改__restrict字段即可.
然后重签名,运行.

四.防破解

+ (void)load方法中,调用dyld源码hasRestrictedSegment函数判断是否修改了__restrict字段.

五.注意

iOS10以后,苹果在dyld中就不在检测__restrict字段,所以这样的防护已经失效.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 01.杂货铺出现了 这天傍晚,天气阴沉沉,太阳公公好像很快就要下山了,冬天的冷风总是沿着七七的羽绒服的下摆吹进她的...
    Dmammoth阅读 266评论 0 0
  • 主持人:一叶 地点:待定 时间:五月三号10:00—12:00 流程: 1、每个人一分钟自我介绍并介绍一款最喜欢的...
    一叶秋红阅读 463评论 0 0
  • (rap) 春和秋的天空, 清爽又湛蓝。 没有冰天雪地, 没有烈日炎炎。 . 轻风拂过, 好像被春亲吻了脸颊。 生...
    Voyageur_0709阅读 98评论 0 2