So there is an application (Audio Hijack specifically) that I am trying to edit after having downloaded it, and it (obviously) only includes the compiled code. This includes a Mach-O 64-bit dynamically linked shared library (I had to use checkfiletype since there was no extension). By using the find tool (after guess and checking), I was able to find that the specific Mach O library had the code that I wanted to edit. However, after trying to edit it in textedit (since only knew to use radare2 and hopper, but I don't have the money to pay for hopper, and I don't know how to use radare2), the app itself simply wouldn't run. It would say "Couldn't run because of a problem". After even editing some words that obviously make up a string of dialogue, the app wouldn't do anything when opened.

Is this because there is a verification to make sure the code is unedited and I have to find where it is? I saw several xml files titled CodeResources always in a folder _CodeSignature which has this:


which feels like it's some sort of hash verification. However, if I delete the file itself, nothing happens. But, there might be a more solid verification, and the app itself is made by apple, and they are totally the company that would try to prevent consumers from editing their app.

Or does editing the Mach-O binary in textedit corrupts the file? Textedit is clearly not the right file to open the file (with the classic random characters spaced out). Should I suck it up and learn radare2? Is radare2 even able to reverse engineer an entire Mach-O binary from an apple application? Someone (answering someone else's similar question) suggested asking a developer for the sourcecode, but I'm not sure about the possibility in that.

Sorry if I said anything incorrect, I'm fairly new to this

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.