-安装好theos框架之后,下面用一个简单的例子进行说明编译过程

-新建一个代码目录

-进入terminal,cd到刚才的目录中

1、进入目录

2、执行/opt/theos/bin/nic.pl

3、选择模板11

4、输入你的插件名字 wechat_hook

5、输入你公司的名字 com.tencent.xin,名字随意

6、输入作者的名字,author 随意

7、输入你的插件需要Hook的目标App Bundle ID ,微信的是 com.tencent.xin

8、输入安装时需要结束进程的App Bundle ID,这里直接Enter跳过

执行完毕之后你将看到目录:



-进入terminal,cd 到 wechat_hook中



1、执行make指令之后你很可能看到错误

'''

Makefile:1: /makefiles/common.mk: No such file or directory

Makefile:6: /tweak.mk: No such file or directory

make: *** No rule to make target `/tweak.mk'. Stop.

'''

这个是因为路径不对,需要在终端中添加默认环境变量

-解决编译错误,在终端中输入,export THEOS=/opt/theos

-将Tweak.xm修改为下面的代码

'''

%hook ClassName

// Hooking a class method

  • (id)sharedInstance {

    return %orig;

    }

// Hooking an instance method with an argument.

  • (void)messageName:(int)argument {

    %log; // Write a message about this call, including its class, name and arguments, to the system log.

    %orig; // Call through to the original function with its original arguments.

    %orig(nil); // Call through to the original function with a custom argument.

    // If you use %orig(), you MUST supply all arguments (except for self and _cmd, the automatically generated ones.)

    }

// Hooking an instance method with no arguments.

  • (id)noArguments {

    %log;

    id awesome = %orig;

    //[awesome doSomethingElse];

    [awesome performSelector:@selector(doSomethingElse)];

    return awesome;

    }

// Always make sure you clean up after yourself; Not doing so could have grave consequences!

%end

'''

-然后make

如果看到下面的结果表明编译成功了


如果你觉的有帮助,请赞赏一点点(1元,2元,5元),多了不要,买瓶水喝。

代码地址:https://github.com/liqiushui/WeChatTweak

微信iOS消息拦截插件教程-第一个tweak编译过程的更多相关文章

  1. 微信iOS消息拦截插件教程-Tweak HelloWorld

    微信iOS消息拦截插件教程-Tweak HelloWorld 标签(空格分隔): 越狱开发教程 1.环境准备 准备一台越狱的手机,具体参照上一篇教程 搭建Theos越狱开发环境 2.开发过程 新建一个 ...

  2. iOS 微信消息拦截插件系列教程-(总目录)

    微信iOS消息拦截插件教程 标签: 越狱开发 背景介绍 本教程所有内容免费 本教程来源于一次知识分享,如果有需要了解更多的 请联系QQ:480071411 iOS逆向高级开发群:375024882 1 ...

  3. iOS 微信消息拦截插件系列教程-附录(服务端成果展示)

    微信iOS消息拦截插件教程 标签: 越狱开发 背景介绍 本教程所有内容免费 本教程来源于一次知识分享,如果有需要了解更多的 请联系QQ:480071411 iOS逆向高级开发群:375024882 服 ...

  4. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  5. Unity3D与iOS消息交互方法(1)--iOS接收Unity3D发出的消息

    跨平台这种事情不管多NB, 总要有些与原生系统交互的方法, 比如  Unity3D与iOS消息交互方法. 一: 建立一个空的Unity工程. File -->  New Project 二: 编 ...

  6. C#微信公众号开发系列教程三(消息体签名及加解密)

    http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...

  7. C#微信公众号开发系列教程五(接收事件推送与消息排重)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  8. C#微信公众号开发系列教程四(接收普通消息)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  9. 开发openfire 消息拦截器插件PacketInterceptor

    开发消息拦截器的步骤跟开发简单插件步骤一样,要开发消息拦截器插件,首先继承PacketInterceptor包拦截类,然后在initializelPlugin()方法中注册拦截器,就可以实现inter ...

  10. iOS 9 Safari广告拦截插件

    相对于谷歌对广告拦截的禁止,苹果与之态度截然相反,继Mac版Safari加入广告拦截工具之后,即将到来的iOS9对Safari也引入了内容拦截插件-Content Blocker,并且开发者可以使用最 ...

随机推荐

  1. 填报表中也可以添加 html 事件

    在实际的项目开发中,填报表的应用十分广泛. 多数情况下,填报表会作为整个项目的一部分配合需求灵活使用,但有时也会受大项目环境的影响,产生一些特别的要求.比如,通常报表单元格的数据类型大多是文本,有时却 ...

  2. 从零开始写 Docker(十一)---实现 mydocker exec 进入容器内部

    本文为从零开始写 Docker 系列第十一篇,实现类似 docker exec 的功能,使得我们能够进入到指定容器内部. 完整代码见:https://github.com/lixd/mydocker ...

  3. Redis 性能优化实战

    Redis 作为内存数据库,其性能表现非常出色,单机 OPS 很容易达到 10万以上,这主要得益于其高效的内存数据结构.单线程无锁设计.IO 多路复用等技术实现.但是在线上生产环境的使用中,我们仍然会 ...

  4. 在RockyLinux 9.2环境中编译CockroachDB 23.1

    目的 CockroachDB自 23.1开始,编译模式逐步放弃了Makefile,改用Bazel构建.实际上在23.1代码执行make buildshort 能够成功,但make build应该就会因 ...

  5. 顺通ERP:精细敏捷的设计理念,得到了消费者的喜爱

    顺通ERP是近年来备受关注的一款ERP品牌,其设计精细,操作便捷,备受消费者喜爱.那么,顺通ERP到底怎么样呢?属于什么档次呢? 首先,从品质上来看,顺通ERP具备高度的稳定性,能够确保企业的日常运营 ...

  6. 【笔记】go语言--函数式编程

    [笔记]go语言--函数式编程 简单来说,go语言的函数式编程体现的是一个闭包的情况 函数式编程 VS 函数指针 函数是一等公民:参数,变量,返回值都可以是函数 高阶函数 函数->闭包 &quo ...

  7. watch对比computed

    总结:      computed和watch之间的区别:             1.computed能完成的功能,Watch都可以实现             2.watch能完成的功能,comp ...

  8. 我们为什么要做 SoloPi

    SoloPi现状 去年(2019年)7月份,蚂蚁集团正式对外开源了客户端自动化测试工具 SoloPi ,其主要包括三大模块:录制回放(用于功能测试).性能工具(用于性能测试)以及一机多控(服务于兼容性 ...

  9. 学习 Avalonia 框架笔记 如何创建一个全屏置顶的 X11 应用窗口

    本文记录我从 Avalonia 框架里面学到如何创建一个全屏置顶的 X11 应用窗口的方法 开始之前,先从 Avalonia 或 CPF 里面拷贝足够的代码,这部分代码可以从本文末尾找到下载方法 设置 ...

  10. CSS属性继承问题,那些会被继承,哪些不继承?

    总的来能被继承的就是三大类 一,字体有关的的,font-开头的 二,文本有关的,text- 开头的 三,visibility , cursor 其它的基本都是不能被继承 比如说这个,你以为它继承了ma ...