-
-
Save Destitute-Streetdwelling-Guttersnipe/dfe4c1f81e0384e5b6bda64588640c85 to your computer and use it in GitHub Desktop.
sublime merge 2 build 2068 linux
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -o errexit | |
set -o nounset | |
set -o pipefail | |
target="${1:-/opt/sublime_merge/sublime_merge}" | |
check_sha() { | |
local sha_valid | |
sha_valid=("$@") | |
local hash | |
hash="$(sha256sum "$target" | cut -d' ' -f1)" | |
for s in "${sha_valid[@]}"; do | |
if [ "$hash" = "$s" ]; then | |
return 0 | |
fi | |
done | |
return 1 | |
} | |
patch_offset() { | |
printf "$3" | dd of="$target" bs=1 seek=$(($1)) count="$2" conv=notrunc status=none | |
} | |
if [ ! -w "$target" ]; then | |
echo "$target does not exist or is not writable. Ensure the path is correct and that you have write permission." >&2 | |
exit 1 | |
fi | |
if check_sha "17cfde363bbb4ed7ad412b29db51d6433571a1397ea5215738233117a0875b3f" "f271c550f5bd3307880db30bf85d9c6ccd08c3b739e9307c907b01e16b6a9ec8"; then | |
echo "Checksum matches" >&2 | |
else | |
echo "Checksum does not match. Ensure $target is the correct, unmodified version of Sublime Merge." >&2 | |
exit 1 | |
fi | |
backup="$target.bak" | |
cp "$target" "$backup" | |
revert() { | |
err=$? | |
trap - TERM INT EXIT | |
mv "$backup" "$target" | |
echo "Reverted modifications to $target" >&2 | |
exit $err | |
} | |
trap revert TERM INT EXIT | |
echo "Patching $target" >&2 | |
# Swap public key | |
patch_offset 0x59BC0 160 '\x30\x81\x9d\x30\x0d\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01\x05\x00\x03\x81\x8b\x00\x30\x81\x87\x02\x81\x81\x00\xc9\xda\x03\xe0\xc6\x33\xce\x4e\x55\xf5\xbf\x60\xf9\xb1\xb0\xda\xd6\x64\xc0\x5d\x03\xca\x7e\x21\xa6\x57\xd2\x17\xa9\x58\x9d\x51\x73\x30\x0d\xb5\x34\x13\x08\xab\x55\x5c\x22\x26\x6c\x03\x0d\xbe\x3c\x80\xb4\x59\xe9\xee\xad\x45\x8f\xa1\x38\x37\x69\xcd\x51\xa2\x19\xa4\x41\x4b\x8c\x0a\x1e\x51\x7f\x58\xc8\x33\xa5\x3c\x15\xc8\x24\xcd\xcc\x94\xb8\x5a\xfe\x44\x12\xa0\x18\x34\x63\x87\x72\x11\x11\x0b\x0c\x12\x44\x76\xec\x60\x13\xc0\x0d\x7e\xf1\x48\xbf\x8a\xce\x10\x02\x79\x45\x31\xf5\x3a\x34\xf2\x56\x6e\x71\xc7\xf4\x45\x02\x01\x11' | |
# Swap xor key | |
patch_offset 0x3C6A72 1 '\x00' | |
# Fix sha-2 check | |
patch_offset 0x3C72ED 4 '\x44\x89\xf5\x90' | |
# Disable online licence check | |
patch_offset 0x3C7E85 1 '\xc3' | |
# Disable phone home | |
patch_offset 0x3C6788 1 '\xc3' | |
if check_sha "dca8a5dbf858d7c27412cde351ba26ca41e02f70d97acd0b76c8dbe695184fc8" "e4664019965cae0391a7e4382bb1e27aba6424a173c4d3ac09aa091ccb349ee7"; then | |
echo "Patch applied successfully" >&2 | |
else | |
echo "Patch appears unsuccessful" >&2 | |
exit 1 | |
fi | |
trap - TERM INT EXIT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
----- BEGIN LICENSE ----- | |
TEAM RUFIO | |
Unlimited User License | |
E52D-666666 | |
487EE6F0309908F702DDD52AFCD99A6A | |
6EE14CF8A2D42271B4FC0991BBF93ADC | |
FAA9075C436B3796669194A2F36CAAEF | |
B251155329EC2E434FD28B4A21BE68CC | |
955D306EE9ED843C5E98B1577D02DEAA | |
1F4E872AE6495CD5E3B1DA55D5ACD2B2 | |
2EA4110FB800F21AA3EC2E3902589BCF | |
7281A19C2DFF0CEE4AEA5DDD1E6DF893 | |
----- END LICENSE ----- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment