frida环境配置、以及如何脱壳iOS包并安装到非越狱设备-制作iOS任意App分身

简介: frida环境配置、以及如何脱壳iOS包并安装到非越狱设备-制作iOS任意App分身

一、frida Mac环境配置

1. 安装frida,列出可用frida版本


pip3 install frida==

输出结果如下,可看到最新版本为15.1.25


frida== (from versions: 4.2.12,..., 15.1.25)

安装frida命令


pip3 install frida==15.1.25

2. 安装frida-tools列出可用frida-tools版本


pip3 install frida-tools==

输出结果如下,可看到最新版本为10.6.2


frida-tools== (from versions: 1.0.0, ..., 10.6.2)

安装frida-tools命令


pip3 install frida-tools==10.6.2

frida安装最终路径


/usr/local/bin/frida

3. 设置环境变量(如环境正常、此步可忽略),python默认自带2.7,最新mac版本已移除,如果是python3,可以配置环境变量,用户目录下,编辑.bash_profile(如果配置了zsh,编辑.zshrc),新增以下命令:


alias frida="python3 /usr/local/bin/frida"

使其生效(zsh配置使用source .zshrc)


source .bash_profile

4. 配置完成后,可查看是否安装成功



➜  ~ frida --version15.1.25

二、手机安装frida

手机越狱设备安装frida步骤:添加源(cydia - 软件源 - 编辑 - 添加 - 输入 https://build.frida.re


➜  ~ frida --version
15.1.25

搜索frida、并安装,如图所示:

三、电脑端配置frida-ios-dump

1. 克隆frida-ios-dump源码


git clone https://github.com/AloneMonkey/frida-ios-dump.git

2. 进入到clone下来的路径,安装引用python库


pip3 install -r requirements.txt --upgrade

3. 执行以下命令,可以看是否安装、连接成功


➜   frida-ps -U

输出以下结果代表安装成功


Waiting for USB device to appear...
 PID  Name
----  -----------------------------------------------
4888  AGXCompilerService                             
4183  AppleCredentialManagerDaemon 
...
4256  邮件

四、frida具体使用

1. 查看设备正在运行的程序


frida-ps -Ua

运行结果:

 PID  Name       Identifier               
----  ---------  -------------------------
4511  Cydia      com.saurik.Cydia         
4909  ‎WhatsApp  net.whatsapp.WhatsApp    
4882  照片         com.apple.mobileslideshow
...

2. 获取所有已经安装的程序列表


python3 dump.py -l

3. 利用以下命令,脱壳解密ipa


python3 dump.py  bundleid

如下命令脱壳2048应用(仅做测试使用),但是会报ssh错误

➜   python3 dump.py com.ketchapp.2048
[Errno None] Unable to connect to port 2222 on 127.0.0.1 or ::1
Try specifying -H/--hostname and/or -p/--port

接下来可以通过USB使用ssh连接设备,将22映射到电脑上的2222端口,使用以下命令,会出现如下结果



➜  iproxy 2222 22
waiting for connection

接下来新开终端,执行命令,并根据提示启动App


➜   python3 dump.py com.ketchapp.2048
Start the target app com.ketchapp.2048
Dumping 2048 to /var/folders/tz/zldyq2q95zzb0xphkv2xycz80000gn/T
...
nanopb.fid: 100%|█████████████████████████████████| 79.8k/79.8k [00:00<00:00, 1.12MB/s]
close.png: 60.4MB [00:04, 14.1MB/s]                                                    
0.00B [00:00, ?B/s]
Generating "2048.ipa"

最后在frida-ios-dump文件夹中可以看到2048.ipa,则脱壳完成。

5. 安装到非越狱设备

1. 首先下载重签名工具


https://github.com/gltwy/LTResign.git

2. 对ltresign增加可执行权限(Mac会弹出移到废纸篓,在设置中允许访问即可)


chmod +x ltresign

3. 使用帮助,也可对应Github使用中Readme查看

➜   ./ltresign
重签名需要传入的参数:
-s, --source              源App/ipa的路径(必传)
-d, --developer           证书签名id(必传)
-m, --mobile              embedded.mobileprovision路径(必传)
-o, --output              ipa导出路径(可选,默认当前路径)
-n, --name                指定导出后的Display Name(可选,默认为原始)
-b, --bundleid            指定导出后的BundleIdentifier(可选,默认为原始)
获取证书签名id:
-l, --codesigningid       证书签名id
app/ipa是否加密:
-e, --encrypt             根据app/ipa路径判断可执行文件是否加密
当前工具的版本:
-V, --version             版本号
显示帮助信息:
-h, --help                帮助

4. 执行重签名命令(个人证书-7天有效期、开发者证书、企业证书均可)


./ltresign -s ~/LTResign/2048.app -d 0000000000000000000000 -m ../embedded.mobileprovision -o ./glttest.ipa -b "com.halou.test" -n "4096"

运行结果

Creating temp file...
正在开始签名...
支持的设备数:1台
cryptid 0 (已解密)
...
glt_tmp/glt_tmp.app: replacing existing signature

5. 然后将glttest.ipa通过助手安装到手机即可,至此分身制作、安装完成,并可以正常启动,如图

源码地址:https://github.com/gltwy/ltresign

相关文章
|
1天前
|
安全 数据安全/隐私保护 Android开发
【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
103 75
|
12天前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
117 18
|
12天前
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
|
2月前
|
传感器 iOS开发 UED
探索iOS生态系统:从App Store优化到用户体验提升
本文旨在深入探讨iOS生态系统的多个方面,特别是如何通过App Store优化(ASO)和改进用户体验来提升应用的市场表现。不同于常规摘要仅概述文章内容的方式,我们将直接进入主题,首先介绍ASO的重要性及其对开发者的意义;接着分析当前iOS平台上用户行为的变化趋势以及这些变化如何影响应用程序的设计思路;最后提出几点实用建议帮助开发者更好地适应市场环境,增强自身竞争力。
|
2月前
|
设计模式 Swift iOS开发
探索iOS开发:从基础到高级,打造你的第一款App
【10月更文挑战第40天】在这个数字时代,掌握移动应用开发已成为许多技术爱好者的梦想。本文将带你走进iOS开发的世界,从最基础的概念出发,逐步深入到高级功能实现,最终指导你完成自己的第一款App。无论你是编程新手还是有志于扩展技能的开发者,这篇文章都将为你提供一条清晰的学习路径。让我们一起开始这段旅程吧!
|
3月前
|
开发工具 iOS开发 MacOS
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
163 0
|
5月前
|
Android开发 iOS开发 C#
Xamarin:用C#打造跨平台移动应用的终极利器——从零开始构建你的第一个iOS与Android通用App,体验前所未有的高效与便捷开发之旅
【8月更文挑战第31天】Xamarin 是一个强大的框架,允许开发者使用单一的 C# 代码库构建高性能的原生移动应用,支持 iOS、Android 和 Windows 平台。作为微软的一部分,Xamarin 充分利用了 .NET 框架的强大功能,提供了丰富的 API 和工具集,简化了跨平台移动应用开发。本文通过一个简单的示例应用介绍了如何使用 Xamarin.Forms 快速创建跨平台应用,包括设置开发环境、定义用户界面和实现按钮点击事件处理逻辑。这个示例展示了 Xamarin.Forms 的基本功能,帮助开发者提高开发效率并实现一致的用户体验。
204 0
|
5月前
|
关系型数据库 Linux PostgreSQL
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
|
5月前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
5月前
|
数据库 Python
【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?
【Azure 应用服务】App Service中运行Python 编写的 Jobs,怎么来安装Python包 (pymssql)呢?