美文网首页iOS 逆向
iOS IPA 重签名包使用

iOS IPA 重签名包使用

作者: 鹏鹏的简书 | 来源:发表于2019-03-01 19:06 被阅读7次

    特别强调 : 证书 和描述文件 必须是企业证书下的。不要搞错

    企业证书创建方式: hoc 方式  描述文件 in house 方式

    第一步:进入企业账号

    到这一步证书已经申请完成,接下来我们申请企业描述文件 appid 申请自己看百度。很简单

    证书和描述文件创建好就可以用来接下来的重签名

    第二步:下载iReSign 工具 

    iReSign运行界面:

    iReSign 地址github

    需要准备的文件:

    appName.ipa: 要重签名的ipa

    embedded.mobileprovision: 用来签名的provision文件

    entitlements.plist: 授权机制

    distributionName: 指该签名对应的证书的名字,在keychain中可以找到对应证书的名称

    操作步骤:

    步骤一:按照iReSign程序界面提示,载入各个文件。

    注意:

    1.mobileprovision文件名字可以随便取,iReSign程序在将mobileprovision文件拷贝到app中时会重命名为embedded.mobileprovision。

    2.第三行entitlement.plist必须填写,不然会一直卡在Entitlements generated。

    3.不需要修改BundleID时,修改ID前面的CheckBox不要勾选。

    步骤二:点击“重新签名!”按钮

    稍等一会就会生成example-resigned.ipa新的ipa文件。

    entitlement.plist 生成方式  拷贝出来的ipa 包 后缀名改为zip 解压包

    解压出来成 payload 文件夹

    终端代码:

    复制到终端

    /usr/libexec/PlistBuddy -x -c "print :Entitlements " /dev/stdin <<< $(security cms -D -i cashloanApp.app/embedded.mobileprovision) > Entitlements.plist

    cashloanApp.app 是 Payload 下面 cashloanApp 的名称

    会直接生成 Entitlements.plist 文件点击打开 生成后在Payload 文件夹下

    打开Entitlements.plist 文件

    到这里就已经生成完成plist 文件。第三步选择的时候导入PayLoad 文件夹下Entitlements.plist路径

    可能遇到的问题:

    问题一:Error:Product identifiers don't match

    解决方法:

    可以将源码中的这个判断去掉。

    二:App installation failed

    解决方法:

    查看Entitlements.plist文件中的application-identifier的BundleID是不是用来重签名证书上的BundleID。

    过程中没有遇到这些问题就已经成功了。生成文件会在ipa 文件包里展示

    到这里已经大功告成。

    相关文章

      网友评论

        本文标题:iOS IPA 重签名包使用

        本文链接:https://www.haomeiwen.com/subject/odqjuqtx.html