欢迎光临
我们一直在努力

1.基础环境准备

第一节 基础环境准备

学习目标

学完本节,希望你能够:

  • 说出 iOS 逆向环境需要哪些基础条件(系统、Xcode、命令行工具)。
  • 在 macOS 上安装 Homebrew,并用它装好 Python、dpkg、ldid 等必备工具。
  • 完成越狱设备的 SSH 配置,能从电脑连上设备。
  • 知道 Theos、MonkeyDev、Frida 等开发与调试工具在本阶段的用途(具体安装后面几节会讲)。
  • 能跑通「环境验证」里的几条命令,确认环境可用。
  • 阅读提示:术语(如 Theos、Frida、Hook)第一次出现时会用括号简单解释;各工具的详细安装在后续章节展开。

    常见疑问:一定要越狱机吗?——做越狱插件、系统级修改必须越狱;只做非越狱注入可以用 MonkeyDev 重签名,但调试和分析仍建议有一台越狱设备。


    一、基础环境要啥?

    用一句话说清楚

    说白了就是:一台 macOS 电脑 + 一套苹果开发工具 + 包管理器 + 一台越狱 iOS 设备(可选但推荐)。下面按「在干啥、为啥要干、一般怎么干」来说。

    macOS 系统要求

    • macOS 10.14 及以上(建议用较新版本,避免工具不兼容)。
    • Xcode:从 App Store 安装即可,逆向用的主要是命令行工具和 SDK。
    • 命令行工具:装完 Xcode 后执行一次:xcode-select –install

    记一句:没装 Command Line Tools,后面很多命令会报错,先装上再继续。

    Homebrew 包管理器

    Homebrew(俗称「brew」)是 macOS 上常用的包管理工具,后面装 Python、dpkg、Frida 等都会用到。

    安装命令(复制到终端执行即可):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

    装完后按提示把 brew 加入 PATH(安装结束时会有说明)。


    二、必备工具怎么装?

    Python 环境

    逆向脚本、Frida、objection 等很多工具依赖 Python3。一般这么干:

    brew install python3
    pip3 install –upgrade pip

    越狱相关工具

    • dpkg、ldid:打包 deb、给二进制签名,越狱开发必备。
    • libimobiledevice、usbmuxd:用 USB 连手机、端口转发,方便 SSH 和安装。

    brew install dpkg ldid
    brew install libimobiledevice usbmuxd

    逆向分析工具(先装会用到的)

    用途工具一句话
    反汇编/反编译 Hopper、radare2 等 后面「开发工具」一节会列全,这里先装 class-dump、otool、nm(看头文件、Mach-O、符号)。
    动态分析 Frida 运行时插桩、Hook,必装。
    静态分析 class-dump、otool、nm 系统自带或 brew 安装。

    # 头文件导出、Mach-O 分析(按需安装)
    brew install class-dump # Objective-C 头文件导出
    # otool、nm 通常随 Xcode 已有

    # 动态分析
    brew install frida
    pip3 install frida-tools

    注意:仅用于自己学习或授权环境,不要对他人应用做未授权的逆向或传播。


    三、越狱设备咋配置?

    设备越狱

    不同系统版本用不同越狱工具,了解即可,按你手里的系统选:

    • iOS 15–16: palera1n
    • iOS 14: checkra1n
    • iOS 13 及以下:unc0ver 或 checkra1n

    越狱后要装的插件

    在 Cydia/Sileo 里装这些,后面会用到:

    • OpenSSH:远程连设备。
    • Filza File Manager:文件管理。
    • NewTerm 2:设备上跑终端。
    • AppSync Unified:安装未签名应用。
    • Frida:动态插桩。
    • Cycript:运行时分析(可选)。

    SSH 怎么连?

    记成一句话:USB 插上 → 用 usbmuxd 做端口转发 → 用 SSH 连本机端口。

    # 端口转发(设备 22 → 本机 2222)
    iproxy 2222 22 &

    # 连接
    ssh -p 2222 root@localhost

    默认密码是 alpine,首次登录后务必马上改密码(见本节「安全注意事项」)。


    四、开发工具安装(概要)

    本节只说明「要装啥」,具体步骤在后续节讲。

    Theos(越狱开发框架)

    用来写 Tweak、打包成 deb、装到越狱机。安装好后要配置 THEOS、PATH,以及设备 IP/端口(如 THEOS_DEVICE_IP=localhost、THEOS_DEVICE_PORT=2222)。详见第 4、5 节。

    MonkeyDev(逆向/插件开发)

    基于 Theos,集成 Xcode,支持越狱和非越狱。装法见第 3 节。

    调试工具(debugserver、LLDB)

    设备端用 debugserver,电脑端用 LLDB 连上去调试。配置稍复杂,后面用到时再细讲。


    五、辅助工具(按需)

    网络分析

    • Charles、mitmproxy:抓包、看 HTTPS。设备 Wi-Fi 代理设成电脑 IP 和对应端口即可。

    文件与脚本

    • MachOView、binwalk、strings 等:看 Mach-O、固件、字符串。
    • objection:Frida 的 CLI,可 pip3 install objection。

    六、环境验证

    装完一大串东西,怎么确认没问题?跑下面几条就行。

    测 Theos

    nic.pl # 能弹出模板选择界面就说明 Theos 可用

    测 Frida

    frida-ps -U # 设备连好后,应能看到进程列表

    测设备连接

    idevice_id -l # 应显示设备 UDID


    七、常见问题与更新

    常见问题一句话

    现象可能原因怎么办
    Theos 编译报错 SDK 版本不对 检查 iOS SDK 版本、Makefile 里 TARGET
    Frida 连不上 设备端服务没跑 重启 frida-server 或重装 Frida
    SSH 连不上 端口转发没开 检查 usbmuxd、iproxy
    应用闪退 签名或权限 检查代码签名和权限配置

    定期更新

    brew update && brew upgrade
    pip3 install –upgrade frida-tools objection


    八、安全注意事项

  • 改掉 SSH 默认密码(root 和 mobile 都改):ssh -p 2222 root@localhost
    passwd
    passwd mobile
  • 传文件尽量用 SFTP,不要长期开着 SSH 对外暴露。
  • 只在需要时开 SSH,用完可关。
  • 动系统或应用前先备份原始文件。

  • 本节小结

    你只要记住这几条就行:

  • 基础环境 = macOS + Xcode + Command Line Tools + Homebrew。
  • 必备工具 = Python3、dpkg、ldid、libimobiledevice/usbmuxd、Frida(及 frida-tools)。
  • 越狱机要装 OpenSSH、Filza、AppSync、Frida 等,并改掉默认 SSH 密码。
  • 连设备记一句:iproxy 2222 22,然后 ssh -p 2222 root@localhost。
  • 装完用 nic.pl、frida-ps -U、idevice_id -l 做一次环境验证。

  • 本节术语速查

    术语一句话解释
    Theos 越狱开发框架,用来写 Tweak、打包 deb、安装到越狱设备。
    Frida 动态插桩框架,能在运行时 Hook 函数、改行为。
    Hook 把程序原有的函数替换成自己的代码,再选择是否调用原函数。
    ldid 越狱环境下常用的签名工具,给二进制打签名。
    usbmuxd 通过 USB 转发设备服务(如 SSH)到本机端口的守护进程。

    本节思考与练习

  • 概念:用一句话说出「基础环境准备」要准备哪几类东西(系统、工具、设备、网络/调试)。
  • 应用:如果手头没有越狱机,只有 Mac,你能做哪些事、不能做哪些事?(结合本节提到的工具想一想。)
  • 动手:在 Mac 上装好 Homebrew、Python3、ldid,并执行 ldid -h 和 python3 –version,确认输出正常。
  • 动手:若有越狱设备,完成 USB 端口转发和 SSH 登录,并修改 root 密码。
  • 综合:跑一遍「环境验证」里的三条命令,把结果记下来;若有报错,试着自己查原因或留到下一节对照。
  • 下一节预告:下一节会系统梳理「开发工具」——静态分析、动态分析、开发框架、抓包等各用啥工具、怎么选,方便你按需装、按需学。

    赞(0)
    未经允许不得转载:171主机测评 » 1.基础环境准备
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址