MacOS – Anyone with experience in hacking the codesigning on OS X

bootcampcode-signingmacos

Apparently Mavericks doesn't allow any property list/configuration file to be used when it's been changed since release from Apple.(This opposed to previous versions of OS X, where you could do some editing and still run the app)

For those who don't have a clue what I'm talking about:

There is a file called "CodeResources" which holds hashes/code signatures of each and every file in an app's folder. Now there's this one trick I want to do, which involves editing the Info.plist in Boot Camp(utility to run Windows on another partition) so I can install Windows 8 from USB (I downloaded the iso via our college's site for free and I don't want to burn it to DVD, because I'm cheap/stubborn like that).

Once I modify /Applications/Utilities/Boot Camp Assistant.app/Contents
/Info.plist, Is it possible to codesign the app myself or otherwise get it to run?

Best Answer

Before OS X 10.10, you can run sudo codesign -fs - /Applications/Utilities/Boot\ Camp\ Assistant.app to re-sign the app with an ad-hoc signature.

In order to re-sign it in 10.10, you need to additionally specify the --deep command to re-sign bootcamp:

sudo codesign -fs - /Applications/Utilities/Boot\ Camp\ Assistant.app --deep

'--deep' When signing a bundle, specifies that nested code content such as helpers, frameworks, and plug-ins, should be recursively signed in turn. Beware that all signing options you specify will apply, in turn, to such nested content. When verifying a bundle, specifies that any nested code content will be recursively verified as to its full content. By default, verification of nested content is limited to a shallow investigation that may not detect changes to the nested code. When displaying a signature, specifies that a list of directly nested code should be written to the display output. This lists only code directly nested within the subject; anything nested indirectly will require recursive application of the codesign command.