iOS插件tweak编写


前言

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

  1. Reveal的下载安装与简单使用
  2. icdump用于头文件提取
  3. 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混合开发的情形。目前有工具icdumpresymbol
运行之后,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即可
接下来在填写选项时,

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

tweak编写

参考https://www.jianshu.com/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://www.mbo42.com/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

最后成功去除了文字部分,如下图所示。
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值