美文网首页
theos-tweak 简单认知

theos-tweak 简单认知

作者: wesk痕 | 来源:发表于2022-07-26 21:40 被阅读0次

一步一步学逆向
theos-tweak 应该是我们动态分析中,最为常用的工具了。 先做个简单介绍。

准备: 越狱的iPhone手机

theos的安装

从github下载theos,将theos-master文件名改为theos放在 /opt/文件下,如下:

image-20220726212035860.png

theos 使用命令:

创建工程:nic.pl

➜  ios /opt/theos/bin/nic.pl
NIC 2.0 - New Instance Creator
------------------------------
  [1.] iphone/activator_event
  [2.] iphone/activator_listener
  [3.] iphone/application_modern
  [4.] iphone/application_swift
  [5.] iphone/control_center_module-11up
  [6.] iphone/cydget
  [7.] iphone/flipswitch_switch
  [8.] iphone/framework
  [9.] iphone/library
  [10.] iphone/notification_center_widget
  [11.] iphone/notification_center_widget-7up
  [12.] iphone/preference_bundle
  [13.] iphone/preference_bundle_swift
  [14.] iphone/theme
  [15.] iphone/tool
  [16.] iphone/tool_swift
  [17.] iphone/tweak
  [18.] iphone/tweak_with_simple_preferences
  [19.] iphone/xpc_service
  [20.] iphone/xpc_service_modern
Choose a Template (required): 18
Project Name (required): bwlTest
Package Name [com.yourcompany.bwltest]: com.wesk.bwltest
Author/Maintainer Name [wujian]: weskhen
[iphone/tweak_with_simple_preferences] MobileSubstrate Bundle filter [com.apple.springboard]: com.apple.mobilenotes
[iphone/tweak_with_simple_preferences] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]: 
Instantiating iphone/tweak_with_simple_preferences in bwltest/...
Done.

结构对应解释:
  • 填写项目信息:创建的方式,一般选择iphone/tweakiphone/tweak_with_simple_preferences的编号
  • Project Name:项⽬名称,无要求
  • Package Name:项⽬ID,随便写? 当前要求必需要小写
  • Author/Maintainer Name:作者,直接敲回车按照默认做法就⾏(默认是Mac上的⽤户名) ,随便写
  • [iphone/tweak] MobileSubstrate Bundle filter :需要修改的目标APP的Bundle Identifier(系统备忘录com.apple.mobilenotes) 可以通过Cycript查看APP的Bundle Identifier
  • [iphone/tweak] List of applications to terminate upon installation:安装后终止的应用程序列表,可忽略

创建的目录:

  • Tweak.x:重要文件,类的hook实现

    需要hook具体类,具体查看Logos语法:http://iphonedevwiki.net/index.php/Logos

  • control:工程配置的信息

  • Makefile:重要文件,THEOS项目配置信息

    如下结构:

TARGET := iphone:clang:latest:7.0
# 指手机系统中的进程
INSTALL_TARGET_PROCESSES = SpringBoard

# 局域网内的手机ip地址, 默认通过USB端口
THEOS_DEVICE_IP = 10.15.48.140
#  监听端口,默认就是22
THEOS_DEVICE_PORT = 22
# 支持的架构
ARCHS = armv7 arm64

# Tweak.x文件需要的 famework 库
iOSRE_FRAMEWORKS=UIKit Foundation

include $(THEOS)/makefiles/common.mk

# 工程名
TWEAK_NAME = tphook

tphook_FILES = Tweak.x
tphook_CFLAGS = -fobjc-arc
include $(THEOS_MAKE_PATH)/tweak.mk

上面的通道,如果开发中,可以直接使用usb的,利用爱思助手等工具,一键“打开ssh通道”。

  • .theos :隐藏文件夹

常见命令

修改Tweak.x文件之后,即可使用相关命令:

  • 编译命令:make
  • 打包成deb命令:make package
  • 安装命令:make install
  • 打包成deb命令并安装:make package install
  • 清除缓存命令:make clean

常见异常

  1. 报错:Nothing to be done for `internal-library-compile'..
    原因:之前已经编译过,有缓存导致的,需要clean一下,命令 make clean

  2. 报错:ERROR: package name has characters that aren't lowercase alphanums or '-+.'.
    原因:Package Name : 需要小写, com.wesk.appleBWL 不符合规范,需要改成小写,😁

相关文章

  • theos-tweak 简单认知

    一步一步学逆向theos-tweak 应该是我们动态分析中,最为常用的工具了。 先做个简单介绍。 准备: 越狱的i...

  • iOS逆向开发(三)----Clutch,dumpdecrypt

    iOS逆向开发(三)----Clutch,dumpdecrypted,Theos-Tweak 脱壳 我们知道上架到...

  • theos-tweak

    感谢狗神神作iOS逆向工程,本文主要记录了第一个tweak的开发.对于theos没有安装或者安装有问题的友们可以参...

  • Theos-tweak工程

    1、查看《iOS逆向 开发工具》 Theos的使用方法做准备工作;2、创建tweak工程,实现在屏幕上添加弹框(越...

  • 简单认知——男女

    关于人的由来众说纷纭,中国自古以来有“女娲造人”的传说,这是极具艺术美感的体现。女娲走在大地上,觉得单调,于是抟土...

  • js简单认知

    1.CSS和JS在网页中的放置顺序是怎样的? css link引入放置在头部 标签里 js放置在网页底部 2.解释...

  • webpack简单认知

    前端开发现状越来越复杂: 1、模块化开发 2、使用一些高级特性:ES6+、TypeScript开发脚本逻辑、sas...

  • 认知非越简单越好

    有的人喜欢简单,认为认知越简单越好、“大道至简”,那么认知是不是越简单越好呢? 【生育】人类的婴儿是女性经过“怀胎...

  • 《读书是教师最好的修行2》学习笔记8

    身体影响我们的认知 学习摘要 具身认知的特征 所谓认知,简单的说就是人认知外界事物的过程。具身认知有以下几个特征。...

  • 自我认知和镜子

    “自我认知”和“镜子” “自我认知”没有那么简单 “自我认知” 的概念已经广为人知。很多人才发展的项目都有自我认知...

网友评论

      本文标题:theos-tweak 简单认知

      本文链接:https://www.haomeiwen.com/subject/ihxohrtx.html