Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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。

18215天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

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 包。

安装

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

python3 ipaforge.py --help

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

python3 ipaforge.py --install

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

python3 ipaforge.py --extract

快速开始

解码 IPA

ipaforge -d MyApp.ipa

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

编辑解码后的文件

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

构建新的 IPA

ipaforge -b MyApp

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

使用显式路径

ipaforge -d MyApp.ipa decoded-framework
ipaforge -b decoded-framework rebuilt.ipa

命令行参考

ipaforge -d, --decode INPUT [OUTPUT]
ipaforge -b, --build  INPUT [OUTPUT]
选项描述
-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在构建的签名中嵌入权限。
--p12 FILE使用真实的 PKCS#12 开发者证书进行签名。
--p12-password PASSPKCS#12 证书的密码。
--provision FILE配合 --p12 嵌入并使用描述文件。
-v、--verbose启用调试日志记录。
-q、--quiet仅输出错误。
--version显示 IPAForge 版本。
-h、--help显示帮助。

在 Windows 上,模式可以自动推断:输入 .ipa 文件则进行解码,输入框架目录则进行构建。

签名

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

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

ipaforge -b MyApp \
  --p12 developer.p12 \
  --p12-password 'your-password' \
  --provision embedded.mobileprovision

要嵌入自定义权限:

ipaforge -b MyApp --entitlements entitlements.plist

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

ipaforge -b MyApp --no-sign

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

解码输出结构

解码后的 framework 通常包含:

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 — 经典 .strings 文件转换为 XML,并重建为 UTF-16 文本。
  • xml-plist — 现有的 XML plist 文件以文本形式保留。
  • opaque-compiled — 专有的已编译 Apple 格式按字节原样保留。
  • native-binary — Mach-O 可执行文件和库按字节原样保留。
  • other-binary — 图像、音频、DER 数据及其他资源按字节原样保留。

退出码

代码含义
0操作成功。
1运行时错误,例如无效的归档文件或签名失败。
2命令行用法错误。
141标准输出被管道消费者提前关闭。

安全说明

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

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

版本

本 README 描述的是 IPAForge 1.24.0。

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

下载工具