个人原创,转帖请注明来源:cnblogs.com/jailbreaker
上一篇帖子,讲到使用iOSOpenDev开发基于Theos的Tweak,功能Hook了SpringBoard的
-(void)applicationDidFinishLaunching:(id)application。
先简单讲一下Hook,Hook中文翻译为“钩子”,非常形象,以之上一篇帖子为例子,我们借助Substrate来Hook的,iOS设备运行到applicationDidFinishLaunching方法时候,我们钩住了执行流,而且让设备运行我们自己的实现代码。另外,Hook不是iOS特有的,是一种“补丁技术“,在没有源码的时候,我们可以使用Hook来达到我们的目的,任何操作系统平台都有各种Hook方式,不局限于iOS。
上一篇帖子的代码中有%开头的语句,这个就是Theos的Logos预处理指示指令,英文文档不长,语法简单,我这里不详解了。
详细的文档说明在http://iphonedevwiki.net/index.php/Logos