Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ipaforge — 无依赖的 Python CLI,用于解包、检查、编辑和重建 iOS .ipa 归档文件,在保留 Mach-O 二进制文件和签名包的同时将 plist 和字符串转换为 XML。 | Kitploit
工具/GitHubGitHub/vighnesh91/ipaforge
静态分析iOS安全代码分析移动应用渗透测试逆向工程渗透测试移动安全实用工具与框架二进制分析
GitHubvighnesh91/ipaforge

ipaforge

无依赖的 Python CLI,用于解包、检查、编辑和重建 iOS .ipa 归档文件,在保留 Mach-O 二进制文件和签名包的同时将 plist 和字符串转换为 XML。

42天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

IPAForge

IPAForge 是一个无依赖的 Python 命令行工具,用于解包、检查、编辑和重建 iOS .ipa 归档文件。

它提取完整的归档内容,将可编辑的 Apple plist 和本地化格式转换为可读的 XML,逐字节保留不透明和二进制内容,并在 ipaforge.yml 中记录每次转换,以便框架能够被忠实地重建。

请负责任地使用: IPAForge 旨在用于互操作性、安全研究和合法的应用程序分析。请遵守适用的法律、许可证和服务条款。

功能特性

  • 解码并重建标准 iOS .ipa 归档文件。
  • 提取 100% 的归档内容;不会静默跳过或丢弃任何内容。
  • 将任意文件扩展名的二进制 plist 转换为可读的 XML。
  • 将旧式文本 .strings 文件转换为可编辑的 XML。
  • 在构建过程中将转换后的文件重新编码为其原始原生格式。
  • 保留 Mach-O 二进制文件以及 Apple 专有格式,如 .car、.nib 和 .mom。
  • 提取嵌入的 entitlements 和 provisioning profile 信息作为可读参考。
  • 在 ipaforge.yml 中生成逐文件的分类和转换元数据。
  • 内置 ad-hoc 签名,无需外部签名工具。
  • 可选的、使用 PKCS#12 证书和 provisioning profile 的真实证书签名。
  • 仅使用标准库;无需第三方 Python 包。

环境要求

  • 推荐使用 Python 3.6 或更新版本。
  • 脚本的兼容层支持 Python 2.7 和 Python 3.2+。
  • 一个有效的 .ipa 归档文件,包含 Payload/<AppName>.app bundle。

安装

IPAForge 可以直接作为单个 Python 文件使用:

root@kitploit:~
python3 ipaforge.py --help

要将 ipaforge 命令安装到你的 PATH 中:

root@kitploit:~
python3 ipaforge.py --install

要提取捆绑的分发文件而不安装它们:

root@kitploit:~
python3 ipaforge.py --extract

快速开始

解码一个 IPA

root@kitploit:~
ipaforge -d MyApp.ipa

这会在当前工作目录中创建一个框架目录,通常为 ./MyApp/。

编辑解码后的文件

修改生成的框架中可读的 XML 文件。原始归档数据和引用保存在 original/ 中;被转换的文件记录在 ipaforge.yml 中。

构建一个新的 IPA

root@kitploit:~
ipaforge -b MyApp

默认输出为当前工作目录中的 ./MyApp-signed.ipa。

使用显式路径

root@kitploit:~
ipaforge -d MyApp.ipa decoded-framework
ipaforge -b decoded-framework rebuilt.ipa

命令行参考

root@kitploit:~
ipaforge -d, --decode INPUT [OUTPUT]
ipaforge -b, --build  INPUT [OUTPUT]

在 Windows 上,模式可以自动推断:.ipa 输入会被解码,框架目录会被构建。

签名

构建模式默认使用内置的 ad-hoc 签名器对 bundle 进行签名。它为 Mach-O 二进制文件创建 CodeDirectory 数据,并为应用程序 bundle 创建新的 _CodeSignature/CodeResources 文件。

要在原版 iOS 设备上安装,请使用真实的开发者证书和兼容的 provisioning profile:

root@kitploit:~
ipaforge -b MyApp \
  --p12 developer.p12 \
  --p12-password 'your-password' \
  --provision embedded.mobileprovision

要嵌入自定义 entitlements:

root@kitploit:~
ipaforge -b MyApp --entitlements entitlements.plist

要有意创建一个未签名的归档文件:

root@kitploit:~
ipaforge -b MyApp --no-sign

未签名的归档文件通常无法被 iOS 安装。

解码输出结构

解码后的框架通常包含:

root@kitploit:~
MyApp/
├── Payload/
│   └── MyApp.app/
├── original/       # reference copies of signatures, profiles, and entitlements
├── readable/       # human-readable summaries for opaque formats and binaries
└── ipaforge.yml    # file classifications and conversion metadata

original/ 目录和 ipaforge.yml 永远不会被打包进重建的 IPA 中。

文件处理

IPAForge 将提取的文件分类为以下类别:

  • native-bplist — 转换为 XML 并重建为二进制 plist 的二进制属性列表。
  • legacy-strings — 转换为 XML 并重建为 UTF-16 文本的经典 .strings 文件。
  • xml-plist — 作为文本保留的现有 XML plist 文件。
  • opaque-compiled — 逐字节保留的专有编译 Apple 格式。
  • native-binary — 逐字节保留的 Mach-O 可执行文件和库。
  • other-binary — 逐字节保留的图像、音频、DER 数据和其他资源。

退出码

代码含义
0操作成功。
1运行时错误,例如无效的归档文件或签名失败。
2

安全说明

IPAForge 处理不受信任的归档内容。该工具对单个归档成员和总未压缩归档大小应用了防御性限制,但你仍应在隔离环境中检查未知文件。

除非你拥有分析和签名应用程序的合法权利,否则不要分发或安装这些应用程序。

许可证

在发布到 GitHub 之前,请在此处添加项目的许可证文本。如果未包含许可证,GitHub 用户不会自动获得使用、修改或重新分发代码的许可。

贡献

欢迎提交 issue 和 pull request。请包含:

  • Python 版本和操作系统。
  • IPAForge 版本。
  • 所运行的命令。
  • 移除敏感信息后的相关日志输出。
  • 在可能的情况下,提供一个最小复现归档文件或描述。

版本

本 README 描述的是 IPAForge 1.24.0。

下载工具
选项描述
-d, --decode将 IPA 解码为可编辑的框架目录。
-b, --build从解码后的框架目录构建 IPA。
-f, --force覆盖已存在的输出目录或文件。
--no-meta解码期间不写入 ipaforge.yml。
--keep-binary解码期间保持所有文件为二进制;禁用 XML 转换。
-c 0-9, --compression-level 0-9设置 ZIP 压缩级别。默认:9。
--no-sign构建一个有意不签名的归档文件。
--entitlements FILE在构建的签名中嵌入 entitlements。
--p12 FILE使用真实的 PKCS#12 开发者证书进行签名。
--p12-password PASSPKCS#12 证书的密码。
--provision FILE与 --p12 一起嵌入并使用 provisioning profile。
-v, --verbose启用调试日志记录。
-q, --quiet仅打印错误。
--version显示 IPAForge 版本。
-h, --help显示帮助。
命令行用法错误。
141标准输出被管道消费者提前关闭。