Only for builds 3203/3200 and 1111/1109
Automatic re-registration is triggered by the "About Sublime Text" in the program menu.
If the registration is valid, then the window of the program "Preferences -> Settings"
opens in a new window, if not, then you need to call the window "About Sublime Text"
from program menu and the registration status of the program will be resumed. Enough to do one time.
DOWNLOAD MAGIC SCRIPT
$ sudo chmod +x sublime_patch.sh
$ sudo ./sublime_patch.sh
#!/bin/bash
#
#############################################################################################
#
# Brief: Script for patching Sublime Text 3 Build 3200/3203 and Sublime Merge Build 1109/1111
# Author: cipherhater <https://gist.github.com/cipherhater>
# Copyright: © 2019 CipherHater, Inc.
#
#############################################################################################
# Colored output echo string
RESTORE='\001\033[0m\002'
RED='\001\033[00;31m\002'
GREEN='\001\033[00;32m\002'
YELLOW='\001\033[00;33m\002'
BLUE='\001\033[00;34m\002'
MAGENTA='\001\033[00;35m\002'
PURPLE='\001\033[00;35m\002'
CYAN='\001\033[00;36m\002'
LIGHTGRAY='\001\033[00;37m\002'
LRED='\001\033[01;31m\002'
LGREEN='\001\033[01;32m\002'
LYELLOW='\001\033[01;33m\002'
LBLUE='\001\033[01;34m\002'
LMAGENTA='\001\033[01;35m\002'
LPURPLE='\001\033[01;35m\002'
LCYAN='\001\033[01;36m\002'
WHITE='\001\033[01;37m\002'
echo -en ${RESTORE}
version_text='3203 3200'
version_merge='1111 1109'
support_versions=${version_text}${version_merge}
echo -en ${LYELLOW} "\nThis script supports only: \n\n \
${GREEN}Platform: ${WHITE} Linux x86_64\n\n \
${GREEN}Sublime Text 3 Build: ${LMAGENTA} $versions_text\n\n \
${GREEN}Sublime Merge Build: ${LMAGENTA} $versions_merge\n\n"
echo -en ${RESTORE}
function textPatching {
echo -en ${YELLOW} '\nChecking Sublime Text path ...\n'
if [[ -f './sublime_text' ]]; then
p='.'
else
echo -en ${WHITE}
read -r -p "Please input sublime_text installed path (the directory contains sublime_text): \
`echo $'\n> '`" p
if [[ ! -d "$p" ]]; then
echo -en ${LRED} '\nError: '$p' Is not a directory!\n\n'
echo -en ${RED} 'Goodbay!\n\n'
echo -en ${RESTORE}
exit 11
fi
if [[ ! -f "$p/sublime_text" ]]; then
echo -en ${LRED} '\nError: '$p' Is not a sublime_text installed path!\n\n'
echo -en ${RESTORE}
echo -en ${RED} 'Goodbay!\n\n'
exit 12
fi
# Replace "\" with "/"
p=$(echo $p | sed 's/\\/\//g')
# Trim trailing "/"
p=${p%/}
echo -en ${RED} '\n'
read -p 'Backup Sublime Text 3 binary? [y/n]: ' bt
if [ -n $bt ] && [ $bt != "n" ]; then
# Backup Sublime Text
echo -en ${GREEN} '\nRunning backup: copy "sublime_text" to "sublime_text.orig" ...\n'
cp -i "$p/sublime_text" "$p/sublime_text.orig"
echo
fi
fi
echo -en ${RESTORE}
}
function mergePatching {
echo -en ${YELLOW} '\nChecking Sublime Merge path ...\n'
if [[ -f './sublime_merge' ]]; then
p='.'
else
echo -en ${WHITE}
read -r -p "Please input sublime_merge installed path (the directory contains sublime_merge): \
`echo $'\n> '`" p
if [[ ! -d "$p" ]]; then
echo -en ${LRED} '\nError: '$p' Is not a directory!\n\n'
echo -en ${RESTORE}
echo -en ${RED} 'Goodbay!\n\n'
exit 11
fi
if [[ ! -f "$p/sublime_merge" ]]; then
echo -en ${LRED} '\nError: '$p' Is not a sublime_merge installed path!\n\n'
echo -en ${RESTORE}
echo -en ${RED} 'Goodbay!\n\n'
exit 12
fi
# Replace "\" with "/"
p=$(echo $p | sed 's/\\/\//g')
# Trim trailing "/"
p=${p%/}
echo -en ${RED} '\n'
read -p 'Backup Sublime Merge binary? [y/n]: ' bm
if [ -n $bm ] && [ $bm != "n" ]; then
# Backup Sublime Merge
echo -en ${GREEN} '\nRunning backup: copy "sublime_merge" to "sublime_merge.orig" ...\n'
cp -i "$p/sublime_merge" "$p/sublime_merge.orig"
echo
fi
fi
echo -en ${RESTORE}
}
function mainWork {
echo -en ${WHITE}
read -n1 -p "Pick a letter to run patching: T - Sublime Text, M - Sublime Merge, or E - Exit script." runPatching
case $runPatching in
t|T) printf "\n\nStart patching Sublime Text 3.\n" && textPatching;;
m|M) printf "\n\nStart patching Sublime Merge.\n" && mergePatching;;
e|E) printf "\n\nGoodbay!\n\n" && exit 0;;
esac
}
mainWork
# Detect Sublime build
echo -en ${PURPLE} 'Checking Sublime Text/Merge version...\n\n'
if [[ -f "$p/changelog.txt" ]]; then
v=$(cat "$p/changelog.txt" | grep -P -o '^<h2>.*Build \d{4}' | grep -P -o '\d{4}' | head -n 1)
echo -en ${LYELLOW}
read -p "Detected Sublime version *$v*, is it right? [y/n]: " flag
if [[ -n "$flag" ]]; then
case $flag in
"y" )
;;
"n" )
# Input build number manually
echo -en ${WHITE}
read -p "Please input your Sublime Text/Merge build number (supported builds are [$support_versions]): `echo $'\n> '`" v
;;
* )
echo -en ${LRED} '\nInvalid input: '$flag'\n'
exit 1
esac
fi
else
echo -en ${LRED} '\nFail detecting Sublime Text/Merge version!\n'
echo -en ${WHITE}
read -p "Please input your Sublime Text/Merge build manually (supported builds are [$support_versions]): `echo $'\n> '`" v
fi
# Check Sublime Text/Merge if the build is supported
if [[ ! $support_versions = *"$v"* ]]; then
echo -en ${LRED} '\nError: Version '$v' is not in support list: ['$support_versions']\n'
echo -en ${RED} '\nGoodbay!\n'
echo -en ${RESTORE}
exit 1
fi
# Patching binary
echo -en ${CYAN} '\nStart patching...\n\n'
case $v in
"3203" )
printf '\x08' | dd seek=$((0x3127F9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x01' | dd seek=$((0x3127FA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3127FB)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3127FC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x08' | dd seek=$((0x312851)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x01' | dd seek=$((0x312852)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x312853)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x312854)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\xC3' | dd seek=$((0x31B568)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B5D7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B95C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B95D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B963)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B964)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B967)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B968)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x75' | dd seek=$((0x31B97C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B9F1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B9F2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B9F8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B9F9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31B9FF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA00)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA01)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA02)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA03)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA04)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA0A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA0B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA0C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA0D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA0E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA0F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA15)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA16)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA17)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA18)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA19)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA1A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA20)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA21)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA22)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA23)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA24)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA25)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA2B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA2C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA2D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA2E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA2F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA30)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA36)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA37)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA38)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA39)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA3A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA3B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA41)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA42)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA43)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA44)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA45)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA46)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA4C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA4D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA4E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA4F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA50)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA51)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA57)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA58)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA59)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA5A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA5B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA5C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA62)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA63)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA64)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA65)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA66)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA67)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA6D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA6E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA6F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA70)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA71)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA72)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA78)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA79)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA7A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA7B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA7C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA7D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA83)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA84)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA85)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA86)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA87)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA88)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA8E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA8F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA90)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA91)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA92)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA93)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA99)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA9A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA9B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA9C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA9D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BA9E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAA4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAA5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAA6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAA7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAA8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAA9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAAF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAB0)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAB1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAB2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAB3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAB4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BABA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BABB)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BABC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BABD)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BABE)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BABF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAC5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAC6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAC7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAC8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAC9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BACA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAD0)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAD1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAD2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAD3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAD4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAD5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BADB)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BADC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BADD)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BADE)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BADF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAE0)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAE6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAE7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAE8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAE9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAEA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAEB)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAF1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAF2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAF3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAF4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAF5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAF6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAFC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAFD)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAFE)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BAFF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB00)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB01)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB07)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB08)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB09)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB0A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB0B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB0C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB12)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB13)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB14)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB15)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB16)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB17)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB1D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB1E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB1F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB20)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB21)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB22)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB28)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB29)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB2A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB2B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB2C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB2D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB33)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB34)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB35)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB36)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB37)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB38)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB3E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB3F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB40)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB41)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB42)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB43)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB49)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB4A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB4B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB4C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB4D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB4E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB54)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB55)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB56)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB57)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB58)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB59)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB5F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB60)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB61)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB62)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB63)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB64)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB6A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB6B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB6C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB6D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB6E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB6F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB75)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB76)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB77)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB78)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB79)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB7A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB80)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB81)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB82)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB83)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB84)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB85)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB8B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB8C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB8D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB8E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB8F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB90)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB96)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB97)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB98)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB99)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB9A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BB9B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBA1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBA2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBA3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBA4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBA5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBA6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBAC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBAD)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBAE)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBAF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBB0)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBB1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBB7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBB8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBB9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBBA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBBB)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBBC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBC2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBC3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBC4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBC5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBC6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBC7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBCD)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBCE)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBCF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBD0)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBD1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBD2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBD8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBD9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBDA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBDB)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBDC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBDD)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBE3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBE4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBE5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBE6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBE7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBE8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBEE)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBEF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBF0)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBF1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBF2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBF3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBF9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBFA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBFB)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBFC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBFD)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BBFE)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC04)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC05)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC06)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC07)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC08)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC09)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC0F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC10)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC11)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC12)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC13)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC14)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC1A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC1B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC1C)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC1D)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC1E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31BC1F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C100)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C101)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C102)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C103)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C104)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C105)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C6F5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C6F6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C6F7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C6F8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C6F9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31C6FA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF0)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF1)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBF9)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBFA)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBFB)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBFC)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\xC3' | dd seek=$((0x31CBFD)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBFE)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CBFF)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC00)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC01)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC02)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC03)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC04)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC05)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC06)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC07)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC08)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC09)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x31CC0A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\xC3' | dd seek=$((0x31CC0B)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE42E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE42F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE430)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE431)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE432)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE433)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE434)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE4F2)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE4F3)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE4F4)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE4F5)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE4F6)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE4F7)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE4F8)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE55E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE55F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE560)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE561)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE562)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE563)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BE564)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x0F' | dd seek=$((0x3BF481)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x01' | dd seek=$((0x3BF482)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BF483)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BF484)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BF485)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BF486)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BF487)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x3BF488)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x478849)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x47884A)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x47884F)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x478850)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x478851)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x478852)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x478853)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x90' | dd seek=$((0x478854)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
;;
"3200" )
printf '\x85' | dd seek=$((0x3BEB98)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\x74' | dd seek=$((0x477C6E)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
printf '\xC3' | dd seek=$((0x31BFED)) conv=notrunc bs=1 of="$p/sublime_text" &> /dev/null
;;
"1111" )
printf '\x85' | dd seek=$((0x2F6298)) conv=notrunc bs=1 of="$p/sublime_merge" &> /dev/null
printf '\x74' | dd seek=$((0x501B2A)) conv=notrunc bs=1 of="$p/sublime_merge" &> /dev/null
printf '\xC3' | dd seek=$((0x30F34A)) conv=notrunc bs=1 of="$p/sublime_merge" &> /dev/null
;;
"1109" )
printf '\x85' | dd seek=$((0x2F6298)) conv=notrunc bs=1 of="$p/sublime_merge" &> /dev/null
printf '\x74' | dd seek=$((0x501B06)) conv=notrunc bs=1 of="$p/sublime_merge" &> /dev/null
printf '\xC3' | dd seek=$((0x30F34A)) conv=notrunc bs=1 of="$p/sublime_merge" &> /dev/null
;;
* )
echo -en ${RED} 'Error: Version not supported for patching...\n'
exit 1
;;
esac
echo -en ${LCYAN} 'The patching was done without errors.\n\n'
echo -en ${LGREEN} 'Congratulation!\n'
echo -en ${RESTORE} '\n'
#
exit 0
$ sudo nano /etc/hosts
(u can use other text editor)- copy & paste
Entries to add to /etc/hosts:
0.0.0.0 www.sublimemerge.com
0.0.0.0 sublimemerge.com
0.0.0.0 www.sublimetext.com
0.0.0.0 sublimetext.com
0.0.0.0 sublimehq.com
0.0.0.0 telemetry.sublimehq.com
0.0.0.0 license.sublimehq.com
0.0.0.0 download.sublimetext.com
0.0.0.0 download.sublimemerge.com
0.0.0.0 45.55.255.55
0.0.0.0 45.55.41.223
- Ctrl + w & click enter to save
Add IP addresses to block:
iptables -A OUTPUT -d 45.55.41.223/32 -j REJECT
iptables -A OUTPUT -d 45.55.255.55/32 -j REJECT
For Ubuntu UFW:
$ sudo ufw insert 1 deny out to 45.55.255.55/32 comment 'Block Sublime out host-1'
$ sudo ufw insert 2 deny in to 45.55.255.55/32 comment 'Block Sublime in host-1'
$ sudo ufw insert 3 deny out to 45.55.41.223/32 comment 'Block Sublime out host-2'
$ sudo ufw insert 4 deny in to 45.55.41.223/32 comment 'Block Sublime in host-2'
$ sudo ufw status numbered verbose
$ sudo dpkg-reconfigure iptables-persistent
Run Sublime Text & appreciate the magic ^^
Thanks @mIcHyAmRaNe for idea in formating text. :)