iOS代码注入

article/2025/7/13 18:20:48

文章目录

  • 越狱
    • 准备工作
    • Xcode + shell
    • 小知识:生成ipa包
  • 砸壳
  • 代码注入
    • 未完待续...

越狱

准备工作

  • 手机型号:iPhone 6p
  • 手机系统:12.4.4
  • 越狱工具:unc0ver
    unc0ver支持11.0~14.3版本,并且越狱后可重置回未越狱状态,官网地址:https://unc0ver.dev

unc0ver.dev上有具体的操作步骤,这里不再赘述,下面是我采用Xcode+Shell脚本方式完成越犾的一个过程记录。

Xcode + shell

  1. 通过Xcode新建一个工程,然后运行到真机上,完成app签名。
  2. 在工程目录下创建一个App目录,然后再创建一个内容如下的appsign.sh文件:
    TEMP_PATH="${SRCROOT}/Temp"
    APP_PATH="${SRCROOT}/App"
    # 目标ipa包所在路径
    TARGET_IPA_PATH="${APP_PATH}/*.ipa"
    # 清空Temp目录
    rm -rf "${TEMP_PATH}"
    mkdir -p "${TEMP_PATH}"# 1.解压ipa包到Temp目录下。
    # -o代表在不提示的情况下覆盖现有文件, -qq禁止打印信息
    # -d 将文件解压缩到的可选目录
    unzip -oqq "$TARGET_IPA_PATH" -d "$TEMP_PATH"
    # 拿到解压的临时的APP的路径
    TEMP_APP_PATH=$(set -- "$TEMP_PATH/Payload/"*.app;echo "$1")# 2.将解压出来的.app拷贝进工程
    # BUILT_PRODUCTS_DIR 工程生成的APP包的路径
    # TARGET_NAME target名称
    TARGET_APP_PATH="$BUILT_PRODUCTS_DIR/$TARGET_NAME.app"
    echo "app路径:$TARGET_APP_PATH"rm -rf "$TARGET_APP_PATH"
    mkdir -p "$TARGET_APP_PATH"
    cp -rf "$TEMP_APP_PATH/" "$TARGET_APP_PATH"# 3. 删除PlugIns和Watch  个人证书签不了Extention
    rm -rf "$TARGET_APP_PATH/PlugIns"
    rm -rf "$TARGET_APP_PATH/Watch"# 4. 更新info.plist文件 CFBundleIdentifier
    # 因为是plist文件,需要使用系统工具PlistBuddy进行设置:"Set :KEY Value" "目标文件路径"
    /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $PRODUCT_BUNDLE_IDENTIFIER" "$TARGET_APP_PATH/Info.plist"# 5. 给MachO文件添加执行权限
    # 拿到MachO文件的路径
    APP_BINARY=`plutil -convert xml1 -o - $TARGET_APP_PATH/Info.plist|grep -A1 Exec|tail -n1|cut -f2 -d\>|cut -f1 -d\<`
    chmod +x "$TARGET_APP_PATH/$APP_BINARY"# 6. 重签名第三方Frameworks
    TARGET_APP_FRAMEWORKS_PATH="$TARGET_APP_PATH/Frameworks"
    if [ -d "$TARGET_APP_FRAMEWORKS_PATH" ];
    then
    for FRAMEWORK in "$TARGET_APP_FRAMEWORKS_PATH/"*
    do
    #使用codesign进行签名
    /usr/bin/codesign --force --sign "$EXPANDED_CODE_SIGN_IDENTITY" "$FRAMEWORK"
    done
    fi
    
  3. 下载unc0ver,把下载下来的ipa包放到工程App目录下
  4. 在Xcode->Targets->Build Phases中添加Run Script
    在这里插入图片描述
  5. 运行后安装unc0ver到手机上,运行unc0ver,点击底部Jailbreak开始越狱,中间需要重启手机。如果需要重置在设置中打开Restore RootFS选项,然后重置。

小知识:生成ipa包

复制xx.app包到一个Payload目录下,然后通过zip -ry xx.ipa Payload/生成ipa包后通过Xcode安装到手机上。

砸壳

  1. 在 Cydia 中添加软件源 http://apt.wxhbts.com/,搜索CrackerXI(CrackerXI App脱壳工具),下载安装。
  2. 回到SpringBoard,打开CrackerXI,在AppList选择要砸壳的App,砸完后记录下ipa包的路径。
  3. 手机与电脑处于同一网络下,在mac终端通过ssh root@手机ip连接(如果手机没安装openSSH,在Cydia中搜索openSSH并安装),输入root初始初始密码alpine。连接成功后输入passwd修改root密码,成功后logout退出ssh。
  4. 在终端执行scp root@手机ip:"/var/mobile/Documents/CrackerXI/xxx_CrackerXI.ipa" ~/Desktop拷贝砸壳后的ipa包到电脑桌面。
  5. 通过unzip -oqq ipa包路径 -d 临时路径,进入临时路径中的payload中的xx.app中,通过otool -l xx | grep crypt查看cryptid,如果为0说明砸壳成功。

