13

How can I remove the code signature from a binary so that I can patch it without the binary refusing to run afterwards?

Needless to say, I'm not the original creator of the binary, nor I have the certs that were used to sign the binary.

NirIzr
  • 11,765
  • 1
  • 37
  • 87
alexandernst
  • 287
  • 1
  • 2
  • 9
  • if the app's name I want to remove the code signature is a two words with space between them, how should I type it? Thanks in advance – user34480 Sep 24 '20 at 02:29

3 Answers3

18

There are tools for that, as well as a codesign flag --remove-signature

First two should work the same. The codesign flag is undocumented and so YMMV (A user reported in a comment the codesign produced a corrupt executable).

You should use any of them with caution and backup the application before using them.

NirIzr
  • 11,765
  • 1
  • 37
  • 87
2

Another blunt way that seemed to work for me on Catalina (note that this strips all attributes):

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

user31463
  • 21
  • 1
-1
codesign --remove-signature /path/to/binaryAppName

Tested it on macOS 10.15.3 Catalina, works perfectly.

You can edit the hex values of the now removed code signature binaries and it will launch on macOS with out a hitch.

S To
  • 1
  • This answer doesn't offer any new information. The accepted answer (from 2016) already discusses the codesign --remove-signature approach – julian Mar 19 '20 at 15:40