Skip to content

Instantly share code, notes, and snippets.

@jankais3r
Created November 23, 2015 21:34
Show Gist options
  • Save jankais3r/89187fde776aa57d9364 to your computer and use it in GitHub Desktop.
Save jankais3r/89187fde776aa57d9364 to your computer and use it in GitHub Desktop.
Outlook binary patching and signing

Simple shell script to quickly and easily force Outlook 2016 for Mac out of sandbox.

More info here.

See the script in action here.

#!/bin/bash
echo "Patching old binary... "
cd "/Applications/Microsoft Outlook.app/Contents/MacOS/"
hexdump -ve '1/1 "%.2X"' "Microsoft Outlook" | \
sed "s/73616E64626F783C2F6B65793E0A093C747275652F3E/73616E64626F783C2F6B65793E0A093C66616C732F3E/g" | \
xxd -r -p > "Microsoft Outlook.patched"
# hexdump -> creates hex dump of the binary executable
# sed -> replaces 'sandbox</key><true/>' with 'sandbox</key><fals/>' in the hex dump
# xxd -> rebuilds the edited hex dump back into executable binary
chmod `stat -f %A "Microsoft Outlook"` "Microsoft Outlook.patched"
# copies permissions from the original binary to the patched binary
mv "Microsoft Outlook" ~/Desktop/Microsoft\ Outlook.bak
# backs up the original executable
mv "Microsoft Outlook.patched" "Microsoft Outlook"
echo "Done!"
echo ""
echo "Proceed with signing the new binary:"
echo "sudo codesign -f -s \"CERIFICATE NAME HERE\" /Applications/Microsoft\ Outlook.app/"
# After the binary is successfully patched, sign it with the above command
echo ""
echo "Then verify that signing finished properly:"
echo "sudo codesign -v /Applications/Microsoft\ Outlook.app/"
# Verify the signature. If everything went smoothly, you won't get any output from the above command
# More info: https://ツ.sh/move-profile-folder-location-in-outlook-2016-for-mac/
# @jansoucek 2015
@DuettoSG
Copy link

Addendum, just FYI, if that helps: I just checked, that when I opened Outlook for Mac, there were two new files created in my (original) UBF8......Office-Folder: MicrosoftRegistrationDB.reg and OutlookProfile.plist. Maybe that helps you to let me know, what I might have done wrong or what might be missing in your instructions. Thanks again, Alexander.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment