iOS hook相关教程 工具篇

osx 工具集

class-dump 建议安装

class-dump,顾名思义,就是用来dump目标对象的class信息的工具。该工具利用Objective-C语言的runtime特性,将存储在Mach-O文件中的头部信息提取出来,并生成对应的.h文件。目前只用拿到oc对象的头文件。

## XXX 表示需要dump的可执行文件,之后介绍怎么获取
## /xxx/xxx/xxx 表示输出路径。
## 其他命令可以参考man
## 此外,该工具只能dump撬壳之后的可执行文件
class-dump -S -s -H XXX -o /xxx/xxx/xxx

Theos 必须安装

Theos是一个越狱开发包,与其他越狱工具相比,其最大的特点就是简单。其底层原理为dyld,可用于运行前注入。手残的可以直接安装mokeydev或者iosopendev。具体安装可参考:https://www.jianshu.com/p/2a2de106dd2e

# 创建工程,建议设置全局变量,用命令行跑
./theos/bin/nic.pl
# nic.pl

调用上面的命令,会出现下面的提示

NIC 2.0 - New Instance Creator ------------------------------
[1.] iphone/application
[2.] iphone/cydget
[3.] iphone/framework
[4.] iphone/library
[5.] iphone/notification_center_widget
[6.] iphone/preference_bundle
[7.] iphone/sbsettingstoggle
[8.] iphone/tool
[9.] iphone/tweak
[10.] iphone/xpc_service

选择9,输出tweak工程,继续

## 项目名字
Project Name (required):kiwihook## 包名字
Package Name [com.yourcompany.iosreproject]:com.huya.kiwihook## 作者名字
Author/Maintainer Name [snakeninny]: ysq## 包名字,需要openssh去ios里面查询,我这里已经知道需要hook的包名字
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]:com.yy.kiwi## 需要重新启动的进程
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]:kiwi

完成之后看下工程目录,长这个样子:

Makefile
kiwihook.plist
Tweak.x
control

Tweak.x文件为空,control记录着相关信息,plist记录着需要hook的包信息,makefile为make编译脚本。

我们在这个工程下面创建./build.sh,用以自定义安装程序。其内容可参考git工程里面的文件。关于Makefile统一写法,我们可以把Makefile改成如下:

## 需要安装的手机ip,需要保证手机登陆和mac登陆的局域网是同一个。
export THEOS_DEVICE_IP = xxx.xxx.xxx.xxx
## 需要安装的手机端口,有openssh配置或者
#export THEOS_DEVICE_PORT = xxxxINSTALL_TARGET_PROCESSES = kiwiinclude $(THEOS)/makefiles/common.mkTWEAK_NAME = kiwihookARCHS = armv7 arm64
TARGET = iphone:latest:7.0kiwihook_FILES = Tweak.x
kiwihook_CFLAGS = -fobjc-arc## 导入公共模块,UIKit
kiwihook_FRAMEWORKS = UIKit## 导入自定义库
kiwihook_LDFLAGS += hytweakinclude $(THEOS_MAKE_PATH)/tweak.mk

之后就可以使用了,执行命令./build.sh。
关于其语法,可自行参考git工程的书籍,iOS应用逆向工程(第2版)这本书。或者网上查询相关tweak资料。

Reveal

不推荐安装,说句实在话,从界面入手获取到的信息特别有限,特别是音视频开发相关。

IDA 建议安装

安装网址: https://blog.csdn.net/u010953692/article/details/94907317。

需要csdn积分可以找我拿。安装过程会遇到崩溃,网上找一下吧。主要用到的是ida64版本。

快捷键F5可以直接查看反汇编代码,特别方便。其他的就和平时的工具一样,没什么好说的。

iFunBox 建议安装

安装网址: http://www.i-funbox.com/zh-cn/index.html

需要配合cycript使用,可以用于捞日志,dump流,查看系统文件等。

此外,使用这种工具都需要安装Apple File Counduit "2"这个工具,在手机Cydia->软件源->Cydia/Telesphoreo->系统->Apple File Counduit "2"安装。就可以使用了。

dyld_decache 不推荐安装

Theos底层工具,如果对Theos底层感兴趣的同学,可以自行研究这个工具,说不定下一个Theos的工具作者就是你。

frida-ios-dump 推荐

撬壳工具,对于appshop里面下载的应用,必须通过撬壳才能进行对应的操作。不过即使没有撬壳,也不影响theos的使用,所以不是必须的,只是撬壳后的工具才能用ida,class-dump这类工具。

安装地址:https://www.jianshu.com/p/c26938760ee0

注意,该工具是python3的,需要使用python3来进行撬壳,另外,ios需要安装openssh才能。

ios工具集

CydiaSubstrate 推荐安装

其实我没有安装,不过看了大多数hook,这个工具感觉是必备的。

Cycript 必须安装

为什么是必须安装呢,没这工具,99%活都干不了,还有1%是Theos的。

安装教程: 直接在Cydia里面搜索cycript,点击安装,就可以使用了。

iFile

同样,用于重置dropbear和openssh需要用到,这是由于在ios上写命令行着实恶心。不过也必须要写。同样的,在Cydia里面安装就好了。

MTerminal

手机可使用的命令行工具。同样,在Cydia里面安装就好了。

OpenSSH 必备

用于和osx通讯的工具,可参考linux的openssh使用教程,在10.x的ios手机上,只能使用dropbear来进行连接。

关于手机的越狱

9.0~11.0都可以在爱思助手上面一键越狱。不会变砖。

12.0 unc0ver工具,没验证过。

13.0以上 据说变砖头概率巨高,建议别尝试,等之后有一套同一个方案再来尝试也不迟。

iOS Hook相关教程 工具篇相关推荐

  1. FPGA极易入门教程----工具篇(2)Quartus II 的在线调试工具 In-System Sources and Probes(ISSP)

    1.什么是ISSP?ISSP有什么用? Quartus II提供了In-System Sources and Probes Editor调试工具,通过JTAG接口使用该工具可以驱动和采样内部节点的逻辑 ...

  2. FPGA极易入门教程----工具篇(1)建立你的第一个FPGA工程(点亮LED)

    1.规范的文件夹 规范的文件夹划分管理也是十分重要的,若是把所有文件,例如设计文件.设计表格.图片.Quartus工程相关文件.仿真文件等不同类型的文件都统一放在一个目录下,将会使得整个文件夹臃肿不堪 ...

  3. 安卓hook解密教程

    介绍: 安卓hook解密教程 工具一键傻瓜式解密 玩区块链APP的朋友可以试一试. 网盘下载地址: https://zijiewangpan.com/GMhRF3FchdD 图片:

  4. FPGA极易入门教程----汇总篇(直达链接)

    为什么要写这个系列? 根据费曼学习法,最好的学习方法就是教会一个外行人(初学者).知识分享,独乐乐不如众乐乐.现在FPGA市场巨大,人才缺口很大.我本着能拉一个上贼船就拉一个上贼船的想法来写这个系列文 ...

  5. iOS 12.4 越狱工具 unc0ver 详细教程;Android 手机无痛互传;Apple 更改应用评级

    原文链接 关键字:越狱.Android 无痛互传.iOS应用评级 iOS 12.4 越狱工具 unc0ver 详细教程 疯先生 • 2019-08-20 越狱开发团队pwn20wnd和sbinger合 ...

  6. iOS内存管控实战(中)-分析工具篇

    因文章单篇过长,按照 原理.分析工具 和 实战 拆分成上.中.下三部分,点击阅读. iOS内存管控实战(上)-原理篇 iOS内存管控实战(中)-分析工具篇 iOS内存管控实战(下)-实战篇 二.内存分 ...

  7. iOS逆向工程Mac工具篇

    class-dump 简介 用于dump目标对象的class信息.它利用OC语言的runtime特性, 将存储在Mach-O可执行文件中的头文件信息提取出来, 并生成对应的.h文件. class-du ...

  8. iOS开发工具篇-AppStore统计工具

    http://blog.devtang.com/blog/2013/06/16/ios-dev-tool-app-store-tool/ iOS开发工具篇-AppStore统计工具 JUN 16TH, ...

  9. 【Unity 实用工具篇】✨| Tutorial Master 2 游戏引导教程 快速上手

    前言 [Unity 实用工具篇]✨ | Tutorial Master 2 游戏引导教程 快速上手 一.Tutorial Master 2 介绍 1.1 基本概念 1.2 相关链接 1.3 效果展示 ...

最新文章

  1. PHP里switch用法举例,PHP Switch语句的功能实例
  2. 如何提高gps精度_如何在锻炼应用程序中提高GPS跟踪精度
  3. python字典的键可以是列表吗_如何返回字典键作为Python中的列表?
  4. Zoom创始人袁征转让约1800万股股票 价值超过60亿美元
  5. LeetCode 39. 组合总和(回溯+剪枝)
  6. Linux系统基础开发应用及Linux-C用户手册
  7. ECharts 实现地图功能
  8. mac黑白打印和彩色打印
  9. Neutron DVR实现multi-host特性打通东西南北流量提前看(by quqi99)
  10. HTML 教程-菜鸟教程
  11. C++QT开发——Xml、Json解析
  12. python-json校验-jsonpath
  13. 用批处理命令打开控制面板选项
  14. mac安装python虚拟环境_mac 下 python 虚拟环境的安装和配置
  15. 解锁三星bl锁有几种方法_如何判断三星 Galaxy S7 (G9308)手机bootloader是否解锁_免费解锁BL的3个方法...
  16. Error creating bean with name 'servletEndpointRegistrar' defined in class path resource
  17. cad和mysql_什么是cad
  18. 阿里云——NLP自学习平台产品体验
  19. docker 部署 jetbrains license server
  20. ENVI下植被覆盖度的遥感估算

热门文章

  1. 新零售服务商推出RFID自助收银,助力品牌轻松落地新零售无人售货场景
  2. 图的遍历——深度优先遍历与广度优先遍历
  3. 1月19日云栖精选夜读:天文学+云计算,国家天文台-阿里云战略合作首年成果丰硕...
  4. 如何在虚拟主机上部署java项目_如何在购买的虚拟主机上部署java项目
  5. webpack配置cdn资源
  6. 铃铛子训练营第二期结束,这是我们的答卷。
  7. mongodb3 重启_如何重启ipad pro并强制关闭各种型号iPad
  8. 循环程序设计-实验一 BY KTL
  9. http缓存相关理论
  10. 【生活记录】【上海】网上查询下载 2019年1月后 个人税单方法