美文网首页
Logos基本语法

Logos基本语法

作者: 幻想无极 | 来源:发表于2019-06-20 10:02 被阅读0次

    %hook

    指定需要hook的class,必须以%end结尾。
    例:

    %hook SpringBoard
    -(void)_menubuttonDown:(id)down {
          NSLog(@"You've pressed home button.");
          %orig;//call the original _menuButtonDown;
    }
    %end
    

    %log

    在%hook内部使用,将函数的类名、参数等信息写入syslog。
    例:

    %hook SpringBoard
    -(void)_menubuttonDown:(id)down {
          %log((NSString *)@"iOSRE",(NSString *)@"Debug");
          %orig;//call the original _menuButtonDown;
    }
    %end
    

    %orig

    在hook内部使用,执行被hook的函数的原始代码。
    例:

    %hook SpringBoard
    -(void)_menubuttonDown:(id)down {
          NSLog(@"You've pressed home button.");
          %orig;//call the original _menuButtonDown;
    }
    %end
    

    如果去掉%orig,那么原始函数将不会得到执行。
    %orig还可以用来更改原始函数的参数。
    例:

    %hook SBLockScreenDateViewController
    -(void)setCustomSubtitleText:(id)arg1 withColor:(id)arg2 {
          %orig(@"iOS 8 App Reverse Engineering",arg2);
    }
    %end
    //这个方法会改变锁屏界面的日期显示
    

    %group

    将%hook分组,便于代码管理和按条件初始化分组,必须以%end结尾,一个%group可以包含多个%hook,所有属于未自定义的%group的%hook会被自动归类到%group _ungrouped中。
    例子:

    %group iOS7Class
    %hook SpringBoard
    -(void)_menubuttonDown:(id)down
    {
          NSLog(@"You've pressed home button.");
          %orig;//call the original _menuButtonDown;
    }
    %end
    %end
    

    %init

    用于初始化某个%group,必须在%hook或%ctor内调用;
    可以指定需要初始化的%group,否则将会初始化_ungrouped。

    %ctor

    tweak的constructor,完成初始化工作,如果不执行%ctor默认会生成一个%ctor并调用%init(_ungrouped),如果执行%ctor,则必须执行%init(group/_ungrouped)。
    例子:

    %group iOS7Class
    %hook SpringBoard
    -(void)_menubuttonDown:(id)down
    {
          NSLog(@"You've pressed home button.");
          %orig;//call the original _menuButtonDown;
    }
    %end
    %end
    %ctor
    {
          %init(iOS7Class);
    }
    //%ctor不需要以%end结尾
    

    %new

    在%hook内部使用,给一个现有class添加新函数。

    %c

    动态获取一个类的定义,在%hook或%ctor内使用。

    相关文章

      网友评论

          本文标题:Logos基本语法

          本文链接:https://www.haomeiwen.com/subject/tltdqctx.html