首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ios重签名教程

ios重签名教程

作者头像
tea9
发布于 2022-07-16 09:15:22
发布于 2022-07-16 09:15:22
1.5K00
代码可运行
举报
文章被收录于专栏:tea9的博客tea9的博客
运行总次数:0
代码可运行

前言

我们遇到android app现在加固限制可能有很高的分析难度,不容易进行抓包,我们可以用ios的包脱壳然后进行分析会相对容易些,这篇文章主要讲了如何给ios设备越狱、给ios应用程序脱壳重签名,脱壳之后就可以进行分析代码、修改代码重签名之后可以在安装到设备上。

越狱

手机型号iphone6 手机版本:12.4.5 工具:爱思助手 因为我的版本是12.4.5所以选择CheckRa1n越狱 CheckRa1n越狱 重启后需要在越狱一遍 如果是其他版本查看爱思助手是否支持 用手机连接电脑-打开爱思助手选择刷机越狱-点击CheckRa1n越狱

弹出Welcome to checkra1n!选择start进行刷机

next

选择start 1.点击start 2.按住side和home键看图片 3.松开side键但保持按住home键

重启后刷机成功了 打开手机桌面上 checkra1n 选择按住cydia

安装frida

使用python3 我使用的是python3.7 安装frida

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
电脑端:
pip install frida
pip install frida-tools 
pip install objection  

手机端: 在cydia中添加frida源 https://build.frida.re 打开cydia-软件源-编辑-添加 点击添加源进行添加

在cydia添加frida源后,搜索frida,根据iOS设备版本安装对应的frida服务端 选择安装 我选择的是frida for pre-A12,iPhone6s是A9处理器

frida使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
查看frida版本号 正确显示版本号说明正确安装了
~ » frida --version                                           

14.2.13
查看设备
~ » frida-ls-devices                                               tea@teadeMBP
Id                                        Type    Name        
----------------------------------------  ------  ------------
local                                     local   Local System
4443c74f7b644116cdc90386281868199f45a13a  usb     iPhone      
socket                                    remote  Local Socket
--------
查看应用
 » frida-ps -U                                                    tea@teadeMBP
 PID  Name
----  --------------------------------------------------------
 925  Cydia
2495  ScreenshotServicesService
 236  checkra1n
2426  支付宝
2472  设置
 253  邮件
 151  AGXCompilerService
 126  AGXCompilerService
  74  AppleCredentialManagerDaemon
 170  AssetCacheLocatorS
查看运行的应用
~ » frida-ps -Ua                                                   tea@teadeMBP
 PID  Name       Identifier             
----  ---------  -----------------------
 925  Cydia      com.saurik.Cydia       
 236  checkra1n  kjc.loader             
2426  支付宝        com.alipay.iphoneclient
2472  设置         com.apple.Preferences  
 253  邮件         com.apple.mobilemail   

查看是否加壳

把ipa解压拿到二进制可执行文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
otool -l 可执行文件 | grep crypt

/xx.app» otool -l xx | grep crypt
     cryptoff 16384
    cryptsize 38797312
      cryptid 0

cryptid 0 = 无壳 cryptid 有壳为1,已脱壳为0)

砸壳

ios端app商店上线之前会由苹果商店进行FairPlayDRM数字版权加密保护简称加壳,如果我们要进行分析代码需要先进行脱壳

听大佬的推荐使用庆总的frida-io-dump进行脱壳

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
下载frida-ios-dump
git clone https://github.com/AloneMonkey/frida-ios-dump.git 
cd frida-ios-dump                                                 
sudo pip install -r requirements.txt --upgrade

需要使用usbmuxd链接手机

下载usbmuxd http://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz 用usb线连接手机 解压进入到python-client

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd python-client
执行即可将mac上的端口转发到ios上的端口 tcprelay.py -t iOS的端口:mac上的端口
python tcprelay.py -t 22:2222 
执行命令查看是否连接
ssh root@localhost -p 2222
默认密码alpine
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
执行脱壳脚本
可以写Name或者Identifier
cd frida-ios-dump 
python dump.py Aftenposten
脱壳的文件就在frida-ios-dump目录下

