1年前
macos.sh #!/bin/sh BINJA_PATH="/Applications/Binary Ninja.app/Contents/MacOS/libbinaryninjacore.1.dylib" if ! [ -f "$BINJA_PATH" ]; then echo "Make sure that Binary Ninja.app is located in /Applications" >&2 exit 1 fi ORIG_MD5=`md5 -q "$BINJA_PATH"` echo "Original 'libbinaryninjacore.1.dylib' MD5: $ORIG_MD5" if [ "$ORIG_MD5" == "146ecd7abad6740a7aa522a16c5a8635" ]; then echo "Patching v4.2.6455..." TEMP_FILE=`mktemp` # Patch for x86_64 PATCH_1="NZrkx0Aky1W9BcdAKCmzAk/HQCyxKWVIx0AwlWVI9MdANM1H/iPHQDhr8cZgx0A8dPvb4MdAQNHhiHPHQETBRBf" PATCH_1="${PATCH_1}Cx0BIWCzKd8dATJ8Cw1DHQFAR1Fb6x0BUXRm6EcdAWLEQ5ujHQFx9qZKqx0BghVJOFsdAZCbD3CXH" PATCH_1="${PATCH_1}QGivU+hex0BsEdoPUsdAcNPEYmnHQHTA1Wd1x0B4JYqmpcdAfPm+3h7HgIAAAADvvVGBx4CEAAAAz" PATCH_1="${PATCH_1}XlhWceAiAAAABwYFUzHgIwAAAA/2Wrgx4CQAAAAR2lP1seAlAAAAJgz0VzHgJgAAADS5GNhx4CcAA" PATCH_1="${PATCH_1}AARGn6e8eAoAAAAFvlc87HgKQAAACgm0Rmx4CoAAAAOvyvE8eArAAAAOAk+ZjHgLAAAADxjWj8x4C" PATCH_1="${PATCH_1}0AAAAZgUCZseAuAAAAFBY2IbHgLwAAAA6uQZOx4DAAAAAhqHwEceAxAAAAKzHyLbHgMgAAADcvt9A" PATCH_1="${PATCH_1}x4DMAAAA1yjX7MeA0AAAAI5EFiPHgNQAAACCeEe6x4DYAAAAdHF44ceA3AAAABLc+wrHgOAAAACgX" PATCH_1="${PATCH_1}roMx4DkAAAArdSSuMeA6AAAAKofVmjHgOwAAACpKUdBx4DwAAAAzS1zd8eA9AAAAIPdNObHgPgAAA" PATCH_1="${PATCH_1}Bi7RPNx4D8AAAAdnFH+ceAAAEAALcmk2DHgAQBAAD36LJcx4AIAQAALsrYBMeADAEAAG5q5DjHgBA" PATCH_1="${PATCH_1}BAABXMT/mx4AUAQAAM4DrY8eAGAEAAFuepAzHgBwBAABrykVTx4AgAQAA5Q==" echo "$PATCH_1" | base64 -d -o "$TEMP_FILE" dd if="$TEMP_FILE" of="$BINJA_PATH" conv=notrunc bs=1 seek=8469993 2> /dev/null # Patch for AArch64 PATCH_2="tZpSypC8cgogALmquJZSKrSgcgokALnqZIpSyuOpcgooALnqN5lSKg+pcgosALlqs5BSioq+cgowALlq+JRSSny" PATCH_2="${PATCH_2}kcgo0ALmqLIJSShuscgo4ALlKb4NS6hi8cgo8ALnqO4BSinKucgpAALnqmZRSakG4cgpEALnKiplS" PATCH_2="${PATCH_2}yvqucgpIALkqUpxS6huqcgpMALnqg4ZSSkm/cgpQALlqKp9SyjSicgpUALnqF55SSh+9cgpYALlqL" PATCH_2="${PATCH_2}olSylG1cgpcALlqUZZSSsqicgpgALkKZYRSCrikcgpkALkqdJZSit6rcgpoALnqQ4dSakKqcgpsAL" PATCH_2="${PATCH_2}mqm4RSyi+tcgpwALnKuYZSaq+ucgp0ALlqRY1SSre0cgp4ALnq3otSStijcgp8ALkqvItSqimwcgq" PATCH_2="${PATCH_2}AALlqOJNSqi+rcgqEALlKAp9SKoGpcgqIALkqJodSyg68cgqMALkqKZFSasq6cgqQALnKcppSqpmr" PATCH_2="${PATCH_2}cgqUALmKm4BS6i+scgqYALlKKZFSynyvcgqcALmqqoBS6s25cgqgALnKdY9SCsuscgqkALmKhoNSa" PATCH_2="${PATCH_2}naicgqoALnKnZhSqhyzcgqsALnqv41Sio6/cgqwALkKrZxSysOscgq0ALnKC5dSitiwcgq4ALmKJo" PATCH_2="${PATCH_2}tSSsOpcgq8ALkKMYhSij2icgrAALlK9IRSitq2cgrEALlK2otSahiocgrIALkqG5lSapm9cgrMALk" PATCH_2="${PATCH_2}KkJRSSmGkcgrQALmKEZNSaku3cgrUALlKL5JSiiy8cgrYALmKg4dS6lyhcgrcALnK1ZdSypShcgrg" PATCH_2="${PATCH_2}ALlqlIZSyhG3cgrkALmK9J9SSgmtcgroALnqNJlSaiuocgrsALlquJlS6u2ucgrwALmqsYdSCsW8c" PATCH_2="${PATCH_2}gr0ALmKrYFS6qG5cgr4ALkKL5JSaiu/cgr8ALkq15hS6hGscgoAAbkqH4FSypWrcgoEAbkKRIVSip" PATCH_2="${PATCH_2}igcgoIAbkKTJFSCh+ncgoMAbkqK5pSasS8cgoQAbmqB4xS6n6scgoUAbmqyo9SCpehcgoYAbmqTIV" PATCH_2="${PATCH_2}SKmuqcgocAblqvQ==" echo "$PATCH_2" | base64 -d -o "$TEMP_FILE" dd if="$TEMP_FILE" of="$BINJA_PATH" conv=notrunc bs=1 seek=150515873 2> /dev/null rm "$TEMP_FILE" elif [ "$ORIG_MD5" == "a30e0b0fad5ba457e4f0a36b3475d7ac" ]; then echo "Already Patched!" else echo "Unknown File Version!" sleep 5 exit 1 fi echo "Patch Successful. Closing in 5sec." sleep 5