从 Mac 二进制文件中删除代码签名

逆向工程 二元分析 二进制 操作系统 修补 男子气概
2021-06-13 05:23:52

如何从二进制文件中删除代码签名,以便我可以在二进制文件不拒绝运行的情况下修补它?

不用说,我不是二进制文件的原始创建者,也没有用于签署二进制文件的证书。

3个回答

工具可以做到这一点,还有codesign一面旗帜--remove-signature

前两个应该相同。codesign标志没有记录,因此 YMMV(用户在评论中报告了codesign产生损坏的可执行文件)。

您应该谨慎使用它们中的任何一个,并在使用它们之前备份应用程序。

在 Catalina 上似乎对我有用的另一种直率方式(请注意,这会去除所有属性):

xattr -cr /path/to/your/program.app

codesign --remove-signature /path/to/binaryAppName

在 macOS 10.15.3 Catalina 上测试过,完美运行。

您可以编辑现已删除的代码签名二进制文件的十六进制值,它会在 macOS 上顺利启动。