美文网首页
Logos 基本使用

Logos 基本使用

作者: Devil_Chen | 来源:发表于2019-01-27 16:14 被阅读0次

前言

  • Theos创建tweak工程,默认生成的源文件是tweak.xm,而Logos即是其所用的语法
  • 本文直接使用MonkeyDev创建项目演示Logos使用(MonkeyDev包含了Theos)
  • 查看Logos文档(当然要有英语基础啦)-->Logos文档

基本语法

Logos语法分为三大类

  • Block level
    这一类型的指令会开辟一个代码块,以%end结束。
    %group、%hook、% subclass 、 %end
  • Top level
    这个TopLevel指令不放在BlockLevel中。
    %config、%hookf、%ctor、%dtor
  • Function levell
    这一块的指令就放在方法中。
    %init、%class、%c、 %orig、%log

Logos语法常用指令

  • %hook
    指定需要hook(勾住)的class,必须以%end结尾。
  • %log
    能够输出日志,输出方法调用的详细信息,可以%log([(),…..])的格式追加其他打印信息。
  • %orig
    该指令在函数内部使用,表示调用原本的函数。
  • %group
    用于将%hook分组,便于代码管理及按条件初始化分组,必须以%end结尾。 一个%group可以包含多个%hook,所有不属于某个自定义group的%hook会被隐式归类到%group_ungrouped中。
  • %init
    该指令用于初始化某个%group,一般在%ctor内调用;如果带参数,则初始化指定的group,如果不带参数,则初始化_ungrouped。只有调用了%init,对应的%group才能起作用。
  • %ctor
    构造函数 Tweak的constructor,完成初始化工作;如果不显示定义,Theos会自动生成一个%ctor,并在其中调用%init(_ungrouped)
  • %dtor
    析构函数
  • %c
    类似getClass函数,获得一个类对象。一般用于调用类方法。
  • %new
    给hook的Class添加新函数

实践

hook登录按钮点击和增加方法

image.png image.png

分组%group

image.png image.png image.png

相关文章

  • Logos 基本使用

    前言 Theos创建tweak工程,默认生成的源文件是tweak.xm,而Logos即是其所用的语法 本文直接使用...

  • iOS 逆向开发21:Logos

    iOS 逆向开发 文章汇总 目录 一、Logos 简介 二、Logos 使用 三、使用 Logos 为 WeCha...

  • 逆向编程 Logos基本使用

    使用 Cycript 的时候,安装了 Monkey Dev, 用 Monkey Dev 新建的工程后,文件夹 xx...

  • Logos使用

    1.拿到某个对象的成员变量(拿到成员变量_arrSections,该变量类型为:NSMutableArray) M...

  • logos 使用

    官网可参考:链接 Logos语法其实是CydiaSubstruct框架提供的一组宏定义。便于开发者使用宏进行HOO...

  • Logos基本语法

    %hook 指定需要hook的class,必须以%end结尾。例: %log 在%hook内部使用,将函数的类名、...

  • 012——逆向之Logos语法

    在逆向开发中,我需要使用到Logos语法,便于我们逆向开发 Logos语法 1.新建Logos测试工程 2.找到L...

  • iOS逆向与安全6.1:Logos

    Logos Logos语法其实是CydiaSubstruct框架提供的一组宏定义。便于开发者使用宏进行HOOK操作...

  • Logos

    Logos Logos语法其实是CydiaSubstruct框架提供的一组宏定义,便于开发者使用宏进行Hook操作...

  • 学习笔记《心理学概论》- 绪论.2

    心理学是什么 名称解释psyche(灵魂) + logos(讲述) => psychology 心理学研究的基本...

网友评论

      本文标题:Logos 基本使用

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