专业IOS签名团队
闪电售后,性价比秒杀上架,快速上线、测试
提供 iOS 企业证书签名服务,让您的 iOS App 无需提交 App Store 或设置
UDID 即可在iPhone、iPad 等设备上直接安装,帮助您快速完成应用内测
过程,降低测试成本,缩短上线时间。

执行iOS签名应用程序脚本重签名

2019-07-22 08:00 栏目:ios签名 查看()

最后的iOS APP企业签名详细解释了iOS签名的机制和原理。我们一起写了一个自动重签名的脚本。懒惰是程序员乃至人类进步的终极力量。制作轮子书写工具可以大大避免重复性工作,为我们节省更多时间思考并开始工作而不说太多。

第1步:获取解压缩的IPA包

  • 直接从iTunes 12.6.3和以前的版本(macOS Mojave不支持)下载,这样你就可以获得合法的ipa,你需要先使用Clutch,dumdecrypted和其他工具shell,否则其他人的加密验证不能安装。
  • 各种助手下载越狱IPA包
  • 越狱移动出口
  • Xcode包装等

在这里,我下载了微信的越狱IPA包进行演示。

第2步:在命令行上实现重签名

1.解压缩IPA并转到。app目录。输入

codesign -d -vv WeChat.app

查看可执行文件的ipa签名信息:

执行iOS签名应用程序脚本重签名

您可以看到签名信息仍然是腾讯的。

2.输入:

security find-identity -v -p codesigning

检查Mac本地证书列表:

执行iOS签名应用程序脚本重签名

在要苹果企业签名的证书的双引号(包括双引号)中记下该字符串,稍后将使用该字符串。

3.确认IPA包已被去壳。输入:

cd WeChat.app

otool -l WeChat | grep crypt

输出:

执行iOS签名应用程序脚本重签名

Cryptid 0被去皮,1被加密。有两组数据,因为这是一个支持两种CPU架构的可执行文件,可以输入file WeChat查看可执行文件支持的架构:

执行iOS签名应用程序脚本重签名

4.删除未app企业签名的插件文件:PlugIns文件夹,Watch文件夹

5.强制重签名框架中的每个框架。app文件夹:The certificate information recorded in step 2 of codesign-fs is to be signed.

小心不要错过它。应使用自己的证书重新签署每个框架。

6.将描述文件的名称更改为嵌入式。移动配置并将其拖入。应用程序。然后在info中更改Bundle标识符。plist文件到。app中我们自己的Bundle ID。

7.创建新的权利。plist文件中。app peer目录查看描述文件的内容:

security cms -D -i embedded.mobileprovision在Entitlements节点下

<dict>
   ...
   ...
</dict>

到新创建的权利。plist文件

8.在最后一步,签署整个包,返回目录所在的位置。应用程序位于,并输入:The certificate information recorded in step 2 of codesign-fs -- no-strict -- entitlements = entitlements. plist WeChat. app

签名成功!

9.包装:zip -ry WeiChat.ipa Payload

最重要的是,通过命令行逐步实现应用程序重新签名。

最后:一个自动重签名的脚本

现在我将以这种方式编写脚本:

# ${SRCROOT} It is the directory where the project files are located
TEMP_PATH="${SRCROOT}/Temp"
# Resource folder, we advance in the project directory to create a new APP folder, which contains IPA packages
ASSETS_PATH="${SRCROOT}/APP"
# Target IPA package path
TARGET_IPA_PATH="${ASSETS_PATH}/*.ipa"
# Clear Temp folder
rm -rf "${SRCROOT}/Temp"
mkdir -p "${SRCROOT}/Temp"
#----------------------------------------
# 1. Unzip IPA to Temp
unzip -oqq "$TARGET_IPA_PATH" -d "$TEMP_PATH"
# The path to get the decompressed temporary APP
TEMP_APP_PATH=$(set -- "$TEMP_PATH/Payload/"*.app;echo "$1")
# echo: "The path is: $TEMP_APP_PATH"
#----------------------------------------
# 2. Put the decompressed. app copy into the project
# Path of APP Packet Generated by BUILT_PRODUCTS_DIR Project
# TARGET_NAME target name
TARGET_APP_PATH="$BUILT_PRODUCTS_DIR/$TARGET_NAME.app"
Echo "app path: $TARGET_APP_PATH"
rm -rf "$TARGET_APP_PATH"
mkdir -p "$TARGET_APP_PATH"
cp -rf "$TEMP_APP_PATH/" "$TARGET_APP_PATH"
#----------------------------------------
# 3. Delete extension and WatchAPP. Personal certificate cannot sign Extention
rm -rf "$TARGET_APP_PATH/PlugIns"
rm -rf "$TARGET_APP_PATH/Watch"
#----------------------------------------
# 4. Update info.plist file CFBundleIdentifier
# Settings: "Set: KEY Value" and "Target File Path"
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $PRODUCT_BUNDLE_IDENTIFIER" "$TARGET_APP_PATH/Info.plist"
#----------------------------------------
# 5. Give MachO Files Execution Permissions
# The path to the MachO file
APP_BINARY=`plutil -convert xml1 -o - $TARGET_APP_PATH/Info.plist|grep -A1 Exec|tail -n1|cut -f2 -d\>|cut -f1 -d\<`
# Upper executable permissions
chmod +x "$TARGET_APP_PATH/$APP_BINARY"
#----------------------------------------
# 6. Resigning Third Party FrameWorks
TARGET_APP_FRAMEWORKS_PATH="$TARGET_APP_PATH/Frameworks"
if [ -d "$TARGET_APP_FRAMEWORKS_PATH" ];
then
for FRAMEWORK in "$TARGET_APP_FRAMEWORKS_PATH/"*
do
Signature
/usr/bin/codesign --force --sign "$EXPANDED_CODE_SIGN_IDENTITY" "$FRAMEWORK"
done
fi

将脚本直接放入。xcodeproj对等目录Xcode - > Build阶段 - >新运行脚本阶段:

执行iOS签名应用程序脚本重签名

现在,将要重新登录的IPA包放入项目目录中的新文件夹Temp,然后直接运行它!任何应用程序都将在您的真机上运行!这也是反过来的准备。

了解iOS企业签名和重新签名的原则,我相信上面的每一步为什么要这样做,你自然很清楚,写自然思想的脚本也很明显?如果在实践中遇到任何问题,欢迎留下一个消息交换.~

以上是本文的全部内容。我希望它对每个人的学习都有所帮助,我希望你能更多地支持developpaer。

扫二维码与IOS签名经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/ios企业签名咨询/签名价格咨询/技术建议/互联网交流

上一篇:如何续订Apple MDM推送ios签名证书

下一篇:ios签名应用程序转移

郑重申明:IOS企业签名以外的任何单位或个人,不得使用该案例作为工作成功展示!
  • 咨询QQ:1602927038
    邮箱:1602927038@qq.com
    工作时间:08.30-23.30
友情链接: ios企业签名 微构网
Copyright © 2017-2019 www.wegto.com.版权所有  鄂ICP备19007640号-1    苹果企业签名  苹果签名  ios企业签名  
点击这里给我发消息