iOS 微信提示:签名失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 微信提示:签名失败相关的知识,希望对你有一定的参考价值。
参考技术A 这几天一直没细搞,后台那边说在弄着我这边就没管,但是好几天了还没有成功,自己也翻阅了下官方文档和其他项目。发现大部分的签名都是后台搞得,所以我就记录下防止以后再出现类似情况。总结了以下几点。1.首先确认后台预支付的订单是否和微信支付对象PayReq中的属性值是否一一对应
2.确认sign 的值,微信中的支付对象有一个sing 属性,该属性为签名。该属性的值比较特殊,需要后台做好二次签名后才可以直接使用,如果后台没有做二次签名需要我们自己做的话需要用一下方法对,sign 值进行处理
3.MD5加密
iOS逆向重签名:微信重签名
目录:
1. iOS逆向重签名(一):签名原理
2. iOS逆向重签名(二):IPA重签名
3. iOS逆向重签名(三):微信重签名
学习了IPA包的重签名技术,下面将这项技术运用到实战中,尝试对微信重签名。微信的重签名也是大同小异,但是由于微信中含有Watch插件,这个部分不可签名,所以我们可以直接删掉,也不影响微信app的功能。
1、替换 embedded.mobileprovision文件
解压WeChat.ipa包,进入Payload文件,右键"显示包含内容"打开WeChat.app。将自己准备好的embedded.mobileprovision文件替换微信目录中的embedded.mobileprovision文件,如下图:
2、Framework动态库进行重签名
进入WeChat.app文件中的Frameworks文件,里面包含了四个动态库,如下图所示:
先cd到Frameworks目录下,然后对这四个动态库进行重签名:
YuanCan:~ ahdms$ cd /Users/jack/Desktop/WeChat/微信-7.0.4\\(越狱应用\\)\\ 2/Payload/WeChat.app/Frameworks
YuanCan:Frameworks ahdms$ codesign -fs "Apple Distribution: Changsha xxx Information and Technology Co., Ltd. (xxx)" mars.framework
mars.framework: replacing existing signature
YuanCan:Frameworks ahdms$ codesign -fs "Apple Distribution: Changsha xxx Information and Technology Co., Ltd. (xxx)" marsbridgenetwork.framework
marsbridgenetwork.framework: replacing existing signature
YuanCan:Frameworks ahdms$ codesign -fs "Apple Distribution: Changsha xxx Information and Technology Co., Ltd. (xxx)" matrixreport.framework
matrixreport.framework: replacing existing signature
YuanCan:Frameworks ahdms$ codesign -fs "Apple Distribution: Changsha xxx Information and Technology Co., Ltd. (xxx)" ProtobufLite.framework
ProtobufLite.framework: replacing existing signature
3、删除不可签名的插件(还有Watch中的插件)
由于本地存在一些插件,这些插件是不可被我们重签,并且这个过程我们用不着,所以我们索性就删掉。 其中包括:整个目录PlugIns目录和整个Watch目录(因为Watch.app中也有个PlugIns)
4、WeChat.app重签名
YuanCan:Payload ahdms$ codesign -fs "Apple Distribution: Changsha xxx Information and Technology Co., Ltd. (xxx)" --no-strict --entitlements=entitlements.plist WeChat.app
WeChat.app: replacing existing signature
5、重新打包
重签名成功之后,删掉entitlements.plist文件,将Payload压缩成zip的包,然后将压缩包的zip后缀直接改成ipa就行了。
如果你觉得本篇文章对你有用,请给小编一点鼓励,点赞或打赏,感谢。
以上是关于iOS 微信提示:签名失败的主要内容,如果未能解决你的问题,请参考以下文章