安装xcode

因为重签名需要下载xcode,如果是最新版的系统则可以在appstore上下载最新版本的xcode 如果是老版本需要在苹果官网上下载 选择对应版本的xcode进行下载 如何查询xcode版本号打卡appstore的xcode介绍页-选择版本历史记录 如我的电脑版本是macos Catalina 10.15.6可以下载xcode11.7版本

下载成功后是个Xcode_11.7.xip文件 用系统自带的归档实用工具进行解压就得到xcode安装程序,在把程序拖到Applications在进行打开 1.保证存储空间 20G 2.去除解压验证 xattr -d com.apple.quarantine Xcode_11.7.xip 3.双击解压

http://dantheman827.github.io/ios-app-signer/

重签名

github:https://github.com/DanTheMan827/ios-app-signer http://dantheman827.github.io/ios-app-signer/ 直接下载后解压安装就可以了 文档上有详细的使用步骤,主要注意的点是,要在xcode上创建项目,正常运行安装到手机 可能会遇到id重复,修改下id就可以了

对应真机的版本不一致在General-Deployment Info 中修改就可以

id重复了在General-Identity修改id就可以

Input File选择重签名的文件 Signing Certificate 选择对应的证书 Provisioning Profile 选择重签名描述文件(双击.mobileprovision文件即可。切勿选择 Re-Sign Only ,无效。) 点击Start开始

[Mac] 使用ios app signer 对app签名

查看签名信息

解压ipa文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /Payload/xx.app
security cms -D -i embedded.mobileprovision
	<key>TeamIdentifier</key>
	<array>
		<string>RYPxxxH4N</string>
	</array>
	<key>TeamName</key>
	<string>Shxxxd</string>
	<key>TimeToLive</key>
	<integer>365</integer>
	<key>UUID</key>
	<string>b2dxxxb08</string>
	<key>Version</key>
	<integer>1</integer>
 最后面会输出相关信息

或者使用codesign 解压ipa文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
codesign -vv -d xx.app 
Executable=/Users/xx/Documents/Payload/xx.app/xx
Identifier=com.xx.xx
Format=app bundle with Mach-O thin (arm64)
CodeDirectory v=20400 size=412917 flags=0x0(none) hashes=12895+5 location=embedded
Signature size=4894
Authority=Apple Development: xx xx (UXxxxxx)
Authority=Apple Worlxxrity
Authority=Apple Root CA
Signed Time=Mar 16, 2021 at 5:33:54 PM
Info.plist entries=53
TeamIdentifier=RYxxxxxx
Sealed Resources version=2 rules=10 files=3414
Internal requirements count=1 size=176

确定签名信息跟之前ipa包不一致了就进行安装

安装IPA

安装可以使用手机助手pp助手或者爱思助手也可以使用xcode进行安装 打开xcode选择window-Devices and Simulators 选择加号进行安装

