-
-
Save spxwnmc/1b4d2e4debc4c502553755518a01ab76 to your computer and use it in GitHub Desktop.
sublime merge 2 build 2056 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 "44c6587efd8dd8faf84a47504dccf4ab36d00ca47e90f60879f749669fbdc897" "296872fe3bcb5c35908918c59fc78f35b8325547824dc773b1a52cc8cfd17061"; 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 0x54480 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 0x3A0CD2 1 '\x00' | |
# Fix sha-2 check | |
patch_offset 0x3A152F 1 '\xf9' | |
patch_offset 0x3A1532 1 '\x0e' | |
# Disable online licence check | |
patch_offset 0x3A2096 1 '\xc3' | |
# Disable phone home | |
patch_offset 0x3A09EA 1 '\xc3' | |
if check_sha "8460fc3db6e91fcb40062207e3b4b8ea692e8a42bed86f926007a77e879f196c" "ad4f542ec783115f7ba9cae7cc78b14ec4ea4fd7125d9ddc69c31b14eccaa2d2"; 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