本文目录
- iOS 包签名及重签名
- 苹果手机怎样软件签名
- iOS逆向-ipa重签名
- ipa重签名最直接的教程
- 苹果iOS超级签名不会掉签是什么原理是否真的不会掉签
- ios16永久签来了吗
- ios自签为什么只有7天
- 苹果企业签名
- sideloadly签名可以维持几天
- 爱思助手 IPA 签名教程
iOS 包签名及重签名
签名相关的命令:
•$security find-identity -v -p codesigning -- 列出钥匙串里可签名的证书
•$security cms -D -i embedded.mobileprovision -- 查看描述文件
•$codesign–fs “证书串” 文件名 -- 强制替换签名
重签步骤:
1.删除插件和带有插件的.app包(比如Watch)
2.对Frameworks里面的库进行重签名
3.给可执行文件 +x(可执行)权限
4.替换描述文件
5.替换BundleID
6.通过授权文件(Entilements)重签.app包
实际操作:
获取破壳的ipa包
获取第三方ipa包
查看ipa包是否已经破壳 》 非上架的都没加壳,无需关注
解压ipa包,进入playload文件夹,找到MachO文件
在终端使用命令otool -l DingTalk | grep crypt,0是已脱壳,大于0是未脱壳(一
般为1)
终端查看本地有效证书
$security find-identity -v -p codesigning
删除无法签名的插件文件
删除Plugins文件夹和Watch文件夹
对.app文件夹内的Frameworks文件夹中的每一个framework强制重签名
命令:$ codesign -fs “iPhone Developer: xxx “ xxx.framework
找到framework文件夹下所有.framework,分别使用上面的命令对其签名。
建议通过脚本命令执行:
将要签名的描述文件该成 embedded.mobileprovision 替换 来的 embedded.mobileprovision
创建entitlements.plist文件
查看描述文件内容,使用命令security cms -D -I embedded.mobileprovision,找到Entitlements节点,接着创建entitlements.plist文件,内容拷贝过去,最后把entitlements.plist文件拷贝到playload文件夹内(与xx.a
工具: https://www.cnblogs.com/guohai-stronger/p/11781249.html
iOS APP签名机制详解
苹果手机怎样软件签名
苹果手机设置签名方法
设置签名:点开设置--通用--键盘--添加新的短语---(你的名字)再点:输入码--输入两位自己好记的字母即可。---最后点:存储。一切搞定。 例如:我想把我短语中的(单位:XXXX,姓名:XXXX、信箱:XXXX ) 发给对方 。输入码是KK,在写完主题后,可以另起一行。键入KK,再点space建就好了
iOS逆向-ipa重签名
工具:iOS app signer
应用:用另一套证书和.mobileproversion来签,实现同一个ipa包能安装到另一个证书的100台设备上。但有个问题boundle id也变为另一个证书绑定的id了,影响了原ipa里面一些绑定了id的三方SDK,比如一键登录等。
1、重签名后,改变ipa里面的plist文件的id。安装失败。打印sign信息发现Info.plist=not bound。说明改变了plist文件后,签名失效。
2、改变plist后重新签名。安装失败。打印sign信息签名成功。说明是安装到手机时验证失败。在用证书重新签名整个app的时候,签名的是证书绑定的id。打印sign信息的是info.plist的id,装机验证会失败。
参考
iOS 的 Code Signing 体系
ipa重签名
iOS开发各种证书详解
ipa重签名最直接的教程
重签名的意义:ipa 重签名最大的用处是,不必重新打包,和配置其它第三方获取 appkey 等操作,直接重签名之后依然可以拥有这些功能,更快的发布测试或者灰度版本。
本文介绍三种方式的重签名,当然着重介绍第一种,因为目前来说是签名最全面的,也是最可靠的。
看图说话最直接,下面就看看终端的截图,当出现Successfully signed 路径/xxx.ipa!原来文件夹中的.ipa已经被重签名了。
现在还能用的助手不多了,pp 助手目前还存活,iTools 已经频繁报错没更新了。pp 助手安装 ipa 包的流程大致如下:
看得懂或者熟悉脚本的同学可以前往以下地址: /usr/local/lib/ruby/gems/2.3.0/gems/sigh-2.0.1/lib/assets/resign.sh 或者 /usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.61.0/sigh/lib/assets/resign.sh 版本号是根据自己当前 sigh 插件的版本号决定的(直接执行此脚本可以重签多 target 的 ipa: ./resign.sh YourApp.ipa “iPhone Distribution: YourCompanyOrDeveloperName“ -p “bundel id“=《path_to_provisioning_profile_for_app》.mobileprovision -p “bundel id“=《path_to_provisioning_profile_for_watchkitextension》.mobileprovision -p “bundel id“=《path_to_provisioning_profile_for_watchkitapp》.mobileprovision -p “bundel id“=《path_to_provisioning_profile_for_todayextension》.mobileprovision resignedYourApp.ipa )
Github的官方 read me 提示: This app requires Xcode to be installed, it has only been successfully tested on OS X 10.11 at this time.
参考文章:
iOS ipa包重新签名
ipa重签名
iOS 应用重签名上
iOS ipa重签名终极傻瓜版(含动态framework、entitlements)
iOS App 签名的原理
ios app 开发中ipa重新签名步骤介绍
iOS ipa重签名工具 - iOS App Signer
苹果iOS超级签名不会掉签是什么原理是否真的不会掉签
在使用ios系统的设备时,如果自己需要从App Store以外的环境安装APP,都需要手动对该APP进行信任,才能在自己的设备上正常使用,而且经常在用了一段时间后,APP会发生无法打开、闪退、出现受限等情况。其实,这是因为该APP的企业签名掉签的缘故。而另一种签名方式,也就是ios超级签名算是个人的签名,无需用户进行信任操作,这一点与企业签名有很大不同,使得在这种签名下的APP只要安装了就能用,并且十分稳定。但,这种签名并不是说真的不会掉签。
一、超级签名不会掉签的原理
ios超级签名的原理很简单,就是使用了苹果开发者个人账号实现的ios自动化签名,简单来说就是将苹果设备UDID进行添加然后打包进行真机测试。此外,由于这种签名是直接进行分发的,本身不用提供UDID,也无需上架App Store,更不用手动信任和提供账号来加以下载。也就是说,该签名在ios系统中的级别很高,所以该签名的APP比企业签名的APP更加稳定。
二、超级签名具有时效性,也有数量限制
虽然说ios超级签名确实比较稳定,但并不是说超级签名就是万能的,因为超级签名具有时效性,如果到期后该签名依然会失效,用户也无法再打开APP。一般来说,签名到期时间都是根据提供签名的账号本身到期时间来决定的,通常情况下是一年。所以说,超级签名的APP基本上每年都要重新下载一次,更换新的签名,并不是永久不会掉签,只是再继续签比较容易罢了。此外,超级签名也对有设备数量限制,一般来说,每个开发者账号可以给100台设备进行签名。
总的来说,ios超级签名与企业签名有本质上的不同,所以它相较于企业签名更稳定,但并不是真的不会掉签。
ios16永久签来了吗
ios16永久签来了。根据查询相关公开信息,在TrollStore永久签工具发布后,ios16.1.1也退出永久签工具,并进行了改进。
ios自签为什么只有7天
因为用的是sideloadly签名。
经查询iosgods论坛获知sideloadly签名只可以维持7天。
SideLoadly是国外iosgods论坛出品的一款简单且实用的签名工具,通过个人ID可以进行IPA7天签名。
苹果企业签名
一、用iReSign工具进行ipa重签名
iReSign运行界面:
appName.ipa : 要重签名的ipa
embedded.mobileprovision : 用来签名的provision文件
entitlements.plist : 授权机制
distributionName : 指该签名对应的证书的名字,在keychain中可以找到对应证书的名称
1.mobileprovision文件名字可以随便取,iReSign程序在将mobileprovision文件拷贝到app中时会重命名为embedded.mobileprovision。
2.第三行entitlement.plist必须填写,不然会一直卡在Entitlements generated。
3.不需要修改BundleID时,修改ID前面的CheckBox不要勾选。
稍等一会就会生成example-resigned.ipa新的ipa文件。
授权机制决定了哪些系统资源在什么情况下允许被一个应用使用。简单的说它就是一个沙盒的配置列表。Xcode会将这个文件作为 --entitlements参数的内容传给codesign。
这个文件内部格式如下:
注意:application-identifier中的BundleID必须是用来重签名证书上的BundleID,不然重签名出来的ipa包安装会出错。
解决方法:
可以将源码中的这个判断去掉。
解决方法:
查看entitlements.plist文件中的application-identifier的BundleID是不是用来重签名证书上的BundleID。
sideloadly签名可以维持几天
sideloadly签名可以维持7天。
[SideLoadly]是国外 iosgods 论坛出品的一款简单且实用的签名工具,通过个人ID可以进行IPA7天签名,支持 Win 和 Mac 系统,相对比爱思助手的ID签名兼容性会更加友好,缺点是:每个ID只能签名三个应用,并仅能使用7天!
爱思助手 IPA 签名教程
对于不能上架 App Store 的应用,可以使用证书签名或使用 Apple ID 签名后正常安装到设备。准备好证书或 Apple ID 以及需要签名的 IPA 文件,使用爱思助手就可以快速完成签名。
使用证书签名:适用于自购证书进行签名,签名的有效期为 1 年。
使用 Apple ID 签名:适用于开发者或普通用户免费使用 Apple ID 进行签名,签名的有效期为 7 天。
在爱思助手“工具箱”中打开“IPA 签名” :
点击“添加 IPA 文件”选择需要签名的 IPA 文件:
点击“导入证书”选择用于签名的证书、描述文件,添加完成后输入该证书密码:
(没有企业证书的选择 “ 使用Apple ID 签名 ” ,并按提示登录自己的Apple ID即可 参照下方【 使用 Apple ID 签名方法 】教程)
添加完所有 IPA 文件和证书文件后,可以根据自己的需求选择签名后的文件保存路径:
勾选用于签名的 IPA 文件和证书,点击“开始签名”即可。
选择“使用 Apple ID 签名 - 添加 Apple ID”,随后输入用于签名的 Apple ID、密码并选择或输入对应设备的设备标识(指签名后 IPA 文件要安装的设备):
检查无误后点击“确定”。建议操作前需要将 iOS 设备连接至爱思助手,并保证可以读出“设备标识”,如果未连接设备,需要手动输入设备标识。Apple ID 添加完成后下方列表就会显示签名信息:
之后,添加需要签名的 IPA 文件并勾选 IPA 文件和用于签名的 Apple ID,点击“开始签名”即可,签名成功后就可以通过爱思助手安装该应用了。安装完成后,在 iOS 设备上首次打开前记得去“设置 - 通用 - 描述文件”内信任该应用。
请务必注意,已签名的 IPA 文件和原文件保存路径可能并不相同,签名后应该点击“打开已签名 IPA 位置”按钮,可用于安装的已签名 IPA 文件都会储存在该目录下,请注意分辨。