iOS重签名及问题总结

参考

重签名实战操作笔记

如何对iOS应用进行修改并重新签名

免越狱版 iOS 抢红包插件

基本步骤可以参考上面的文档

问题1

下载并生成 optool 工具

$ git clone https://github.com/alexzielenski/optool.git
$ cd optool/
$ git submodule update --init --recursive

 然后将 optool 文件拷贝到目录 /usr/bin/ 下。 发现拷不进去

如何在 Mac 上启用 root 用户 启动了root还是不可以

拷贝

$ sudo cp -f optool /usr/bin/

报错

$ cp: /usr/bin/optool: Operation not permitted  

没有权限(是El Capitan 加入了Rootless机制,不再能够随心所欲的读写很多路径下了。设置 root 权限也不行。)

解决方法:

关闭 Rootless (重启按住 Command+R,进入恢复模式,打开Terminal。)

$ csrutil disable

恢复默认

$ csrutil enable

然后就可以拖了

问题2

使用 optool 添加链接路径

$ optool install -c load -p "@executable_path/FridaGadget.dylib" -t Payload/UnCrackable Level 1.app/UnCrackable Level 1

各种报错 最常见的

command not found
No such file or directory

-c 为指定 load_command 命令,-p 指定动态库的路径, -t 指定目标文件。

解决方法:

查看路径是否正确

使用 security 工具可以列出你当前存在的签名标志:

$ security find-identity -p codesigning -v

 问题3:

重签名

$ rm -rf Payload/F/_CodeSignature
$ /usr/bin/codesign --force --sign 8004380F331DCA22CC1B47FB1A805890AE41C938 Payload/UnCrackable Level 1.app/FridaGadget.dylib
Payload/UnCrackable Level 1.app/FridaGadget.dylib: replacing existing signature
$ /usr/bin/codesign --force --sign 8004380F331DCA22CC1B47FB1A805890AE41C938 --entitlements entitlements.plist Payload/UnCrackable Level 1.app/UnCrackable Level 1
Payload/UnCrackable Level 1.app/UnCrackable Level 1: replacing existing signature

重签名 报错

Payload/UnCrackable Level 1.app/FridaGadget.dylib: replacing existing signature

不造为什么待解决

解决方法

打包 ipa 与重签名可以直接使用图形化工具 ios-app-signer 来完成。

安装

XCode  在菜单 - Window - Devices 中打开设置窗口。点击 Installed Apps 栏下面的 + 号就可以选择 ipa 文件进行安装了。

问题4

安装报错

This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.

解决方案:

iPhone上已经装了包标识符一样的 App,删掉再运行。 

 Xcode因为证书问题经常报的那些错

更多:

移动App入侵与逆向破解技术-iOS篇

iOS逆向使用dumpdecrypted给app砸壳

原文地址:https://www.cnblogs.com/xuaninitial/p/7100744.html