irpas技术客

iOS插件tweak编写_ios tweak_beizishaizi

irpas 4423

文章目录 前言一、Reveal的使用下载安装简单使用 二、头文件提取icdump安装使用 三、tweak编写Theos安装tweak编写


前言

这篇文章介绍了两方面内容:

Reveal的下载安装与简单使用icdump用于头文件提取tweak编写
一、Reveal的使用

Reveal可以调试app任意界面。

下载安装

电脑端: 1.官网下载,但是只有试用期

https://revealapp.com/download/

2.使用旧版破解版,下述链接中配有百度网盘旧版

https://juejin.cn/post/6909716520490762248

手机端: 在Cydia应用中搜索Reveal2Loader,进行安装即可。进入设置中,找到Reveal,点击 Reveal,进入 Enabled Applications 打开允许调试的 APP即可

简单使用

电脑端打开Reveal应用,手机端重启需要调试的APP,然后在Reveal应用中选择usb连接的应用图标打开。

图可分为三列,对中间一列可以通过鼠标控制进行旋转,选择目标点击之后,就会在左右跳出相关类。在右边的NSObject中class就是view类,还有上面的View Controller中也说明了是哪个类。

二、头文件提取

通过Reveal获取目标类名之后,需要获取类中方法。class-dump无法应用oc/swift混合开发的情形。目前有工具icdump和resymbol 运行之后,icdump的效果好一点,resymbol提取的话乱码较多。 提取头文件之后就可以获取方法名,为下一步编写tweak做准备。

icdump安装使用

安装以及提取头文件命令如下,executable表示ios app脱壳之后的可执行文件。

pip3 install icdump readobjc.py executable > headers.txt 三、tweak编写

tweak本质上是iOS平台的动态库,存放于/Library/MobileSubstrate /DynamicLibraries目录下。这个目录下除dylib外还存在着plist与bundle两种格式的文件,plist文件是用来标识该tweak的作用范围,而bundle是tweak所用到的资源文件。

Theos安装

Theos 是一个不需要使用Xcode,就能管理,开发和部署iOS软件的跨平台开发工具 参考下述链接,简单缩短为下述4条命令

http://darren90.github.io/2019/02/12/2019JailBreak/iOS-逆向%3C7%3E-Theos的安装及Tweak项目介绍/

1.安装ldid

brew install ldid

2.修改配置文件~/.bash_profile

export THEOS=/opt/theos export PATH=$THEOS/bin:$PATH

修改之后,执行source ~/.bash_profile即可。

3.下载theos

git clone --recursive https://github.com/theos/theos.git $THEOS

4.新建tweak项目 命令行下执行

nic.pl

然后选择iphone/tweak即可 接下来在填写选项时,

package name: 表示插件tweak的包名。[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: 是目标app包名,不可填错。 其他选项可以任意填写或直接回车即可 tweak编写

参考https://·/p/6c0a4b1492eb,其中介绍了theos的一些语法。 根据Reveal中定位出来的class名字,再配合icdump的结果 选择上图中选中的方法进行修改,目的是不显示文字部分只显示图片部分。 tweak.x代码如下(这里需要注意icdump的结果,在参数部分不一定准确,可以配合IDA或者Hopper查看)

#import <objc/NSObject.h> #import <Foundation/Foundation.h> #import <SpringBoard/SpringBoard.h> %hook SOSquareTimelineTextView - (NSObject *)initWithFrame:(struct CGRect)arg2{ return nil; } %end %ctor{ NSLog(@"ctor执行-------------"); } %dtor{ NSLog(@"dtor结束-------------"); }

上述代码是针对OC函数,但是目前swift/oc混合开发情况,对swift函数来编写tweak实现hook,可参考如下链接

https://·/2018/04/01/hooking-swift-methods/ https://github.com/623637646/SwiftHook https://kunnan.github.io/2018/06/06/hooking-swift-methods/

然后,在tweak所在目录下,依次执行下述三条命令即可

1. make 2 .make package 3. make install

最后成功去除了文字部分,如下图所示。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #iOS #tweak