iOS逆向 -- Theos-tweak安装实战

本文详细介绍了Theos的安装过程,包括环境变量配置、ldid安装等关键步骤,以及如何利用Theos进行动态分析实战,具体演示了在虎牙APP中hook登录按钮的方法。

一、Theos 安装

Theos-wiki 上有比较详细的介绍,下面我简单记录一下自己的安装过程:

1.在 ~/.bash_profile下添加环境变量

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

如果没有/opt/theos ,自行创建。

2. 环境变量添加成功后 执行 ,(如果环境变量不好使 source 一下)

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

 --recursive 这个参数必不可少,表示递归调用。

其实对使用最关键的就是 /opt/theos/bin/nic.pl文件,配置完环境变量后我们就可以 直接调用 nic.pl

3.安装ldid ,Idid用来专门签名iOS可执行文件的工具,用以在越狱iOS中取代Xcode自带的codesign。

brew install ldid

安装就先告一段落了 ,接下来动态分析

二、动态分析实战

首先usb连接手机,并ssh登录手机。

ps -A 找到虎牙进程 

18107 ??         0:05.59 /var/mobile/Containers/Bundle/Application/F378B195-0C4B-43D0-BEF7-457088276651/kiwi.app/kiwi

然后cycript 依附进程

cycript -p 18107

声明自己的 cy文件 @import com.evol 这里不懂的要翻一下之前章节 自定义cy文件。

1. 获取elappid = @"com.yy.kiwi" 这里保存一下,后来要用。

2. elcurrentvc() 获取当前ViewController <HYRootViewController: 0x12e576e80>

3.elview(#0x12e576e80.view)获取当前视图层级

4.搜索登录的Unicode编码

定位到该按钮<UIButton: 0x130121d10>

这里可以用# 0x130121d10.hidden=true 来验证一下。

5.

通过以上几步 获取到按钮的点击事件 

也就是我们要hook的类HYLoginViewController 及方法loginButtonClick:

三、Hook

在mac的终端执行 nic.pl,该目录不能有汉字最好 (已经配置了环境变量)

 然后就会生成

接下里修改 Makefile 文件

export THEOS_DEVICE_IP = 127.0.0.1
export THEOS_DEVICE_PORT = 12345

include $(THEOS)/makefiles/common.mk

TWEAK_NAME = HuYa
HuYa_FILES = Tweak.xm

include $(THEOS_MAKE_PATH)/tweak.mk

after-install::
	install.exec "killall -9 SpringBoard"

因为我这里使用的是USB链接 并将端口映射了12345 所以是这样的

export THEOS_DEVICE_IP = 127.0.0.1
export THEOS_DEVICE_PORT = 12345

这两个字段 可以直接配置到环境变量里面去 就不用每次都写了

接下来修改Tweak.xm文件 先将所有注释清空

%hook HYLoginViewController
- (void)loginButtonClick:(id) sender {
   UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hook is coming" message:nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
   [alert show];
}
%end

我这里是添加了一个 Alert 提示 Hook is coming 

然后 终端cd到该目录下 执行

 make package install

过一会儿你的手机便会重启,再次打开虎牙登录界面点击 登录 便会弹出Alert。

 

用MonkeyDev 写tweak 基本差不多 ,就不介绍了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值