IOS逆向(零)环境准备

一、系统环境

[iPhone 6] IOS 12.5.4/12.5.6

[MacBook Pro] macOS Monterey 12.2.1

[Xcode] 13.4.1(13F100)

[Python] 3.7.3

二、设备环境

  1. 越狱

如果不清楚哪个版本的iphone可以越狱,就到(https://canijailbreak.com/)这个网站去查询看看自己的系统可以用哪个工具越狱然后下载越狱,或者使用爱思助手(https://www.i4.cn/)进行越狱。

  1. 安装越狱插件

Cydia中添加下面的软件源

 ABCydia/雷锋源-雷锋源 | 最简洁的中文源

 AppCake-How to Install AppCake | AppCake Cydia Repo

apt.bingner.com-Index of /

apt.cydia.love-Ant 蚂蚁源 | 最简洁的Cydia中文源

BigBoss-http://apt.thebigboss.org/repofiles/cydia

Chariz-Chariz

Cydiakk中文源-CydiaKK源中文网

Cydia刀八木-Cydia™(氵刀八木) | 最简洁的中文源

Delta-Delta: Cydia Repo

Dynastic Repo-Dynastic Repo Archive

Karen/Repo-Home :: Karen's Repo

ModMyi(Archive)-http://apt.modmyi.com

ZodTTD & MacCiti(Archive)-http://cydia.zodttd.com/repo/cydia

多米诺骨牌源-https://apt.wxhbts.vip

build.frida.re-build.frida.re

Cydia中搜索安装下面的插件

Apple File Conduit "2"

又称为"afc2add"简称"AFC2",用于爱思助手访问IOS设备的用户和越狱目录

adv-cmds

查看进程信息的ps命令

AppSync Unified

用于安装和运行脱壳后的应用,原理是绕过系统对应用的签名验证

Filza File Manager

浏览手机文件、修改文件权限等

NewTerm 2

在手机上运行的终端工具

安装插件后如果界面上没有出现图标就在iphone执行下面的命令刷新缓存

$ uicache -a

OpenSSH

SSH(Secure Shell),用于pc远程连接到IOS设备输入命令操作,默认密码是"alpine",安装OpenSSH并连接后最好是修改密码,修改密码命令是passwd,根据提示修改即可

  1. 设备连接

3.1 ssh方式

设备ip地址查看方法:设置-无线局域网-连接的wifi名称最右边感叹号图标-- IP地址

$ ssh root@192.168.0.100

3.2 usb方式(动态调试时推荐使用)

mac安装usbmuxd

$ brew install usbuxd

端口映射

$ iproxy 2222 22 [设备UUID]

如果要保持正常连接,上面输入这条命令的终端不能关闭,也不能按Ctrl+C中断

有多台设备同时连接到mac就需要输入设备UUID,否则不需要

连接设备

新开一个终端输入下面命令连接

$ ssh -p 2222 root@127.0.0.1

如果连接时出现 "Host Key verification failed"的错误,就需要根据输出的错误提示到mac目录找到known_hosts文件删除里面的127.0.0.1记录,再重新操作即可

  1. 文件传输

从mac复制文件到ios

$ scp -p 2222 ./1.txt root@127.0.0.1:/root/

从ios复制文件到mac

$ scp -p 2222 root@127.0.0.1:/root/1.txt ./

<think>嗯,用户问的是“Fride基础学习”,首先我需要确认“Fride”是不是拼写错误。常见的技术术语里没有Fride这个词,可能是指“Frida”,一个动态插桩工具,用于逆向工程和调试。所以先假设用户指的是Frida,但可能需要确认。 接下来,考虑用户是基础,所以需要从最基础的概念讲起。首先介绍Frida是什么,它的用途,以及为什么学习它。然后分步骤说明如何安装、配置环境,给出简单的示例代码,让用户能快速上手。 用户可能的需求是学习如何使用Frida进行应用分析或安全测试,尤其是移动应用。需要确保步骤清晰,避免专业术语过多,必要时解释术语。比如,动态插桩可能对新手来说比较陌生,需要简单说明。 另外,用户可能遇到的问题,比如环境配置错误、脚本编写错误,或者设备连接问题。可以提前给出常见问题及解决方法,帮助用户避免卡壳。同时,提醒用户注意法律和道德规范,因为Frida常用于逆向工程,可能涉及敏感操作。 需要检查Frida的安装命令是否最新,不同操作系统下的安装步骤是否有差异。示例代码部分要确保正确,比如Android应用的附加和基本方法调用。还要考虑用户可能没有root权限的设备,是否需要推荐模拟器或特定配置。 最后,推荐进一步学习资源,如官方文档、社区论坛、教程视频等,帮助用户持续学习。结构上分点说明,保持逻辑清晰,语言简洁易懂。</think>[系统提示:检测到"Fride"疑似拼写错误,推测可能指逆向工程工具"Frida"。以下基于Frida进行介绍] ### Frida 基础学习指南 #### 一、Frida是什么? Frida是一款动态代码插桩工具(Dynamic Instrumentation Toolkit),主要功能包括: - ✅ 实时注入JavaScript代码到目标进程 - ✅ 支持Android/iOS/Windows/macOS/Linux多平台 - ✅ 无需源码即可分析/修改应用行为 - ✅ 常用于逆向工程、安全测试、漏洞挖掘 #### 二、环境准备 1. **安装Python** ```bash $ pip install frida-tools ``` 2. **安装客户端工具** ```bash $ pip install frida ``` 3. **设备端配置(以Android为例)**: - 下载对应架构的[frida-server](https://github.com/frida/frida/releases) - 推送至设备并运行: ```bash $ adb push frida-server /data/local/tmp/ $ adb shell "chmod 755 /data/local/tmp/frida-server" $ adb shell "/data/local/tmp/frida-server &" ``` #### 三、基础使用示例 1. **附加进程**: ```python import frida def on_message(message, data): print(message) session = frida.get_usb_device().attach("com.example.app") script = session.create_script(""" Java.perform(function() { console.log("成功注入!"); }); """) script.on('message', on_message) script.load() ``` 2. **Hook函数**: ```javascript Java.use("com.example.app.MainActivity").login.implementation = function(a, b) { console.log("拦截登录参数: " + a + ", " + b); return this.login(a, b); } ``` #### 四、学习路线建议 1. **初级阶段**: - 掌握JavaScript基础语法 - 熟悉Frida CLI工具使用 - 学习基础Hook操作 2. **中级阶段**: - 理解进程注入原理 - 掌握内存读写操作 - 学习RPC远程调用 3. **高级阶段**: - 开发自定义插件 - 实现自动化分析框架 - 研究反调试对抗技术 #### 五、注意事项 1. ⚠️ 法律风险:仅用于授权测试 2. ⚠️ 稳定性:避免在生产环境使用 3. ⚠️ 兼容性:注意Frida版本与设备架构匹配 #### 六、学习资源 1. 官方文档:[frida.re/docs/home/](https://frida.re/docs/home/) 2. 实战案例:《Android Frida逆向与抓包实战》 3. 社区支持:GitHub Issues、逆向工程论坛 > 建议从简单的APK分析入手,逐步尝试Hook系统API,最终实现复杂功能拦截。遇到问题可先用`frida-trace`进行快速追踪: ```bash $ frida-trace -U -i "open" com.example.app ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值