代码注入

  1. 下载yololib(https://github.com/KJCracks/yololib),编译后放到工程目录下(或者直接放到usr/bin下)。
  2. 在工程中创建一个Framework暂时叫它HookTest,创建个OC类,然后在类中添加+(void)load方法。
  3. 在上面的appsign.sh中加入
    ./yololib "\$TARGET_APP_PATH/\$APP_BINARY" "Frameworks/HookTest.framework/HookTest"
    
    然后执行。

未完待续…

代码注入成功了,通过class-dump和Xcode的Debug View Hierarchy可以拿到部分信息,通过Method Swizzing可以进行一些hook操作。
TODO://工具分析。


http://chatgpt.dhexx.cn/article/2i8Ijk3F.shtml

相关文章

苹果4s怎么越狱_unc0ver 越狱工具来袭,免电脑操作,支持 A7-A12,支持iOS11~iOS12.4稳定越狱...

开场 越狱大家肯定不陌生&#xff0c;之前很多小伙伴知道越狱不支持A12芯片&#xff0c;就在昨天unc0ver更新后支持A12越狱了&#xff0c;是不是很厉害&#xff0c;这次更新完后操作方法依然和之前一样&#xff0c;只需要简单几下就能越狱&#xff0c;越狱其实很简单&#xff0…

【IOS】签名ipa

文章目录 前言一、AppleID二、使用证书签名总结 前言 手里一台老破小iPhone6 unc0ver 不完美越狱&#xff0c;经常因为没电掉越狱&#xff0c;前两天用爱思安装unc0ver发现安装不了了&#xff0c;需要登录appaleID&#xff0c;小研究后成功对unc0ver签名安装成功&#xff0c;记…

iOS设备越狱

Phoenix Jailbreak iOS 9.3.5 以前在PP助手(盘古)越狱挺方便的,新的iOS系统很多都不支持&#xff0c;只能使用国外的&#xff0c;比如: Phoenix Phoenix Jailbreak 下载好 Phoenix.ipa 文件后&#xff0c;放到 MonkeyDev里安装即可&#xff0c;安装好后运行 Phoenix来进行越…

刷步恢复使用Unv0ver6.0.1工具已签名,附在线安装地址!

iOS区证书掉签状态 目前Unc0ver6.0.1已签名,可在线安装 其它应用掉签&#xff0c;无法安装 Unc0ver6.0.1 最新版本&#xff1a;6.0.1支持设备&#xff1a;A7-A14根据官方更改日志&#xff0c;unc0ver v6.0.1似乎包含以下更改&#xff1a;修复了在iOS 14上加载启动脚本的问题修复…

IOS逆向-入门篇

教程 JailBreak爱思助手unc0ver JailBreak-BypassOpenSSHnetstat命令Frida安装旧版本修改端口 抓包获取APP BundleID逆向系统Framework JailBreak 爱思助手 下载爱思助手并打开软件&#xff0c;使用USB连接IPhone确认设备连接成功后&#xff0c;点击 工具箱->一键越狱勾选…

《挑战不用macOS逆向iOS APP》第一课之环境搭建

Intro1.Windows中iPhone基本信息获取/软件安装/投屏 (1)基本信息获取(2)软件安装(3)手机投屏 2.越狱设备分析推荐/unC0ver流程详解 (1)越狱设备的分析与推荐(2)checkra1n越狱详细流程 &#xff08;1&#xff09;制作一个越狱u盘&#xff08;2&#xff09;刷入手机实现越狱 3.越…

使用Macos进行 Fugu14 Uncover A12-14 ios越狱 版本14.3-14.5.1

前言:由于目前最新版本Uncover7.0.0越狱依赖于Fugu14的untether漏洞 而Fugu14暂时只能从Macos运行一套完成流程,所以直接下载Unc0ver是会显示Unsupported的 暂时没有windows版 本帖适合愿意折腾的xdm 越狱有风险 需谨慎 该BUG已于10月29日github 提交了新版本修复了 原先作…

checkra1n越狱错误79_新的unc0ver漏洞可让运行iOS / iPadOS 12至13.5的苹果iPhone和iPad越狱...

IOS越狱社区和Android生根社区有很多共同点。我们俩都喜欢我们各自的设备,但对缺少定制感到失望。不幸的是,与许多Android设备相比,Apple设备并不容易修补。这就是为什么新的越狱行为(如最近发布的unc0ver漏洞利用)如此庞大的原因。新的unc0ver越狱功能适用于从iOS 11到iOS …

苹果iOS 13.5越狱unc0ver来了

文章目录[隐藏] 操作步骤重要提醒 今日早间著名越狱团队unc0ver发布支持所有设备和iOS版本的越狱工具unc0ver 5.0.0。unc0ver 5.0.0适用于iOS 11-iOS 13.5越狱&#xff0c;由于用户较多导致其官网崩溃&#xff0c;不过相关文件已被提取至GitHub上&#xff0c;新越狱工具利用的仍…

linux怎么越狱苹果手机,如何在苹果手机使用unc0ver越狱

如何在苹果手机使用unc0ver越狱 开篇寄语 iphone手机如何越狱是个技术活&#xff0c;说难不难&#xff0c;说简单也不简单&#xff0c;Unc0ver团队发布了世界上第一个针对A12-A13仿生设备的iOS 13 – iOS 13.3越狱。Checkra1n是第一个面向公众的iOS 13越狱工具&#xff0c;但它…

Unc0ver-v5.0.1版本发布,报错原因以及广告问题

unc0ver-v5.0.1版本发布 “通过Cydia和调整注入对iOS 11.0-13.5上的所有设备提供全面支持 启用对越狱应用程序的不受限制的存储访问&#xff0c;以实现沙盒向后兼容性&#xff0c;同时通过为系统和用户应用程序启用安全性限制来保持安全性不变 更新Phone Rebel外壳型号和捆绑的…

unc0ver 越狱工具来袭,免电脑操作,支持 A7-A12,支持iOS11~iOS12.4稳定越狱

开场白 越狱大家肯定不陌生&#xff0c;之前很多小伙伴知道越狱不支持A12芯片&#xff0c;就在昨天unc0ver更新后支持A12越狱了&#xff0c;是不是很厉害&#xff0c;这次更新完后操作方法依然和之前一样&#xff0c;只需要简单几下就能越狱&#xff0c;越狱其实很简单&#xf…

把unc0ver.ipa重签名后安装到手机上实现越狱2023年4月15日更新

文章目录 生成embedded.mobileprovision证书文件生成新的ipa包使用ios app signer重签名2023年4月15日更新,之前用了1年签名过期了,重新签名 前提,需要自己拥有开发者证书才能重签名uncover.ipa实现越狱 使用爱思助手一键越狱以后总提示正在"生成安装包",后来我去了u…

Unc0ver 8.0.0 更新:支持 iOS 14.6-14.8、A12-A13 iPhone 越狱

今日&#xff0c;越狱工具 unc0ver 发布了全新的 8.0.0 版本。现在支持 iOS 14.6-14.8 版本越狱&#xff0c;需要搭载 A12-A13 芯片的 iPhone 手机。 本次越狱支持的系统版本&#xff1a;iOS 14.6、iOS 14.7、iOS 14.7.1、iOS 14.8这4种版本&#xff0c;iOS 15.0以上系统请等待…

unc0ver 越狱工具来袭,支持iOS11.0~iOS14.8稳定越狱 更新至V8.0.2 支持 A7-A14

快讯&#xff1a;iOS11.0~14.3 支持iPhone5S/SE/6/6P/6S/6SP7/7P/8/SE2/8P/X/Xr/Xs/XsMax/11/11Pro/11ProMax/12Mini/12/12Pro/12Max 越狱的朋友&#xff0c;欢迎添加信哥科技视频号客服企业微信&#xff0c;了解更多资讯&#xff08;名片已放在文章结尾&#xff09; unc0ver…

iOS Odyssey 和 unc0ver 的区别

越狱 Odyssey 和 unc0ver 用哪款比较好&#xff01; 暂不提 checkra1n&#xff0c;只是单独说一下手机版在线越狱的这二款工具&#xff0c;先说一下这二款越狱工具区别&#xff0c;Odyssey 越狱后会出现 sileo 越狱商店&#xff0c;而 unc0ver 越狱后会出现 Cydia 商店。 简单来…

深圳vpay钱包系统技术开发分享

和大家一起分享div class”testimonialsno1_我们有源码&#xff0c;需要开发找【bba1887】value”always”>后台参考classid”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000” width”560”&#xff0c;前端看这段testimonialsno1”> width”560” height”360” TYPE”ap…

APICloud集成微信支付(wxPay第二种方案)

写在前面 我是先拿一个Demo测试的&#xff0c;然后再接入我们的app的&#xff0c;其中包名和应用签名必须实时更新&#xff0c;根据不同的app&#xff0c;即使相同的包名&#xff0c;应用签名是不同的&#xff0c;这点需要注意。 评论里的一位小伙伴儿遇到问题后总结出的几个…

Google Play 支付集成

官方文档&#xff1a; https://developer.android.com/google/play/billing 代码按照官网集成就可以&#xff0c;很清楚&#xff0c;下面主要记录控制台的配置。 1.先商品 -> 应用内商品&#xff0c;先上传APK后再添加商品&#xff1a; 2. 创建商品&#xff1a; 3. 启用&a…

集成Google Play支付

前言 这篇文章很早就想写了&#xff0c;由于时间关系一直拖到现在&#xff0c;我相信这篇文章对大多数想要接入Goole Play支付的小伙伴来说&#xff0c;会少走许多坑的&#xff0c;在这里说明一下&#xff0c;笔者在集成过程中踩了不少坑&#xff0c;所有请大家尽情享用成果&a…