很多博客都提供如下防止动态库注入的方法:
Xcode build setting 项 OTHER_LDFLAGS中配置'-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null'。
该方法其实仅限于iOS10以下系统可防止App被注入dylib,在iOS10以上已经不起作用了。
而且亲测在Xcode9.4.1以上配置该项,打出来的Release包在iOS9.3.5以下版本会crash,看奔溃日志是报以下错误信息:
dyld: Library not loaded: @rpath/libswiftCore.dylib
这非常具有迷惑性,一开始直接网上搜索错误信息,被网上铺天盖地的关于上面错误解决办法带偏了。
而且还发现一个问题,在OC于Swift混编的情况下,设置ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES,打出来的包会crash(Xcode10.0)。
以下链接是给出了几种App加上防注入的几种方法
https://pewpewthespells.com/blog/blocking_code_injection_on_ios_and_os_x.html