ios打包ipaipa重新签名 添加文件问题

业精于勤荒于嬉,行成于思毁于随
iOS逆向必备绝技之ipa重签名
2018开篇,这回要讲的是iOS重签名,网上重签名的工具太多了,我试用了一下,都还挺好使。但是,你不知道,我是个喜欢装逼的人吗?用工具怎么够酷呢?对,装逼得用终端。接下来的操作都是在终端中进行,开始你的装逼之旅吧!
一、重签名准备工作:
找到开发者证书和配置文件:
列出所有开发者证书文件:
security find-identity -p codesigning -v
找一个开发环境配置文件生成entitlements.plist文件,后面签名要用到:
security cms -D -i XX.mobileprovision
& profile.plist
/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' profile.plist & entitlements.plist
cat entitlements.plist
把准备好的开发环境配置文件复制到XX.app文件夹下:
cp XX.mobileprovision Payload/XX.app/embedded.mobileprovision
修改包Info.plist中的Bundle Identifier与配置文件中的Bundle Identifier保持一致:
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.XX.XX" Payload/XX.app/Info.plist
移除之前的签名文件夹:
rm -rf Payload/XX.app/_CodeSignature
二、iOS重签名:
重签名framework:
/usr/bin/codesign --force --sign 84A4B9F1FD01E9FF72C1BA04A97653
--entitlements entitlements.plist /Payload/XX.app/Frameworks/JSONModel.framework
重签名app执行文件:
/usr/bin/codesign --force --sign 84A4B9F1FD01E9FF72C1BA04A97653 --entitlements entitlements.plist Payload/XX.app/XX
查看app签名信息:
codesign -vv -d
Payload/XX.app
注意:重签名有顺序,先把framework和dylib签名,最后再签名:XX.app/XX,顺序弄错了,就算签名成功也可能会安装失败!
三、调试和打包:
安装与调试:
ios-deploy -d -b Payload/XX.app
出现如下success字样,就证明成功了!
过程中如果遇到错误提示:“Error 0xe8000067: There was an internal API error. AMDeviceSecureInstallApplication(0, device, url, options, install_callback, 0)”
错误原因:可能存在有framework或者dylib未签名的情况。
解决方案:把app文件夹下面的framework全部签名。
打包(package):
zip -qry ppdest.ipa Payload
rm -rf Payload/
四、iOS重签名工具介绍:
用重签名:
用重签名:
五、参考资料地址:
此文仅供学习交流,转载请注明出处!
原文地址:
IOS逆向笔记之重新签名(非越狱)
【iOS逆向工程】从脱壳到获取源码
iOS app签名机制
(原创)iOS签名功能的实现
iOS逆向 ipa包重签名
关于iOS app如何重签名,个人心得
iOS应用程序的重签名(打包)
iOS ipa重签名 、resign
ipa重签名的四种方式
iOS动态库重签名步骤
没有更多推荐了,&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
Xcode打包ipa的基本步骤(有证书和无证书)
摘要:确保电脑联网,不然干什么都是扯淡!!1、关于AppleID很简单,任何人只要跟苹果设备打交道,必须要有AppleID。要想打包ipa,同样也必须要有AppleID,没有的自己注册去。下面为在Xcode中添加AppleID作为账号的步骤:2、关于开发者账号http://www.lofter.com/postentry?from=search&;permalink=2555de_672c927网上有大批的开发者账号注册流程,可以去参考,应该很简单。我没有注册过,一直用的别
确保电脑联网,不然干什么都是扯淡!!
1、关于Apple ID
很简单,任何人只要跟苹果设备打交道,必须要有Apple ID。要想打包ipa,同样也必须要有Apple ID,没有的自己注册去。
下面为在Xcode中添加Apple ID作为账号的步骤:
2、关于开发者账号
http://www.lofter.com/postentry?from=search&;permalink=2555de_672c927
网上有大批的开发者账号注册流程,可以去参考,应该很简单。我没有注册过,一直用的别人的账号。
注册账号之后,可以去苹果的开发者中心
https://developer.apple.com/membercenter/index.action
管理账号,证书,provision profiles等等。还可以添加测试设备等。
点进去会有这样的配置界面的。
3、关于Certificate、Provisioning Profile
可以参考这篇文章看看他们之间的关系,Certificate(证书)就是app在打包的时候必须签名,苹果iOS系统在安装app之前会验证Certificate,否则不会通过安装。
Provisioning Profile简单来说就是包含Apple ID,证书,和设备ID等各种信息的集合体。一般来说,在打包ipa的时候,必须配置Provisioning Profile。
下面来看看Provisioning Profile在Xcode中的体现
如果前面添加了Apple ID账号,进入这个界面,会看到有选项给你选的。
我这里有2个账号。一个是开发者,一个不是。
选择个人账号之后,很明显没有签名,也就是对应这个Apple ID账号在你的Mac本地是没有对应的Provisioning Profile的。Provisioning Profile是需要去开发者中心
https://developer.apple.com/membercenter/index.action
配置的,具体怎么配置网上有教程
http://www.w-cun.com/post/ioskai_34009.htm
配置完成之后从网上下载下来保存安装到本地的。
怎么保存安装,第一种,直接去开发者中心下载安装即可,这里不介绍。
第二种、直接在Xcode中点击上图所示的“Fix Issue”即可。
当然我的这个个人账号不是开发者,那就更不谈配置Provisioning Profile了,所以“Fix Issue”没有什么卵用。
换一个有效的账号,“Fix Issue”之后警告消失了!表明你可以用这个账号进行签名打包。
不论用上面哪种方法安装Provisioning Profile,安装完成之后,可以在这里/Users/XXXXX/Library/MobileDevice/Provisioning Profiles找到相应的文件,如果以后换了台Mac,发现不能签名了,可以直接拷贝这些文件过去。
4、证书签名
在Xcode7之前,真机调试和打包ipa是必须要签名的。但是Xcode7出来了,真机调试不需要签名了。打包ipa也可以不需要签名,那不是可以绕过苹果安装app了??想得美,如果不签名打包的ipa那是不能安装的!!!打包可以不需要签名,但是你要想安装的话,必须签名。
签名打包就是在编译的过程中加入证书签名,那肯定是需要去Xcode中配置的,目前网上有方法能实现企业级证书打包签名不需要在编译时,而在编译之后。因此现在打包有两种方式:
1、在Xcode中配置code sign,实现签名打包ipa。适用于企业级账号证书,个人账号证书。
2、在Xcode中无证书打包ipa,上传到指定工作室网站,淘宝上现在一大堆打包服务的,由别人用他们的账号签名ipa。适用于企业及账号。
5、Xcode证书签名打包
1、设置有效的Archive配置,如下图所示,这里面一定要选择复制“Release”,因为发布版本一定是release的,这个做程序的都知道哈。
2、Edit Scheme
这里选择刚才复制“Release”的add-hoc,当然你也可以不做第1步,这里直接选择“Release”也是可以的,添加add-hoc纯粹是为了区分,方便管理。
3、配置code sign
还有一个地方,也要填,两个code sign的地方都不能漏
4、Archive
先设置编译设备,只能选择iOS Device,选择其他模拟器是不能Archive的
然后Archive
等待,Archive会弹出这个
最上面的一个就是最新Archive出来的。。。
最后就是导出了,点击上图中的“Export”,如下所示,很显然第一个选项是发布app的,不要点,那是个人开发者账号可以干的事情。
下面把三个的话,看上面的文字,写的很清楚,打包的ipa用于在app store外面发布。
那么对于个人账号,打包的ipa能发布么?能安装到iOS设备上么?
答案是不能,能的话还需要越狱干嘛,还需要app store干嘛,个人账号发布的app唯一途径就是app store,发布app store除了我上面写的1,2,3,4,5巴拉巴拉之外,还需要去开发者中心填一堆的东西。这里不做介绍,自己去爬文章哈。
那么这里个人账号的打包的ipa有什么卵用呢?
卵用就是这个ipa可以安装到一部分iOS设备中,这些设备的ID已经添加到签名这个ipa的开发者账号的“Devices”里面了。也就是这里有你这个设备的话,你是可以装的!其他的都滚粗!
那么企业级开发者账号签名的ipa呢?能安装到iOS设备上么?
答案是可以,这就是企业账号的作用了。可以直接装,也可以直接用,但是用之前iOS一般都会提示你不信任这个证书,要去设置里面设置信任,才可以使用。
扯了这么多,继续,上面export的时候下面三个选项我没有一一试,选择第二个。然后选择签名证书对应的开发者
ok,大功告成了,ipa打包成功
6、无证书打包
淘宝上一堆企业签名打包的(我不会告诉你我用过),他们会告诉你打包一个ipa,然后发给他,他给你签名,你就可以用了。真的很良心啊!那这个时候你肯定不要自己去签名ipa了。利用Xcode7的免证书真机调试功能,我们可以很简单的打包ipa。需要设备一台。
1、设置使用无证书的开发者账号,没有交钱的。当然,如果下面出现警告,那么fix issuse即可。等待警告消失,就可以进行真机调试了。直接run的话app就会自动安装到你的iphone上。
2、在edit scheme中设置run的模式为realese。如下所示,一定要设置为release,图示中设置的add-hoc是copy的release。你要发布,当然得release版本了。
3、run。这个时候手机上就安装了app。然后在finder中全局搜索你的app。注意如果你的工程名位XXX,那么请搜索XXX.app。你会看到搜索结果。然后右键,“在上层文件夹中显示”。如果有多个结果的话,记得选最近编辑的那一个。
4、将找到的app拖到itunes中,替换原来的应用。
5、在文件夹中显示,就可以找到ipa了。
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
新用户大礼包!
现在注册,免费体验40+云产品,及域名优惠!
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
Xcode打包ipa的基本步骤(有证书和无证书)相关信息,包括
的信息,所有Xcode打包ipa的基本步骤(有证书和无证书)相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International苹果企业签名,IPA签名,ios签名,免越狱安装,在线自动签名,应用免费分发,内侧应用托管,应用分发 - 悠悠商城
全部商品分类
当前位置: >
苹果企业签名,IPA签名,ios签名,免越狱安装,在线自动签名,应用免费分发,内侧应用托管,应用分发
本站优惠价
原价:¥500.00
由""发货,并提供售后服务。
担保交易,安全保证,有问题不解决可申请退款。
掌柜:潘少√已认证★
本店销售榜
您的浏览记录
‍‍‍‍支持免费测试企业签名没问题再付款‍‍‍‍联系我是请备注来自【悠悠社区论坛】IOS企业证书签名,可安装任意手机,无需越狱、长期、有效、稳定。买家只需提供ipa文件。签名成功。所有的签名ipa包,首先技术会进行测试,是否正常使用,在下发客户进行验证。签名后需在手机通用设置信任,签名的作用是解决安装问题,其他APP&bug不予处理。本商品为买家使用iOS Enteprise&Program证书,&帮客户直接签名APP,&无需经过苹果AppStore审核,不越狱即可让用户下载安装使用!产品为虚拟产品,已经售出不支持退款!请想好在拍!郑重声明:上述技术服务支持仅仅限于个人研究和学习,如有非法用途与本工作室无关,一切法律责任自负!本店支持套餐:月付价格:200元/月 &三个月/500 &半年1000&&一年&2000 & 稳定不掉签名送分发双端【安卓+ios】操作流程:1. 官方网站注册账号2.上传自己的ipa文件3.付款后联系客服4.&开始签名5.&完成签名,方可安装到您的设备和用户设备
悠悠商城 | ICP证:豫ICP备号-1
扫一扫进手机版iOS证书及ipa包重签名探究 - 庞海礁的个人空间
转载请注明出处:
iOS证书学习推荐博客,本文重点在于介绍ios8.1.3系统ipa包重签名(如企业证书)无法安装的问题。苹果在iOS8.1.3系统以后加强了对ipa安装包签名的验证,主要区别在于ipa唯一标识在原有Bundle Identifier的基础上增加了证书ID,也就说安装包和手机上已安装APP的Bundle Identifier即使一致,如果两者签名的证书ID不相同,那么安装包也无法正常安装。证书ID是什么?
图中方框里字符串就是证书ID,升级后的ipa标识就是证书ID+BundleID,只有两者完全匹配,安装包才能覆盖安装,否则就会提示安装失败。解决办法就是卸载安装包,重新安装!
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile
目前,重签名主要用于企业证书重签名个人证书发布的ipa包,包括各种助手及企业内测包的发布等。在重签名前,让我们先看看一个完整的ipa包有哪些与证书相关的东西!打开ipa包,会发现_CodeSignature和embedded.mobileprovision两个文件
_CodeSignature,ipa包签名文件
embedded.mobileprovision,证书配置文件
因此,替换上面两个文件就解决了ipa重签名的主要问题。此外,文中还提到entitlements.plist授权文件,重签名时也需要处理。按照下图内容创建plist文件,输入相关信息。
整个签名过程如下(文件路径自定义)
1、解压ipa安装包
cp olinone.ipa olinone.zip
cp olinone.ipa olinone.zip
2、替换证书配置文件(文件名必须为embedded,不得自定义)
cp embedded.mobileprovision Payload/olinone.app
cp embedded.mobileprovision Payload/olinone.app
3、重签名(certifierName为重签名证书文件名,可以加证书ID后缀)
certifierName="iPhone Distribution: olinone Information Technology Limited(6a5TVN58SY)"
codesign -f -s $certifierName
--entitlements entitlements.plist Payload/olinone.app
certifierName="iPhone Distribution: olinone Information Technology Limited(6a5TVN58SY)"codesign -f -s $certifierName&&--entitlements entitlements.plist Payload/olinone.app
zip -r olinone.ipa Payload
zip -r olinone.ipa Payload
很多朋友在重签名时会忽略第二步或者没有指定entitlements.plist,都会造成ipa包安装失败。如果有其它关于签名的问题,可以在文章下面跟我留言!
喜欢请点赞-&,谢谢你的来访!
9月22号更新,有朋友反馈9.0无法打开的问题,可以访问
6月22号更新,详情教程
12月21日,自从本文发布后,收到了很多朋友的反馈,感谢大家。很多朋友也提出了遇到的各种问题,再次需要补充两点
有些朋友希望修改bundle ID重签名,据有些朋友说是可以的,不过我目前还不知道怎么做,有知道的朋友可以告诉我,替各位谢谢了
其次,有些朋友希望修改ipa包里的素材,然后再签名,以我所知,这个貌似也行不通
Theme | Powered by阅读(8194)
一般在接外包的时候, 通常第三方需要安装你的app进行测试(这时候你的app肯定是还没传到app store之前)。这种情况下,如果是企业账号就好办了, 随便安装..但是个人开发者账号呢?如果他的机子不是开发测试的
直接装包的, 那么可以通过导出一个ipa供他安装。当然,你必须知道别人设备的udid。具体做法:1。 登录开发者中心。2。添加对方设备到你的Devices中。 注意, 需要知道对方的udid。3。申请一个App ID,这个和其他证书的做法一样, 不重复说明,如果不懂可以留言。4。生成对应的Provisioning Profiles。 这里要选择Distribution, Ad Hoc类型的, 像这样点击Continue, 之后选择你的Distribution证书。 (这个应该之前已经都有的, 就不重复了。 如果不知道是什么可以留言)继续Continue,选择需要的测试设备。然后就配置好需要的Provisioning Profiles了。 下载下来, 安装。5。安装完成后,修改你的工程,在info.plst 的Bundle identifier 中改为你申请的那个证书名字。6。先在真机上跑一下, 确保没问题。 选择 Xcode --&Product---&Archive---&Distribute----&选择第二个(Save for Enter....)------&选择之前的Provisioning Profiles----&导出。即可得到对应的 .ipa文件7。 大功告成,发给别人测试吧。
阅读排行榜

我要回帖

更多关于 Ios签名 的文章

 

随机推荐