Logos

logos(CydiaSubstruct框架):http://iphonedevwiki.net/index.php/Logos

非越狱机上主要是通过动态库的注入来修改程序。在越狱机上是把CydiaSubstruct框架导入到手机上

%hook (%end结束)

开始hook


%group、%ctor、%init

%group组,%ctor构造函数, %init初始化

  • 对于没有写group的,它会有个隐士的”_ungrouped”group
  • 定义多少个group必须在构造函数中初始化几个,初始化是后面覆盖前面的

%new、%c

就是新增一个方法。%c相当于objc_getClass或NSClassFromString

注意:

在调用类方法是用[%c(Myclass Leifunc]; 如果直接用[Myclass Leifunc];  会报错

  •  self.view提示没定义,把class-dump的头文件复制到上面或者单独写到HookHeader文件中
  • + (void)myClassMethod要复制到上面或者单独写到HookHeader文件中

%log


%orig

调用之前的方法(调用自己)


MSHookIvar: 拿到对象的成员变量 (如果不想引用的话),记得<xx*> 不然可能变错


Hook第三方类多个方法?

通过Monkey/thoes/logify, 在~/.bash_profile配置下PATH路径为/opt/theos/bin/

logify通过命令执行

然后编译下处自动生成一个xxxxa.mm文件,把xxxxa.mm,但是错误就一堆了

解决:

  1. 通过class-dump把所有的头文件导入到monkey中 然后在引用的地方引用xxxxa.mm
  2. 通过Monkey/Config/

发表回复

电子邮件地址不会被公开。 必填项已用*标注

Protected with IP Blacklist CloudIP Blacklist Cloud