美文网首页
Xcode重签名第三方app

Xcode重签名第三方app

作者: Fendouzhe | 来源:发表于2018-05-09 12:31 被阅读0次

    熟悉几个命令

    查看描述文件信息:$security cms -D -i 描述文件路径
    
    查看APP的签名信息
    $codesign -vv -d APP路径
    
    查看本机所有证书
    $security find-identity -v -p codesigning
    
    查看可执行文件的加密信息!
    $otool -l WeChat | grep crypt
    
    签名
    $codesign -fs "证书" 需要签名的文件
    

    重签名(以微信WeChat为例子)

    1. 通过zip方式打开微信ipa(ipa其实就是一个zip包),进入Payload,找到WeChat app


    2. 创建XcodeSign 工程,运行项目,将XcodeSign app替换成Wechat app 然后重命名为XcodeSign


      打开app位置
    拷贝修改 最终结果
    1. 将XcodeSign app显示包内容将里面info.plist 的Bundle identifier修改为XcodeSign 工程里面的Bundle identifier


      image.png
    1. 如果有Frameworks文件的话要对对 Frameworks 中的所有framework进行签名:$codesign -fs "证书" 需要签名的文件
    codesign -fs "iPhone Developer: LuRong Lei (4Y7DZEPUB8)" WCDB.framework
    成功返回:WCDB.framework: replacing existing signature
    
    查找iPhone Developer LuRong Lei (4Y7DZEPUB8).png
    1. 给可执行文件执行权限! chmod +x WeChat 执行命令后文件由白变黑色
    执行命令后文件由白变黑色
    1. 干掉XcodeSign app中插件Plugins文件夹(免费账号不能签名插件)! 和Watch文件夹 直接干掉! 运行Xcode,微信就安装到手机上了.


      Plugins文件夹
    Watch文件夹

    遇见的问题

    进行第4步对framework进行签名的时候报错:

    执行:codesign -fs "iPhone Developer: LuRong Lei (4Y7DZEPUB8)" MMCommon.framework
    报错:iPhone Developer: LuRong Lei (4Y7DZEPUB8): ambiguous (matches "iPhone Developer: LuRong Lei (4Y7DZEPUB8)" and "iPhone Developer: LuRong Lei (4Y7DZEPUB8)" in /Users/416862549qq.com/Library/Keychains/login.keychain-db)
    

    原因是钥匙串中有多个iPhone Developer: LuRong Lei (4Y7DZEPUB8)证书,删除掉多余的,剩下一个就可以。


    image.png

    相关文章

      网友评论

          本文标题:Xcode重签名第三方app

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