【ios逆向】Theos使用

  • Post author:
  • Post category:其他




1、Theos简介

Theos是一款越狱开发工具包,是ios逆向开发工具。



2、Theos安装

2.1、下载Theos,指定安装路径,官方建议放在/opt/目录下

export THEOS=/opt/theos

2.2、下载Theos到指定目录

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

终端操作.png

期望结果.png

2.3、配置Idid

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

安装ldid.png

安装位置.png

brew install ldid

2.4、配置dpkg-deb

deb是越狱开发包的标准格式,dpkg-deb是个用于操作deb文件的工具,有了这个工具,Theos才能正确的把工程打包成deb文件。与ldid 相同目录

brew install dpkg



3、Theos使用

3.1、打开终端,cd到存放工程的目录,键入命令

命令行.png

目标结果.png

3.2、工程目录介绍



control:

Package: com.mycompany.GCTheos
Name: GCTheos
Depends: mobilesubstrate
Version: 0.0.1
Architecture: iphoneos-arm
Description: An awesome MobileSubstrate tweak!
Maintainer: Geeks_Chen
Author: Geeks_Chen
Section: Tweaks

control文件主要是项目相关的信息,项目名称、版本、开发者信息,这个文件是系统自动生成的,没有特俗情况,不要改动。



GCTheos.plist:

plist文件结构.png

主要是我们要逆向的app的bundle ID



Makefile:

THEOS_DEVICE_IP = 192.168.0.103
ARCHS = armv7 armv7s arm64
TARGET = iphone:latest:8.0

include $(THEOS)/makefiles/common.mk

TWEAK_NAME = Test3
Test3_FILES = Tweak.xm
Test3_FRAMEWORKS = UIKit

include $(THEOS_MAKE_PATH)/tweak.mk

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

Makefile文件主要是设置工程需要用到的文件、框架、库等信息。
GCTheos_FILES 设置工程需要引用的文件,如果还需要加入一些自己写的文件,多个文件用空格分隔:

GCTheos_FILES = Tweak.xm test1.m test2.m

GCTheos_FRAMEWORKS设置工程需要引用的第三方库,多个库之间用空格隔开:
GCTheos_FRAMEWORKS = UIKit UIFoundation



Tweak.xm:

这个文件就是体现我们价值(我们进行逆向开发编写代码)的地方。



4、Theos的编译和安装

当我们完成逆向开发代码的编写,接下来需要编译,安装

cd到项目目录,执行

make package install

命令行执行结果.png

输入两次密码,执行ok



可能出现的问题:

1、
代码写错了.png

2、
通过SSH安装可能出现的错误.png

3、
编译可能出现的错误.png

终端执行:export THEOS=/opt/theos,再编译



5、成功后的界面

hook成功.PNG

deb文件.PNG

目标app test2.PNG



说明:

Tweak代码.png

test2程序代码.png

用户进入test2App,然后点击屏幕,这时候会弹框,跳转我的简书。



版权声明:本文为qq_31942007原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。