去除 App 签名是指将 App 安装包中的签名信息删除或替换,以允许未经签名的 App 在设备上安装和运行。在 iOS 系统中,如果一个 App 没有经过苹果的签名,即为未签名应用,无法在非越狱设备上安装运行。
去除 App 签名的原理主要是修改 App 安装包中的相关文件,以达到绕过签名验证的目的。下面将详细介绍一种常见的去除 App 签名的方法(适用于 macOS 系统):
1. 准备工作:
- 下载并安装 Xcode 开发工具(苹果开发者工具集合),可从 App Store 下载。
- 下载并安装 iOS App 签名工具 - Clutch,它可以解析 App 签名并提取未签名的二进制文件。Clutch 可以在越狱设备上安装使用。
2. 获取已签名的 App 文件:
- 使用第三方工具,如 iMazing 或 iFunBox,将已签名的 App 从 iOS 设备中导出到 Mac。
3. 解析签名:
- 打开终端应用,在终端中导航到 Clutch 工具所在的目录。
- 使用 Clutch 工具解析已签名的 App,依次输入以下命令:
```
./clutch -b com.example.app
```
- 这将会导出一个名为 `com.example.app` 的文件夹,其中包含已签名的 App 的二进制文件、资源文件和其他必要文件。
4. 生成未签名的 App 文件:
- 打开终端应用,在终端中导航到 `com.example.app` 文件夹所在的目录。
- 输入以下命令,将二进制文件解签名:
```
ldid -e binary extracted_binary
```
- 这将生成一个名为 `extracted_binary.xml` 的 XML 文件,其中包含二进制文件的签名信息。
5. 修改签名信息:
- 打开 `extracted_binary.xml` 文件,使用文本编辑器查找并删除签名信息的相关部分。
- 保存并关闭 `extracted_binary.xml` 文件。
6. 重新签名:
- 使用签名工具,如 optool 或 ldid,将修改后的二进制文件重新签名,以伪装成合法签名的 App。
- 输入以下命令,将二进制文件重新签名:
```
ldid -S/opt/the/dylib/path -s signed_binary extracted_binary
```
- 这将生成一个名为 `signed_binary` 的重新签名的二进制文件。
7. 生成未签名的 App 安装包:
- 将 `signed_binary` 文件放回 `com.example.app` 文件夹中,替换原有的二进制文件。
- 使用 Clutch 工具生成未签名的 App 安装包,输入以下命令:
```
./clutch -d com.example.app
```
- 这将生成一个名为 `com.example.app_unsign` 的未签名的 App 安装包。
通过以上步骤,你可以成功去除 App 的签名信息,生成一个未签名的 App 安装包。请注意,这种方法仅适用于研究和学习目的,任何非法使用造成的后果由使用者自负。在实际应用中,我们需要遵守苹果的签名规定和政策。