Instantly share code, notes, and snippets.

Embed
What would you like to do?
Sublime Text 3 patching

Ref: https://gist.github.com/vertexclique/9839383

Important Note

Please use built-in Terminal.app (of Mac OS X) to type and rune the command, do not use another tool (like iTerm2).

Common step after enter run the patch command:

  • After run the commands, start new Sublime Text app, go to Main Menu > Help > Enter License. On the popup type in any text (example "a") and click Use Licence .

For 3176 build 2018.05.14

printf '\xc3' | dd seek=$((0xae95)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
printf '\xc3' | dd seek=$((0xb2c6)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
printf '\x48\xc7\xc0\x01\x00\x00\x00\xc3' | dd seek=$((0x85036)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text

Linux platform

printf '\x00\01' | sudo dd seek=$((0xD538)) conv=notrunc bs=1 of=/opt/sublime_text/sublime_text

For 3170 build 2018.05.08

VERSION PLATFORM OFFSET ORIGINAL CRACKED
3170 macOS 0xADF6 55 C3
3170   macOS   0xA9C5 55       C3    
3170 macOS   0x84702 55 48 89 E5 41 57 41 56 48 C7 C0 01 00 00 00 C3
printf '\xc3' | dd seek=$((0xadf6)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
printf '\xc3' | dd seek=$((0xa9c5)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
printf '\x48\xc7\xc0\x01\x00\x00\x00\xc3' | dd seek=$((0x84702)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text

Linux platform

printf '\x00\01' | sudo dd seek=$((0xD5D8)) conv=notrunc bs=1 of=/opt/sublime_text_3/sublime_text

For 3143 build 2017.09.14

VERSION PLATFORM OFFSET ORIGINAL CRACKED
3143 macOS 0x65D4 55 C3
3143   macOS   0x6219 55       C3    
3143 macOS   0x75214 55 48 89 E5 41 57 41 56 48 C7 C0 01 00 00 00 C3
3143 Linux x86_64   0x19D46 89 E8 74 FF C0 EB

Open Terminal and run bellow 3 commands (run all of them)

printf '\xc3' | dd seek=$((0x65d4)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
printf '\xc3' | dd seek=$((0x6219)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
printf '\x48\xc7\xc0\x01\x00\x00\x00\xc3' | dd seek=$((0x75214)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text

After run the commands, start new Sublime Text app, go to Main Menu > Help > Enter License. On the popup type in any text (example "a") and click Use Licence .

For 3126 build 2016.09.26

VERSION PLATFORM OFFSET ORIGINAL CRACKED
3126 macOS 0x6890 F8 E0
3126 Win x86 0xBA11D 1A 2A
3126 Win x64 0xFC53B 94 95
3126 Linux x86 0xC35C 94 95
3126 Linux x64 0xC62E 94 95

Terminal command for Mac OS X:

printf '\xe0' | dd seek=$((0x6890)) conv=notrunc bs=1 of=/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text

Terminal command for Linux x86:

printf '\x95' | dd seek=$((0xc35c)) conv=notrunc bs=1 of=/path/to/sublime_text
@di-ma-73

This comment has been minimized.

di-ma-73 commented May 20, 2016

Thank you!

@dinho1903

This comment has been minimized.

dinho1903 commented Sep 23, 2016

VERSION PLATFORM OFFSET ORIGINAL CRACKED
3124 Linux x86 0xc34c 94 95
@tank666

This comment has been minimized.

tank666 commented Sep 23, 2016

VERSION PLATFORM OFFSET ORIGINAL CRACKED
3124 Win x86 0xba148 1a 2a
@dinho1903

This comment has been minimized.

dinho1903 commented Sep 28, 2016

VERSION PLATFORM OFFSET ORIGINAL CRACKED
3126 Linux x86 0xc35c 94 95
@ghost

This comment has been minimized.

ghost commented Jan 9, 2017

Nice Tutorial.

But, if you want to crack any version of Sublime text . you must need to watch this video tutorial => https://www.youtube.com/watch?v=MCQP6oJj4Zw

in this video i was show, how you can crack any build of sublime text 3 to life time unlimited user .
as a demo i was show Sublime Text 3 build 3103 cracked tutorial :)

A thanks is more appreciate
Thanks.

@ikouchiha47

This comment has been minimized.

ikouchiha47 commented Feb 2, 2017

What is this offset code? also what is this piping to dd doing?replacing/adding that hex value to the seeked position in output bytes. some explanation would be good, (maybe in email)

because for linux64 tar ball, it doesn'twork

@scrthq

This comment has been minimized.

scrthq commented Mar 11, 2017

For those on Windows, I wrote a handy Powershell function to use it as a hex editor. Confirmed working on Sublime Text 3, should work with any version of it as well. Total time to patch the EXE is about 5 seconds in all.

Here's how to use:

  1. Open a Powershell console (Administrator level to avoid errors, although this worked fine for me in normal)
  2. Run the following command to load the function from my GitHub (feel free to go the URL to investigate the function itself):
Invoke-Expression (New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/nferrell/PSToolbelt/master/Public/Edit-FileHex.ps1")
  1. Run the following command to "register" Sublime Text 3 (I'm using build 3126 on Win x64 as an example):
Edit-FileHex -FilePath "C:\Program Files\Sublime Text 3\sublime_text.exe" -Offset 0xFC53B -Original 94 -Updated 95 -OverwriteOriginal

If you would like to test this out first, you can remove the -OverwriteOriginal switch from the command. This will create an edited clone titled sublime_text (Hexed).exe in the same folder as the original.

@ikouchiha47

This comment has been minimized.

ikouchiha47 commented May 17, 2017

For people who want to know what this does. it replaces the cmp (83 f8 01) with a similar thing , bypassing the important bit :P

@robertnicjoo

This comment has been minimized.

robertnicjoo commented Sep 14, 2017

3143?

@laptrinhcomvn

This comment has been minimized.

Owner

laptrinhcomvn commented Sep 14, 2017

Updated for Version: 3143

@robertnicjoo

This comment has been minimized.

robertnicjoo commented Sep 14, 2017

@laptrinhcowvn how to active it in windows?

@Rossie

This comment has been minimized.

Rossie commented Sep 15, 2017

Windows version please! 👍

@h3ct0rjs

This comment has been minimized.

h3ct0rjs commented Sep 15, 2017

Not working in Linux x86_64 😢

@hcconquer

This comment has been minimized.

hcconquer commented Sep 15, 2017

thanks very much, it works very well in osx!

@augustoguerrero

This comment has been minimized.

augustoguerrero commented Sep 15, 2017

Like @h3ct0rjs, tested on debian x64 and not working.

@Abhinav1217

This comment has been minimized.

Abhinav1217 commented Sep 19, 2017

Not working in Linux x86_64

@snj33v

This comment has been minimized.

snj33v commented Sep 29, 2017

linux crack only works on arch

@qbvan

This comment has been minimized.

qbvan commented Nov 17, 2017

thank you, it worked

@possessedbysatan

This comment has been minimized.

possessedbysatan commented Feb 5, 2018

Linux (Arch) crack working as expected. Perhaps you guys didn't write the right command. I'll leave it here for you since it isn't mentioned in the guide:
printf '\xff\xc0\xeb' | sudo dd seek=$((0x19D46)) conv=notrunc bs=1 of=sublime_text

sublime_text can be found in /opt/sublime_text_3

@Un1Gfn

This comment has been minimized.

Un1Gfn commented May 9, 2018

@laptrinhcomvn Excuse me, but how to crack 3170 Linux build? I found all 89 E8 74 with binwalk -R "\x89\xe8\x74" /opt/sublime_text/sublime_text and tried the following script:

#!/bin/bash
# Enter
cd /opt/sublime_text/
# Backup
cp -a sublime_text sublime_text.orig

# Crack one
for OFFSET in $((0xA796C)) $((0xD5CCA)) $((0x18AD90)) $((0x1E5745)) $((0x1EEBC1)) $((0x1EEBE5)) $((0x25C928)) $((0x3ACE97)); do
  # Recover
  cp -a sublime_text.orig sublime_text
  # Replace
  printf '\xff\xc0\xeb' | dd \
    seek=$OFFSET \
    conv=notrunc \
    bs=1 \
    of=sublime_text
  # Test
  printf "\n%7X Please open subl manually, test, then press Enter/C-c" $OFFSET
  read
done
echo

But it does not work. Invalid license every time. The SublimeHQ might have evolved this time :)

@n0kt

This comment has been minimized.

n0kt commented May 10, 2018

@Un1Gfn This worked for me on Linux x64 3170 specifically lubuntu 18.04
printf '\x00\01' | sudo dd seek=$((0xD5D8)) conv=notrunc bs=1 of=/opt/sublime_text/sublime_text
Credit to @zecapistolas who commented here.

@1nikolas

This comment has been minimized.

1nikolas commented May 18, 2018

Thanks it works!!

@ecr007

This comment has been minimized.

ecr007 commented May 19, 2018

Working 100% on Mac OSX

@mustelida

This comment has been minimized.

mustelida commented May 20, 2018

@scrthq Re: Edit-FileHex.ps1

Wish I'd known about this when I wrote this similar script hexpatcher.

It takes in a program name and a CSV file of the hex edits and outputs the patched program (+ a backed up original). More details in the gist.

@justinesenerez

This comment has been minimized.

justinesenerez commented May 22, 2018

I found this very simple youtube tutorial. I thought this won't work but it did. https://www.youtube.com/watch?v=Io2yEUcSz7Q&t=13s

@Un1Gfn

This comment has been minimized.

Un1Gfn commented May 24, 2018

@n0kt @zecapistolas Works like magic. Don't even need to enter any garbage license...

@lroe

This comment has been minimized.

lroe commented May 28, 2018

Works in ubuntu

@OzanKurt

This comment has been minimized.

OzanKurt commented May 28, 2018

Make one for windows?

@possessedbysatan

This comment has been minimized.

possessedbysatan commented Jun 19, 2018

@OzanKurt
It has been already patched for windows. There are several videos on youtube showing how to patch it.

By the way, patch is working as intended (Arch Linux).

@ojulianos

This comment has been minimized.

ojulianos commented Aug 18, 2018

Working on sublime with arch linux

@tjbulick

This comment has been minimized.

tjbulick commented Sep 14, 2018

works fine

@AlexeySemigradsky

This comment has been minimized.

AlexeySemigradsky commented Oct 4, 2018

@laptrinhcomvn What about the Sublime Merge?

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