查看日志

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
安装
brew install ideviceinstaller
idevicesyslog 
查看安装的日志
idevicesyslog | grep 'installd' --color  -A  10  -B  10  
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
iOS 逆向工具:逆向做的好,码农下班早丨音视频工具
App 逆向工程是做竞品分析的常用方法,常言道『逆向做的好,码农下班早』,懂的都懂。这里我们对 iOS 逆向做一下简单介绍,这里面会涉及如下工具:
关键帧
2022/06/13
1.3K0
iOS 逆向工具:逆向做的好,码农下班早丨音视频工具
iOS逆向-ipa包重签名及非越狱手机安装多个微信
前一段时间学了点儿逆向相关的一些东西,但是都是基于越狱手机上的操作,给视频类应用去广告之类的。随着苹果生态圈的逐渐完善、及苹果对自身系统的保护越来越严格,导致现在的iPhone手机并不像以前那样存在大量的越狱用户。 前段时间我自己申请了个微信小号,申请小号的目的就是原来微信号好友中乱七八糟的人实在太多,感觉自己的朋友圈都是一些无关紧要的垃圾信息,曾经关闭了一段时间的朋友圈,但是最近遇到了好多技术上很强的同行,还想了解大佬们的动态。于是我就想着申请了个小号,但是麻烦来了,iPhone手机并不像安卓手机那
czjwarrior
2018/05/31
4K0
iOS逆向之app脱壳
iOS端App在上线之前会有苹果商店进行FairPlayDRM数字版权加密保护,我们称之为“加壳”。要对App Store分发的iOS App进行分析,我们需要先对App进行解密,我们称之为“脱壳”,有些人也称为“砸壳”。脱壳之后的二进制文件就是原始的、未加密的二进制文件。
VV木公子
2020/12/22
13.2K0
iOS逆向之app脱壳
二、应用脱壳
iOS端App在上线之前会由苹果商店进行FairPlayDRM数字版权加密保护(简称“加壳”)。要对应用进行分析,就必须先解密(成为“脱壳”),从而得到原始未加密的二进制文件。本节将讨论各种各样的脱壳技术。
Scott_Mr
2022/05/13
1.6K0
二、应用脱壳
免越狱调试与分析黑盒iOS应用
上篇文章我们从开发者的角度介绍了如何建立iOS项目并且在真机上运行, 上上篇文章则介绍了Objective-C的基本概念和用法。而这一切,都是为了这次的铺垫。 今天,我们就要从攻击者的角度,尝试对黑盒iOS应用进行调试与动态跟踪(instrument)。
evilpan
2023/02/12
2.1K0
iOS逆向之使用unc0ver越狱 iOS13.5
因为工作需要,笔者最近在研究越狱,网上看了很多文章,这篇文章记录了给iOS 13设备越狱的方式和过程,希望对你有帮助。
VV木公子
2020/09/11
13.3K0
iOS逆向之使用unc0ver越狱 iOS13.5
iOS逆向(3)-APP重签名
原文地址:https://juejin.im/post/5c7e72cd6fb9a049fc044519”
iOSSir
2019/06/14
1.5K0
iOS逆向(3)-APP重签名
在IPA中重签名iOS应用程序
当我们在对iOS应用程序执行黑盒安全测试时,我们一般只能从AppStore来访问和获取iOS应用程序。但是在大多数情况下,客户都会给我们提供一个IPA文件。在黑盒测试过程中,我们无法访问目标应用的源代码,因此通过Xcode将其部署到设备并进行测试,几乎是不可能的。但是有一种可行的解决方案,即使用我们手头上的配置文件来重新启动应用程序,并将其部署到我们的测试设备上。
FB客服
2020/03/10
3K0
ios逆向-frida&环境&破解appSign算法
比WIFI响应速度快,网络环境无限制 usbmuxd是网上开源社区,貌似是国外牛人倾力打造的一个专门针对该功能开源库 通过brew来安装brew install usbmuxdusbmuxd 自带工具iproxy,iproxy 可以快捷的操作连接iPhone等操作。由于Mac上只支持4位的端口号,所以需要把iPhone的默认端口22映射到Mac上,相当于建立一个Mac和iPhone之间的通道。iproxy 2222 22以上命令就是把当前连接设备的22端口(SSH端口)映射到电脑的1215端口,那么想和设备22端口通信,直接和本地的1215端口通信就可以了。终端提示 waiting for connection ,表示这两个端口之间已经可以通信了,保留当前终端(如果关闭就停止端口之间的通信了),新建另一个终端输入,默认密码:alpinessh -p 2222 root@127.0.0.1
吾爱小白
2020/12/02
4.5K0
ios逆向-frida&环境&破解appSign算法
IOS脱壳+反编译
拷贝 dumpdecrypted.dylib 这个之前编译签名好的文件到iPhone 上面该 APP 的 Documents 目录有两种方法.
小小咸鱼YwY
2022/05/09
2.4K0
iOS 企业签名与超级签名
好久没有静下心来写点iOS方面的东西了,可能是忙了一些,也可能我们都不是几年前的我们,但工资却回退到几年前 好了,不说废话,今天讲讲签名的那些事
GuangdongQi
2019/08/29
3.4K0
iOS 企业签名与超级签名
iOS应用构建与部署小结
上篇文章介绍了Objective-C的基本概念,本文就来接着看如何创建我们的第一个简单iOS应用, 本着简单可复现的方式,我们会以尽可能小的成本来构建并在真机运行iOS应用。 也就是说, 不用越狱, 也无需开发者账号。当然,一台iPhone手机还是需要的,最好还有一台Mac。
evilpan
2023/02/12
2.2K0
iOS应用构建与部署小结
一、越狱环境搭建
通过爱思助手查看哪些系统支持越狱,最好选择可刷机可越狱版本,选择支持ARM64架构的设备(iPhone5s及以上),选择iOS9.0及以上版本,因为很多App不能在iOS9之前的版本运行,优先考虑“完美越狱”的设备,因为它们重启后不需要重新越狱。 随着BootROM(checkm8)漏洞的公开,基于该漏洞的“永久越狱”工具checkra1n悄然发布,支持iPhone5~iPhoneX之间的任何设备。因为BootROM漏洞无法修复,所以该工具也能支持iOS12、iOS13以及未来所有版本设备的越狱。在官网可以下载越狱工具,喜欢高版本系统的读者可以考虑。
Scott_Mr
2022/05/12
1.3K0
iOS安全测试—dumpdecrypted脱壳
我们日常开发提交给Appstore发布的App都经过官方保护加密,这样可以保证机器上跑的应用是经过苹果审核过的,也可以管理软件授权。经过App Store加密的应用,我们无法通进行反编译静态分析,在逆向分析过程中需要对加密的二进制文件进行解密才可以进行静态分析,这一过程就是所谓的脱壳(砸壳)。
清风穆云
2021/08/09
1.8K0
教你实现一个 iOS 重签名工具
对于 iOS 开发者来说,重签名技术应该说是比较熟悉的,而且重签名的实现脚本网上已经有很多,实现逻辑上基本也差不多,其中不乏像 iOS App Signer 这样优秀的重签名工具。
37手游iOS技术运营团队
2022/01/05
5K0
教你实现一个 iOS 重签名工具
iOS 12.2 脱壳/砸壳(使用frida-ios-dump)
加壳:利用特殊算法,对可执行文件的编码进行改变(压缩、加密),达到保护程序代码的目的
conanma
2021/11/04
3K0
iOS开发(1)iOS签名机制
1、常见英文 encrypt:加密 decrypt:解密 plaintext:明文 ciphertext:密文
conanma
2021/11/04
1.7K0
【iOS】浅析近期越狱工具+“平刷”工具
越狱工具:unc0ver,chimera,checkra1n(chimera1n)
zby1101
2020/08/05
6.3K0
【iOS】浅析近期越狱工具+“平刷”工具
iOS逆向(10)-越狱!越狱!远程连接登录手机
之前的九篇文章讲述的是在不越狱的情况下,详细的讲解了对APP重签名的原理,如何动态库注入,以及之后的各种调试技巧。这些功能其实已经很强大了,能够帮助咱们在绝大多数情况下去分析并且更改对方的APP了。这对付一些在开发过程中没有安全意识的APP其实已经足以。但是但凡对方有对APP进行防护,那么重签名就显得有些弱鸡了。
iOSSir
2019/06/14
2.3K0
iOS逆向(10)-越狱!越狱!远程连接登录手机
ios逆向之使用AltDeploy安装未签名ipa
在对iOS app进行安全分析时,为了动态调试iOS app或者hook iOS app,需要先将app安装到手机中。有的iOS app可以通过App Store或者其他手机助手app直接下载安装,而其他未签名app则需要通过电脑手动安装到手机中。之前我们一直使用cydia impactor进行安装,现在由于apple服务器端内调整,导致通过cydia impactor无法安装ipa。因此我们则需要使用AltDeploy代替cydia impactor来安装ipa。接下来将介绍安装流程。
用户4682003
2022/05/19
2.1K0
ios逆向之使用AltDeploy安装未签名ipa
相关推荐
iOS 逆向工具:逆向做的好,码农下班早丨音视频工具
更多 >
LV.1
这个人很懒,什么都没有留下~
作者相关精选
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档