ldid: iOS 动态代码注入工具
项目地址:https://gitcode.com/gh_mirrors/ld/ldid
是一个用于 iOS 设备的动态代码注入工具。它可以帮助开发人员在不重新编译或重新签名应用的情况下修改其行为。
项目简介
ldid 是由 rpetrich 开发的一个开源项目,它的工作原理是通过替换系统默认的 Mach-O 签名程序 codesign
来实现动态代码注入的功能。具体来说,它会将 Mach-O 文件中的签名信息替换为自定义的证书,并在运行时使用 Dyld_INSERT_LIBRARIES 环境变量来加载自定义的动态库。
有了 ldid,开发者可以在不需要访问原始源代码或重新签名应用的情况下,对应用程序进行动态修改,从而实现诸如调试、自动化测试等目的。此外,它还可以用于对应用程序进行安全审计和漏洞利用。
使用方法
要使用 ldid,你需要首先获取到你的目标应用程序的 Mach-O 文件,这可以通过在 Xcode 中导出 IPA 包并解压得到。然后,你可以使用以下命令来注入自定义的动态库:
$ ldid -S MyLibrary.dylib MyApp.app/MyApp
其中,-S
参数表示生成新的签名信息,并使用 -v
参数可以查看详细的输出信息。最后,你可以通过 iTunes 或其他方式安装修改后的应用。
注意,在使用 ldid 之前,你需要确保你的设备已经越狱并且具有 root 权限。此外,由于 ldid 修改了应用程序的签名信息,因此可能会导致 Apple 检测到非法修改并拒绝更新或者删除应用。
特点
以下是 ldid 的主要特点:
- 支持 iOS 设备上的动态代码注入。
- 不需要访问原始源代码或重新签名应用程序。
- 可以用于调试、自动化测试、安全审计和漏洞利用等多种场景。
- 越狱设备上使用,可能被 Apple 拒绝更新或删除应用。
如果你在 iOS 开发过程中需要进行动态代码注入,那么 ldid 将是一个非常有用的工具。赶快尝试一下吧!
链接
- GitHub 仓库:https://github.com/rpetrich/ldid
- GitCode 仓库(国内高速下载):<>
ldid Minimal for of saurik's ldid and prebuilt binary 项目地址: https://gitcode.com/gh_mirrors/ld/ldid