[从基础学逆向]4. Cydia Substrate

它是一个框架,允许第三方开发者在越狱系统的方法里打一些运行时补丁和扩展一些方法,是越狱开发的基石。

包含三个主要模块:

  1. MobileHooker
  2. MobileLoader
  3. Safe mode

MobileHooker

用于替换系统和应用的方法。提供了MSHookMessageEx来hook OC函数,MSHookFunction来hook C函数。

MobileLoader

用于将第三方动态库加载到运行的目标应用里面。

  1. 它首先通过环境变量DYLD_INSERT_LIBRARIES把自己加载到目标应用里。
  2. 查找/Library/MobileSubstate/DynamicLibraries/ 目录下所有plist,如果plist配置作息符合当前运行的应用,就会通过dlopen函数打开对应的dylib文件。

Safe mode

当一个扩展在SpringBoard崩溃,MobileLoader 会进入设备的安全模式捕捉并且处理。在安全模式下,所有的第三放扩展将失效。

所以当插件导致异常崩溃,可进入safe mode然后将其卸载。

你可能感兴趣的:([从基础学逆向]4. Cydia Substrate)