Skip to content

Instantly share code, notes, and snippets.

@maboloshi
Last active December 2, 2024 16:51
Show Gist options
  • Save maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47 to your computer and use it in GitHub Desktop.
Save maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47 to your computer and use it in GitHub Desktop.
Crack Sublime Text and Sublime Merge

Note

  1. If you can, please purchase the genuine license through the official channel and support the software developer.
  2. All crack methods here are implemented by @leogx9r.
  3. All data is not guaranteed to be authoritative or correct, nor has it been tested across the platform, nor is it responsible for any errors, lost data, etc. in practice! Please assess yourself!!!
  4. I am only within the ability to update the information based on the existing crack methods until the existing rules fail.

Sublime Patcher Script for personal use

The code implementation is very poor.
https://gist.github.com/maboloshi/5baecbddacf43855f13240b63be5673d

ToC

Sublime Text Sublime Merge
Stable channel win / linux / mac / mac-arm64 win / linux / mac / mac-arm64
Dev channel win / linux / mac / mac-arm64 win / linux / mac / mac-arm64

How to Crack Sublime Text, Stable Channel, Build 4152

Thanks to @leogx9r for providing cracking methods.

https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451?permalink_comment_id=3762200#gistcomment-3762200 https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3802197#gistcomment-3802197 https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3803204#gistcomment-3803204

Win64

Desciption Offset Original Patched
Initial License Check 0x000A8D78 55 41 57 41 48 31 C0 C3
Persistent License Check 1 0x000071D0 E8 17 FE 20 00 90 90 90 90 90
Persistent License Check 2 0x000071E9 E8 FE FD 20 00 90 90 90 90 90
Disable Server Validation Thread 0x000AAB3E 55 56 57 48 83 EC 30 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x000A8945 55 C3
Disable Crash Reporter 0x00000400 41 C3

for 4117, 4118: https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3927712#gistcomment-3927712

Bat Script
:: for Win64
cd /d "C:\Program Files\Sublime Text" || exit
certutil -hashfile sublime_text.exe md5 | find /i "15BB398D5663B89A44372EF15F70A46F" || exit
echo 000A8D78: 48 31 C0 C3          | xxd -r - sublime_text.exe
echo 000071D0: 90 90 90 90 90       | xxd -r - sublime_text.exe
echo 000071E9: 90 90 90 90 90       | xxd -r - sublime_text.exe
echo 000AAB3E: 48 31 C0 48 FF C0 C3 | xxd -r - sublime_text.exe
echo 000A8945: C3                   | xxd -r - sublime_text.exe
echo 00000400: C3                   | xxd -r - sublime_text.exe

PS:xxd.exe extracted from git for windows

The license can be any string.

Blocked by Microsoft Defender SmartScreen -> More Info -> Run Anyway

Screenshot
![Screenshot](https://i.imgur.com/t4QlRZ6.png)

![Screenshot](https://i.imgur.com/18372Rh.png)

Linux

Desciption Offset Original Patched
Initial License Check 0x00415013 55 41 57 41 48 31 C0 C3
Persistent License Check 1 0x00409037 E8 C0 CC 12 00 90 90 90 90 90
Persistent License Check 2 0x0040904F E8 A8 CC 12 00 90 90 90 90 90
Disable Server Validation Thread 0x00416CA4 55 41 56 53 41 89 F6 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x00414C82 41 C3
Disable Crash Reporter 0x003FA310 55 C3
Bash Script
# for Linux
cd /opt/sublime_text || exit
md5sum -c <<<"7038C3B1CC79504602DA70599D4CCCE9  sublime_text" || exit
echo 00415013: 48 31 C0 C3          | xxd -r - sublime_text
echo 00409037: 90 90 90 90 90       | xxd -r - sublime_text
echo 0040904F: 90 90 90 90 90       | xxd -r - sublime_text
echo 00416CA4: 48 31 C0 48 FF C0 C3 | xxd -r - sublime_text
echo 00414C82: C3                   | xxd -r - sublime_text
echo 003FA310: C3                   | xxd -r - sublime_text

macOS

Desciption Offset Original Patched
Initial License Check 0x0009F313 55 48 89 E5 48 31 C0 C3
Persistent License Check 1 0x00009CEF E8 3C 2D 13 00 90 90 90 90 90
Persistent License Check 2 0x00009D07 E8 24 2D 13 00 90 90 90 90 90
Disable Server Validation Thread 0x000A085D 55 48 89 E5 41 57 41 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x0009EF0E 55 C3
Disable Crash Reporter 0x00002A87 55 C3
Bash Script
# for MacOS
cd "/Applications/Sublime Text.app/Contents/MacOS/" || exit
md5 -q sublime_text | grep -i "B07FDB3A228A46DF1CC178FE60B64D3B" || exit
echo 0009F313: 48 31 C0 C3          | xxd -r - sublime_text
echo 00009CEF: 90 90 90 90 90       | xxd -r - sublime_text
echo 00009D07: 90 90 90 90 90       | xxd -r - sublime_text
echo 000A085D: 48 31 C0 48 FF C0 C3 | xxd -r - sublime_text
echo 0009EF0E: C3                   | xxd -r - sublime_text
echo 00002A87: C3                   | xxd -r - sublime_text
Re-Sign App
codesign --force --deep --sign - "/Applications/Sublime Text.app"

Requires Apple Command Line Tools to be installed

macOS (ARM64)

Based on: https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3929427#gistcomment-3929427

Desciption Offset Original Patched
Initial License Check 0x01060C90 FC 6F BA A9 E6 03 1E AA E0 03 1F AA C0 03 5F D6
Persistent License Check 1 0x00FEAD18 40 BB 03 94 1F 20 03 D5
Persistent License Check 2 0x00FEAD2C 3B BB 03 94 1F 20 03 D5
Disable Server Validation Thread 0x01061F28 F6 57 BD A9 C0 03 5F D6
Disable License Notify Thread 0x01060908 FC 6F BD A9 C0 03 5F D6
Disable Crash Reporter 0x00FE5780 FC 6F BC A9 C0 03 5F D6
Bash Script
# for macOS (ARM64)
cd "/Applications/Sublime Text.app/Contents/MacOS/" || exit
md5 -q sublime_text | grep -i "B07FDB3A228A46DF1CC178FE60B64D3B" || exit
echo 01060C90: E0 03 1F AA C0 03 5F D6 | xxd -r - sublime_text
echo 00FEAD18: 1F 20 03 D5             | xxd -r - sublime_text
echo 00FEAD2C: 1F 20 03 D5             | xxd -r - sublime_text
echo 01061F28: C0 03 5F D6             | xxd -r - sublime_text
echo 01060908: C0 03 5F D6             | xxd -r - sublime_text
echo 00FE5780: C0 03 5F D6             | xxd -r - sublime_text
Re-Sign App
codesign --force --deep --sign - "/Applications/Sublime Text.app"

Requires Apple Command Line Tools to be installed


How to Crack Sublime Text, Dev Channel, Build 4154

Thanks to @leogx9r for providing cracking methods.

https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451?permalink_comment_id=3762200#gistcomment-3762200 https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3802197#gistcomment-3802197 https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3803204#gistcomment-3803204

Win64

Desciption Offset Original Patched
Initial License Check 0x0009E47C 55 41 57 41 48 31 C0 C3
Persistent License Check 1 0x0000647C E8 23 7C 20 00 90 90 90 90 90
Persistent License Check 2 0x00006495 E8 0A 7C 20 00 90 90 90 90 90
Disable Server Validation Thread 0x000A0222 55 56 57 48 83 EC 30 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x0009E043 55 C3

for 4117, 4118: https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3927712#gistcomment-3927712

Bat Script
:: for Win64
cd /d "C:\Program Files\Sublime Text" || exit
certutil -hashfile sublime_text.exe md5 | find /i "ADF277D39672D83637AB708FC45413C8" || exit
echo 0009E47C: 48 31 C0 C3          | xxd -r - sublime_text.exe
echo 0000647C: 90 90 90 90 90       | xxd -r - sublime_text.exe
echo 00006495: 90 90 90 90 90       | xxd -r - sublime_text.exe
echo 000A0222: 48 31 C0 48 FF C0 C3 | xxd -r - sublime_text.exe
echo 0009E043: C3                   | xxd -r - sublime_text.exe

PS:xxd.exe extracted from git for windows

The license can be any string.

Blocked by Microsoft Defender SmartScreen -> More Info -> Run Anyway

Screenshot
![Screenshot](https://i.imgur.com/t4QlRZ6.png)

![Screenshot](https://i.imgur.com/18372Rh.png)

Linux

Desciption Offset Original Patched
Initial License Check 0x00443F94 55 41 57 41 48 31 C0 C3
Persistent License Check 1 0x0042B210 E8 37 44 14 00 90 90 90 90 90
Persistent License Check 2 0x0042B228 E8 1F 44 14 00 90 90 90 90 90
Disable Server Validation Thread 0x00445EB6 55 41 56 53 41 89 F6 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x00443BF8 41 C3
Bash Script
# for Linux
cd /opt/sublime_text || exit
md5sum -c <<<"8836FE092DBB7BC8D3D2375D34510CA9  sublime_text" || exit
echo 00443F94: 48 31 C0 C3          | xxd -r - sublime_text
echo 0042B210: 90 90 90 90 90       | xxd -r - sublime_text
echo 0042B228: 90 90 90 90 90       | xxd -r - sublime_text
echo 00445EB6: 48 31 C0 48 FF C0 C3 | xxd -r - sublime_text
echo 00443BF8: C3                   | xxd -r - sublime_text

macOS

Desciption Offset Original Patched
Initial License Check 0x0009D527 55 48 89 E5 48 31 C0 C3
Persistent License Check 1 0x000097F5 E8 AE 12 13 00 90 90 90 90 90
Persistent License Check 2 0x0000980D E8 96 12 13 00 90 90 90 90 90
Disable Server Validation Thread 0x0009EA9D 55 48 89 E5 41 57 41 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x0009D122 55 C3
Bash Script
# for MacOS
cd "/Applications/Sublime Text.app/Contents/MacOS/" || exit
md5 -q sublime_text | grep -i "E1A3347BECDA7CC1EF583ECACECACBDC" || exit
echo 0009D527: 48 31 C0 C3          | xxd -r - sublime_text
echo 000097F5: 90 90 90 90 90       | xxd -r - sublime_text
echo 0000980D: 90 90 90 90 90       | xxd -r - sublime_text
echo 0009EA9D: 48 31 C0 48 FF C0 C3 | xxd -r - sublime_text
echo 0009D122: C3                   | xxd -r - sublime_text
Re-Sign App
codesign --force --deep --sign - "/Applications/Sublime Text.app"

Requires Apple Command Line Tools to be installed

macOS (ARM64)

Based on: https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3929427#gistcomment-3929427

Desciption Offset Original Patched
Initial License Check 0x010758B8 FC 6F BA A9 E6 03 1E AA E0 03 1F AA C0 03 5F D6
Persistent License Check 1 0x01000360 33 A4 03 94 1F 20 03 D5
Persistent License Check 2 0x01000374 2E A4 03 94 1F 20 03 D5
Disable Server Validation Thread 0x01076B54 F6 57 BD A9 C0 03 5F D6
Disable License Notify Thread 0x01075534 FC 6F BD A9 C0 03 5F D6
Bash Script
# for macOS (ARM64)
cd "/Applications/Sublime Text.app/Contents/MacOS/" || exit
md5 -q sublime_text | grep -i "E1A3347BECDA7CC1EF583ECACECACBDC" || exit
echo 010758B8: E0 03 1F AA C0 03 5F D6 | xxd -r - sublime_text
echo 01000360: 1F 20 03 D5             | xxd -r - sublime_text
echo 01000374: 1F 20 03 D5             | xxd -r - sublime_text
echo 01076B54: C0 03 5F D6             | xxd -r - sublime_text
echo 01075534: C0 03 5F D6             | xxd -r - sublime_text
Re-Sign App
codesign --force --deep --sign - "/Applications/Sublime Text.app"

Requires Apple Command Line Tools to be installed


How to Crack Sublime Merge, Stable Channel, Build 2083

Thanks to @leogx9r for providing cracking methods.

https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3823090#gistcomment-3823090 https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451?permalink_comment_id=3762883#gistcomment-3762883 https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3802197#gistcomment-3802197

Win64

Desciption Offset Original Patched
Initial License Check 0x000251A8 55 41 57 41 56 41 55 41 48 C7 C0 19 01 00 00 C3
Persistent License Check 1 0x000286A3 E8 70 AA 26 00 90 90 90 90 90
Persistent License Check 2 0x000286BC E8 57 AA 26 00 90 90 90 90 90
Disable Server Validation Thread 0x000269B8 55 56 57 48 83 EC 30 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x00024DCD 55 C3
Disable Crash Reporter 0x00023F18 41 C3
Bat Script
:: for Win64
cd /d "C:\Program Files\Sublime Merge" || exit
certutil -hashfile sublime_merge.exe md5 | find /i "E33B76ADA6E7E7577CD4E81A7A4580C7" || exit
echo 000251A8: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge.exe
echo 000286A3: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 000286BC: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 000269B8: 48 31 C0 48 FF C0 C3    | xxd -r - sublime_merge.exe
echo 00024DCD: C3                      | xxd -r - sublime_merge.exe
echo 00023F18: C3                      | xxd -r - sublime_merge.exe

PS:xxd.exe extracted from git for windows

Linux

thinks @urxi here

Bash Script
# for Linux
cd /opt/sublime_merge || exit
md5sum -c <<<"86F61A82E7EE8DD9BDC4CF16A7C8E825  sublime_merge" || exit
echo 0045A360: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 0045D21D: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0045D23A: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0045B990: C3                      | xxd -r - sublime_merge
echo 0045A05A: C3                      | xxd -r - sublime_merge
echo 00459ABA: C3                      | xxd -r - sublime_merge

macOS

Desciption Offset Original Patched
Initial License Check 0x0002C2DF 55 48 89 E5 41 57 41 56 48 C7 C0 19 01 00 00 C3
Persistent License Check 1 0x0002E96C E8 1F B9 18 00 90 90 90 90 90
Persistent License Check 2 0x0002E98B E8 00 B9 18 00 90 90 90 90 90
Disable Server Validation Thread 0x0002D295 55 48 89 E5 41 57 41 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x0002BF6A 55 C3
Disable Crash Reporter 0x0002B7AB 55 C3
Bash Script
# for MacOS
cd "/Applications/Sublime Merge.app/Contents/MacOS/" || exit
md5 -q sublime_merge | grep -i "B1AADED4F196EEEEBF8D5A6F98B11288" || exit
echo 0002C2DF: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 0002E96C: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002E98B: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002D295: 48 31 C0 48 FF C0 C3    | xxd -r - sublime_merge
echo 0002BF6A: C3                      | xxd -r - sublime_merge
echo 0002B7AB: C3                      | xxd -r - sublime_merge
Re-Sign App
codesign --force --deep --sign - "/Applications/Sublime Merge.app"

Requires Apple Command Line Tools to be installed

macOS (ARM64)

!!!! May have expired !!!!

Based on:

Desciption Offset Original Patched
Initial License Check 0x014D9060 FC 6F BA A9 E6 03 1E AA E0 03 1F AA C0 03 5F D6
Persistent License Check 1 0x014DAF68 AB B6 04 94 1F 20 03 D5
Persistent License Check 2 0x014DAF7C A6 B6 04 94 1F 20 03 D5
Disable Server Validation Thread 0x014D9DBC F6 57 BD A9 C0 03 5F D6
Disable License Notify Thread 0x014D8D9C FC 6F BD A9 C0 03 5F D6
Disable Crash Reporter 0x014D86E4 FC 6F BC A9 C0 03 5F D6
Bash Script
# for macOS (ARM64)
cd "/Applications/Sublime Merge.app/Contents/MacOS/" || exit
md5 -q sublime_merge | grep -i "B1AADED4F196EEEEBF8D5A6F98B11288" || exit
echo 014D9060: E0 03 1F AA C0 03 5F D6 | xxd -r - sublime_merge
echo 014DAF68: 1F 20 03 D5             | xxd -r - sublime_merge
echo 014DAF7C: 1F 20 03 D5             | xxd -r - sublime_merge
echo 014D9DBC: C0 03 5F D6             | xxd -r - sublime_merge
echo 014D8D9C: C0 03 5F D6             | xxd -r - sublime_merge
echo 014D86E4: C0 03 5F D6             | xxd -r - sublime_merge
Re-Sign App
codesign --force --deep --sign - "/Applications/Sublime Merge.app"

Requires Apple Command Line Tools to be installed


How to Crack Sublime Merge, Dev Channel, Build 2085

Thanks to @leogx9r for providing cracking methods.

https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3823090#gistcomment-3823090 https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451?permalink_comment_id=3762883#gistcomment-3762883 https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47?permalink_comment_id=3802197#gistcomment-3802197

Win64

Desciption Offset Original Patched
Initial License Check 0x00025300 55 41 57 41 56 41 55 41 48 C7 C0 19 01 00 00 C3
Persistent License Check 1 0x00028813 E8 B8 7F 27 00 90 90 90 90 90
Persistent License Check 2 0x0002882C E8 9F 7F 27 00 90 90 90 90 90
Disable Server Validation Thread 0x00026B20 55 56 57 48 83 EC 30 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x00024F25 55 C3
Disable Crash Reporter 0x00024070 41 C3
Bat Script
:: for Win64
cd /d "C:\Program Files\Sublime Merge" || exit
certutil -hashfile sublime_merge.exe md5 | find /i "8B6590708E6AAE98AC3AE29135DB084F" || exit
echo 00025300: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge.exe
echo 00028813: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 0002882C: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 00026B20: 48 31 C0 48 FF C0 C3    | xxd -r - sublime_merge.exe
echo 00024F25: C3                      | xxd -r - sublime_merge.exe
echo 00024070: C3                      | xxd -r - sublime_merge.exe

PS:xxd.exe extracted from git for windows

Linux

thinks @urxi here

Bash Script
# for Linux
cd /opt/sublime_merge || exit
md5sum -c <<<"958DA6B7EC687B25F55A16FF6A3D9BD0  sublime_merge" || exit
echo 0045F22C: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 004620F9: 90 90 90 90 90          | xxd -r - sublime_merge
echo 00462116: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0046086C: C3                      | xxd -r - sublime_merge
echo 0045EF26: C3                      | xxd -r - sublime_merge
echo 0045E986: C3                      | xxd -r - sublime_merge

macOS

Desciption Offset Original Patched
Initial License Check 0x0002C4CB 55 48 89 E5 41 57 41 56 48 C7 C0 19 01 00 00 C3
Persistent License Check 1 0x0002EB48 E8 15 23 19 00 90 90 90 90 90
Persistent License Check 2 0x0002EB67 E8 F6 22 19 00 90 90 90 90 90
Disable Server Validation Thread 0x0002D471 55 48 89 E5 41 57 41 48 31 C0 48 FF C0 C3
Disable License Notify Thread 0x0002C156 55 C3
Disable Crash Reporter 0x0002B997 55 C3
Bash Script
# for MacOS
cd "/Applications/Sublime Merge.app/Contents/MacOS/" || exit
md5 -q sublime_merge | grep -i "D67510219FB14938A47BE39260C87215" || exit
echo 0002C4CB: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 0002EB48: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002EB67: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002D471: 48 31 C0 48 FF C0 C3    | xxd -r - sublime_merge
echo 0002C156: C3                      | xxd -r - sublime_merge
echo 0002B997: C3                      | xxd -r - sublime_merge
Re-Sign App
codesign --force --deep --sign - "/Applications/Sublime Merge.app"

Requires Apple Command Line Tools to be installed

macOS (ARM64)

!!!! May have expired !!!!

Based on:

Desciption Offset Original Patched
Initial License Check 0x015027EC FC 6F BA A9 E6 03 1E AA E0 03 1F AA C0 03 5F D6
Persistent License Check 1 0x015046D4 78 C9 04 94 1F 20 03 D5
Persistent License Check 2 0x015046E8 73 C9 04 94 1F 20 03 D5
Disable Server Validation Thread 0x0150352C F6 57 BD A9 C0 03 5F D6
Disable License Notify Thread 0x01502528 FC 6F BD A9 C0 03 5F D6
Disable Crash Reporter 0x01501E70 FC 6F BC A9 C0 03 5F D6
Bash Script
# for macOS (ARM64)
cd "/Applications/Sublime Merge.app/Contents/MacOS/" || exit
md5 -q sublime_merge | grep -i "D67510219FB14938A47BE39260C87215" || exit
echo 015027EC: E0 03 1F AA C0 03 5F D6 | xxd -r - sublime_merge
echo 015046D4: 1F 20 03 D5             | xxd -r - sublime_merge
echo 015046E8: 1F 20 03 D5             | xxd -r - sublime_merge
echo 0150352C: C0 03 5F D6             | xxd -r - sublime_merge
echo 01502528: C0 03 5F D6             | xxd -r - sublime_merge
echo 01501E70: C0 03 5F D6             | xxd -r - sublime_merge
Re-Sign App
codesign --force --deep --sign - "/Applications/Sublime Merge.app"

Requires Apple Command Line Tools to be installed

ST's new version of hexadecimal editing method

From: https://gist.github.com/opastorello/4d494d627ec9012367028c89cb7a1945

Search : 80 78 05 00 0f 94 c1 first result , replace: c6 40 05 01 48 85 c9

This patch is applicable to all x86-64 CPU platforms of ST.

ST's old version hexadecimal editing method

From: https://gist.github.com/opastorello/4d494d627ec9012367028c89cb7a1945?permalink_comment_id=4495369#gistcomment-4495369

97 94 0D --> 00 00 00

License Key:

----- BEGIN LICENSE -----
TwitterInc
200 User License
EA7E-890007
1D77F72E 390CDD93 4DCBA022 FAF60790
61AA12C0 A37081C5 D0316412 4584D136
94D7F7D4 95BC8C1C 527DA828 560BB037
D1EDDD8C AE7B379F 50C9D69D B35179EF
2FE898C4 8E4277A8 555CE714 E1FB0E43
D5D52613 C3D12E98 BC49967F 7652EED2
9D2D2E61 67610860 6D338B72 5CF95C69
E36B85CC 84991F19 7575D828 470A92AB
------ END LICENSE ------
@maboloshi
Copy link
Author

[*] Download: sublime_text_build_4150_x64.zip, from: https://download.sublimetext.com/sublime_text_build_4150_x64.zip ...
>>>: 23.1MB [00:06, 3.61MB/s]
[*] Extract: sublime_text.exe, from: sublime_text_build_4150_x64.zip ...

[>] Attempting to autodetect input file ...
[*] Input file -> Sublime Text, Win64, Dev Channel, Build 4150
    MD5 Checksum -> 2E165A9CF8BEB60767E78B6D54996F0B

[>] Found RVA pattern for "isValidLicense for 4117" at 0x7B90 -> 0xA12D3 -> 0xA8E68 ...
[*] Rewrite data '55 41 57 41' -> '48 31 C0 C3' ...

[>] Found pattern for "invalidationFunction" at 0x71D0 ...
[*] Rewrite data 'E8 57 FF 20 00' -> '90 90 90 90 90' ...

[>] Found pattern for "validationFunction for 4139" at 0x71E9 ...
[*] Rewrite data 'E8 3E FF 20 00' -> '90 90 90 90 90' ...

[>] Found pattern for "serverThread" at 0xAAC58 ...
[*] Rewrite data '55 56 57 48 83 EC 30' -> '48 31 C0 48 FF C0 C3' ...

[>] Found pattern for "licenseNotifyThread for 4146" at 0xA8A35 ...
[*] Rewrite data '55' -> 'C3' ...

[>] Found pattern for "crashReporter" at 0x400 ...
[*] Rewrite data '41' -> 'C3' ...

==========================================================================================
[*] Download: sublime_text_build_4150_x64.tar.xz, from: https://download.sublimetext.com/sublime_text_build_4150_x64.tar.xz ...
>>>: 16.5MB [00:05, 3.03MB/s]
[*] Extract: sublime_text/sublime_text, from: sublime_text_build_4150_x64.tar.xz ...

[>] Attempting to autodetect input file ...
[*] Input file -> Sublime Text, Linux, Dev Channel, Build 4150
    MD5 Checksum -> 5DB923AF33C2572EDB83E7DBF4B48E8F

[>] Found RVA pattern for "isValidLicense" at 0x416633 -> 0xFFFFE851 -> 0x414E89 ...
[*] Rewrite data '55 41 57 41' -> '48 31 C0 C3' ...

[>] Found pattern for "invalidationFunction for 4139" at 0x408EB3 ...
[*] Rewrite data 'E8 F6 CC 12 00' -> '90 90 90 90 90' ...

[>] Found pattern for "validationFunction for 4139" at 0x408ECB ...
[*] Rewrite data 'E8 DE CC 12 00' -> '90 90 90 90 90' ...

[>] Found pattern for "serverThread" at 0x416AFC ...
[*] Rewrite data '55 41 56 53 41 89 F6' -> '48 31 C0 48 FF C0 C3' ...

[>] Found pattern for "licenseNotifyThread for 4146" at 0x414AF8 ...
[*] Rewrite data '41' -> 'C3' ...

[>] Found pattern for "crashReporter" at 0x3FA190 ...
[*] Rewrite data '55' -> 'C3' ...

==========================================================================================
[*] Download: sublime_text_build_4150_mac.zip, from: https://download.sublimetext.com/sublime_text_build_4150_mac.zip ...
>>>: 39.7MB [00:08, 4.45MB/s]
[*] Extract: Sublime Text.app/Contents/MacOS/sublime_text, from: sublime_text_build_4150_mac.zip ...

[>] Attempting to autodetect input file ...
[*] Input file -> Sublime Text, macOS, Dev Channel, Build 4150
    MD5 Checksum -> 330C520A50F79996F078D3634CCBC8A1

[>] Found RVA pattern for "isValidLicense" at 0xA0086 -> 0xFFFFF0C8 -> 0x9F153 ...
[*] Rewrite data '55 48 89 E5' -> '48 31 C0 C3' ...

[>] Found pattern for "invalidationFunction for 4139 " at 0x9AFF ...
[*] Rewrite data 'E8 E4 2D 13 00' -> '90 90 90 90 90' ...

[>] Found pattern for "validationFunction for 4139" at 0x9B17 ...
[*] Rewrite data 'E8 CC 2D 13 00' -> '90 90 90 90 90' ...

[>] Found pattern for "serverThread" at 0xA06A9 ...
[*] Rewrite data '55 48 89 E5 41 57 41' -> '48 31 C0 48 FF C0 C3' ...

[>] Found pattern for "licenseNotifyThread" at 0x9ED4E ...
[*] Rewrite data '55' -> 'C3' ...

[>] Found pattern for "crashReporter" at 0x2897 ...
[*] Rewrite data '55' -> 'C3' ...

@monglung
Copy link

monglung commented May 11, 2023

Again, my new updated patch for win64 and linux64 to the latest ST 4150: slp_2023_05_11.rar

Signature sha-256: 1da188d3575a914354a9daba769b425c0067e300172ba0c38e324bd90805e95e

@minayko
Copy link

minayko commented May 19, 2023

[>] Found RVA pattern for "isValidLicense for 4117" at 0x7B90 -> 0xA12D3 -> 0xA8E68 ...

Why are there three addresses?

Where can I learn more about RVA?

@Destitute-Streetdwelling-Guttersnipe
Copy link

@Destitute-Streetdwelling-Guttersnipe
Copy link

Destitute-Streetdwelling-Guttersnipe commented Jun 5, 2023

There's also a plugin to automatically close the nag popup at https://gist.github.com/egel/b7beba6f962110596660
The Windows version is at https://gist.github.com/altbdoor/6c36d2c83accd3095145085d04c84f3b

You don't have to patch ST anymore with this method.

@DarkXero-dev
Copy link

DarkXero-dev commented Jun 24, 2023

I cannot patch SM Linux latest stable is 2083 and none of the SLPs here have it in the list max I found was 2081 Dev .. Patched binaries of 2085 Dev .. I don't want Dev I need 2083 Stable..

Thanks

@urxi
Copy link

urxi commented Jul 5, 2023

Here are my patches for the most recent macOS (both Intel and ARM) builds:

Sublime Text (Stable Channel, Build 4143)
cd "/Applications/Sublime Text.app/Contents/MacOS/" || exit
md5 -q sublime_text | grep -i "70909B4BCCB3209C6F6C80122171BA84" || exit

echo 00096206: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text
echo 000086A4: 90 90 90 90 90          | xxd -r - sublime_text
echo 000086BC: 90 90 90 90 90          | xxd -r - sublime_text
echo 0009779F: C3                      | xxd -r - sublime_text
echo 00095DF0: C3                      | xxd -r - sublime_text
echo 000026A7: C3                      | xxd -r - sublime_text

echo 01055A38: 00 00 80 D2 C0 03 5F D6 | xxd -r - sublime_text
echo 00FE4E80: 1F 20 03 D5             | xxd -r - sublime_text
echo 00FE4E94: 1F 20 03 D5             | xxd -r - sublime_text
echo 01056D2C: C0 03 5F D6             | xxd -r - sublime_text
echo 010556A0: C0 03 5F D6             | xxd -r - sublime_text
echo 00FE04C0: C0 03 5F D6             | xxd -r - sublime_text

codesign --force --deep --sign - "/Applications/Sublime Text.app"
Sublime Text (Dev Channel, Build 4150)
cd "/Applications/Sublime Text.app/Contents/MacOS/" || exit
md5 -q sublime_text | grep -i "330C520A50F79996F078D3634CCBC8A1" || exit

echo 0009F153: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text
echo 00009AFF: 90 90 90 90 90          | xxd -r - sublime_text
echo 00009B17: 90 90 90 90 90          | xxd -r - sublime_text
echo 000A06A9: C3                      | xxd -r - sublime_text
echo 0009ED4E: C3                      | xxd -r - sublime_text
echo 00002897: C3                      | xxd -r - sublime_text

echo 010647D0: 00 00 80 D2 C0 03 5F D6 | xxd -r - sublime_text
echo 00FEE68C: 1F 20 03 D5             | xxd -r - sublime_text
echo 00FEE6A0: 1F 20 03 D5             | xxd -r - sublime_text
echo 01065A74: C0 03 5F D6             | xxd -r - sublime_text
echo 01064448: C0 03 5F D6             | xxd -r - sublime_text
echo 00FE90EC: C0 03 5F D6             | xxd -r - sublime_text

codesign --force --deep --sign - "/Applications/Sublime Text.app"
Sublime Merge (Stable Channel, Build 2083)
cd "/Applications/Sublime Merge.app/Contents/MacOS/" || exit
md5 -q sublime_merge | grep -i "B1AADED4F196EEEEBF8D5A6F98B11288" || exit

echo 0002C2DF: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 0002E96C: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002E98B: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002D295: C3                      | xxd -r - sublime_merge
echo 0002BF6A: C3                      | xxd -r - sublime_merge
echo 0002B7AB: C3                      | xxd -r - sublime_merge

echo 014D9060: 20 23 80 D2 C0 03 5F D6 | xxd -r - sublime_merge
echo 014DAF68: 1F 20 03 D5             | xxd -r - sublime_merge
echo 014DAF7C: 1F 20 03 D5             | xxd -r - sublime_merge
echo 014D9DBC: C0 03 5F D6             | xxd -r - sublime_merge
echo 014D8D9C: C0 03 5F D6             | xxd -r - sublime_merge
echo 014D86E4: C0 03 5F D6             | xxd -r - sublime_merge

codesign --force --deep --sign - "/Applications/Sublime Merge.app"
Sublime Merge (Dev Channel, Build 2085)
cd "/Applications/Sublime Merge.app/Contents/MacOS/" || exit
md5 -q sublime_merge | grep -i "D67510219FB14938A47BE39260C87215" || exit

echo 0002C4CB: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 0002EB48: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002EB67: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002D471: C3                      | xxd -r - sublime_merge
echo 0002C156: C3                      | xxd -r - sublime_merge
echo 0002B997: C3                      | xxd -r - sublime_merge

echo 015027EC: 20 23 80 D2 C0 03 5F D6 | xxd -r - sublime_merge
echo 015046D4: 1F 20 03 D5             | xxd -r - sublime_merge
echo 015046E8: 1F 20 03 D5             | xxd -r - sublime_merge
echo 0150352C: C0 03 5F D6             | xxd -r - sublime_merge
echo 01502528: C0 03 5F D6             | xxd -r - sublime_merge
echo 01501E70: C0 03 5F D6             | xxd -r - sublime_merge

codesign --force --deep --sign - "/Applications/Sublime Merge.app"

@luckykong
Copy link

Sublime Text (Dev Channel, Build 4150)

Great, at least this patch is working. Thank you very much.

@bms8197
Copy link

bms8197 commented Jul 5, 2023

Works like a charm. Thank you!

@maboloshi
Copy link
Author

@urxi Thank you! 👍

@urxi
Copy link

urxi commented Jul 7, 2023

Here are my patches for the most recent Linux (x64) builds:

Sublime Text (Stable Channel, Build 4143)
cd /opt/sublime_text || exit
md5sum -c <<< "AFDEBB91F2BF42C9B491BAFD517C0A49  sublime_text" || exit

echo 003A31F2: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text
echo 00399387: 90 90 90 90 90          | xxd -r - sublime_text
echo 0039939D: 90 90 90 90 90          | xxd -r - sublime_text
echo 003A4E30: C3                      | xxd -r - sublime_text
echo 003A2E82: C3                      | xxd -r - sublime_text
echo 0038C9F0: C3                      | xxd -r - sublime_text
Sublime Text (Dev Channel, Build 4150)
cd /opt/sublime_text || exit
md5sum -c <<< "5DB923AF33C2572EDB83E7DBF4B48E8F  sublime_text" || exit

echo 00414E89: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text
echo 00408EB3: 90 90 90 90 90          | xxd -r - sublime_text
echo 00408ECB: 90 90 90 90 90          | xxd -r - sublime_text
echo 00416AFC: C3                      | xxd -r - sublime_text
echo 00414AF8: C3                      | xxd -r - sublime_text
echo 003FA190: C3                      | xxd -r - sublime_text
Sublime Merge (Stable Channel, Build 2083)
cd /opt/sublime_merge || exit
md5sum -c <<< "86F61A82E7EE8DD9BDC4CF16A7C8E825  sublime_merge" || exit

echo 0045A360: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 0045D21D: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0045D23A: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0045B990: C3                      | xxd -r - sublime_merge
echo 0045A05A: C3                      | xxd -r - sublime_merge
echo 00459ABA: C3                      | xxd -r - sublime_merge
Sublime Merge (Dev Channel, Build 2085)
cd /opt/sublime_merge || exit
md5sum -c <<< "958DA6B7EC687B25F55A16FF6A3D9BD0  sublime_merge" || exit

echo 0045F22C: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 004620F9: 90 90 90 90 90          | xxd -r - sublime_merge
echo 00462116: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0046086C: C3                      | xxd -r - sublime_merge
echo 0045EF26: C3                      | xxd -r - sublime_merge
echo 0045E986: C3                      | xxd -r - sublime_merge

Note that I could not test these myself, so let me know if there are any issues.

@urxi
Copy link

urxi commented Jul 9, 2023

And to finish things off, my patches for the most recent Windows (x64) builds:

Sublime Text (Stable Channel, Build 4143)
cd /d "C:\Program Files\Sublime Text" || exit
certutil -hashfile sublime_text.exe MD5 | find /i "654F4259E066F90F4964E695CF808AD0" || exit

echo 000A9864: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text.exe
echo 000071FE: 90 90 90 90 90          | xxd -r - sublime_text.exe
echo 00007217: 90 90 90 90 90          | xxd -r - sublime_text.exe
echo 000AB682: C3                      | xxd -r - sublime_text.exe
echo 000A940F: C3                      | xxd -r - sublime_text.exe
echo 00000400: C3                      | xxd -r - sublime_text.exe
Sublime Text (Dev Channel, Build 4150)
cd /d "C:\Program Files\Sublime Text" || exit
certutil -hashfile sublime_text.exe MD5 | find /i "2E165A9CF8BEB60767E78B6D54996F0B" || exit

echo 000A8E68: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text.exe
echo 000071D0: 90 90 90 90 90          | xxd -r - sublime_text.exe
echo 000071E9: 90 90 90 90 90          | xxd -r - sublime_text.exe
echo 000AAC58: C3                      | xxd -r - sublime_text.exe
echo 000A8A35: C3                      | xxd -r - sublime_text.exe
echo 00000400: C3                      | xxd -r - sublime_text.exe
Sublime Merge (Stable Channel, Build 2083)
cd /d "C:\Program Files\Sublime Merge" || exit
certutil -hashfile sublime_merge.exe MD5 | find /i "E33B76ADA6E7E7577CD4E81A7A4580C7" || exit

echo 000251A8: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge.exe
echo 000286A3: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 000286BC: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 000269B8: C3                      | xxd -r - sublime_merge.exe
echo 00024DCD: C3                      | xxd -r - sublime_merge.exe
echo 00023F18: C3                      | xxd -r - sublime_merge.exe
Sublime Merge (Dev Channel, Build 2085)
cd /d "C:\Program Files\Sublime Merge" || exit
certutil -hashfile sublime_merge.exe MD5 | find /i "8B6590708E6AAE98AC3AE29135DB084F" || exit

echo 00025300: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge.exe
echo 00028813: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 0002882C: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 00026B20: C3                      | xxd -r - sublime_merge.exe
echo 00024F25: C3                      | xxd -r - sublime_merge.exe
echo 00024070: C3                      | xxd -r - sublime_merge.exe

@maboloshi Feel free to use these and update your main document 🙂

@Destitute-Streetdwelling-Guttersnipe
Copy link

@urxi
Copy link

urxi commented Jul 19, 2023

You're welcome! I think @norambna just copied all of my patches into a single comment -- don't think they changed or added anything.

@norambna
Copy link

norambna commented Jul 19, 2023

You're welcome! I think @norambna just copied all of my patches into a single comment -- don't think they changed or added anything.

Sorry! I was copy pasting your patches, but posted them here. Thanks @urxi

@rjbprime
Copy link

rjbprime commented Aug 3, 2023

I just opened Sublime Text, and it's popped up with an update nag. Version 4153 for Windows is out.

@alexkoj
Copy link

alexkoj commented Aug 3, 2023

`[>] Attempting to autodetect input file ...
[*] Input file -> Sublime Text, Win64, Stable Channel, Build 4152
MD5 Checksum -> 4BD0A178BBEDA7765A1C58029D20CF37

[>] Found RVA pattern for "isValidLicense" at 0x7C56 -> 0xA111D -> 0xA8D78 ...
[*] Rewrite data '55 41 57 41' -> '48 31 C0 C3' ...
[=] Patched "isValidLicense" successfully.

[>] Found pattern for "invalidationFunction" at 0x71D0 ...
[*] Rewrite data 'E8 17 FE 20 00' -> '90 90 90 90 90' ...
[=] Patched "invalidationFunction" successfully.

[>] Found pattern for "validationFunction" at 0x71E9 ...
[*] Rewrite data 'E8 FE FD 20 00' -> '90 90 90 90 90' ...
[=] Patched "validationFunction" successfully.

[>] Found pattern for "serverThread" at 0xAAB3E ...
[*] Rewrite data '55 56 57 48 83 EC 30' -> '48 31 C0 48 FF C0 C3' ...
[=] Patched "serverThread" successfully.

[>] Found pattern for "licenseNotifyThread" at 0xA8945 ...
[*] Rewrite data '55' -> 'C3' ...
[=] Patched "licenseNotifyThread" successfully.

[>] Found pattern for "crashReporter" at 0x400 ...
[*] Rewrite data '41' -> 'C3' ...
[=] Patched "crashReporter" successfully.`

@Destitute-Streetdwelling-Guttersnipe
Copy link

@Bruskyer
Copy link

Bruskyer commented Aug 3, 2023

`[>] Attempting to autodetect input file ... [*] Input file -> Sublime Text, Win64, Stable Channel, Build 4152 MD5 Checksum -> 4BD0A178BBEDA7765A1C58029D20CF37

[>] Found RVA pattern for "isValidLicense" at 0x7C56 -> 0xA111D -> 0xA8D78 ... [*] Rewrite data '55 41 57 41' -> '48 31 C0 C3' ... [=] Patched "isValidLicense" successfully.

[>] Found pattern for "invalidationFunction" at 0x71D0 ... [*] Rewrite data 'E8 17 FE 20 00' -> '90 90 90 90 90' ... [=] Patched "invalidationFunction" successfully.

[>] Found pattern for "validationFunction" at 0x71E9 ... [*] Rewrite data 'E8 FE FD 20 00' -> '90 90 90 90 90' ... [=] Patched "validationFunction" successfully.

[>] Found pattern for "serverThread" at 0xAAB3E ... [*] Rewrite data '55 56 57 48 83 EC 30' -> '48 31 C0 48 FF C0 C3' ... [=] Patched "serverThread" successfully.

[>] Found pattern for "licenseNotifyThread" at 0xA8945 ... [*] Rewrite data '55' -> 'C3' ... [=] Patched "licenseNotifyThread" successfully.

[>] Found pattern for "crashReporter" at 0x400 ... [*] Rewrite data '41' -> 'C3' ... [=] Patched "crashReporter" successfully.`

Thanks good work

@rjbprime
Copy link

rjbprime commented Aug 4, 2023

@kenexllc and @Bruskyer How does one do this on windows?

@Destitute-Streetdwelling-Guttersnipe

@kenexllc you remind me of @leogx9r I hope that @leogx9r is still alive and kicking

Nope! @kenexllc just use the script by @maboloshi and may improve a bit for new build of ST.

@taozhiyu
Copy link

taozhiyu commented Aug 5, 2023

`[>] Attempting to autodetect input file ... [*] Input file -> Sublime Text, Win64, Stable Channel, Build 4152 MD5 Checksum -> 4BD0A178BBEDA7765A1C58029D20CF37

[>] Found RVA pattern for "isValidLicense" at 0x7C56 -> 0xA111D -> 0xA8D78 ... [*] Rewrite data '55 41 57 41' -> '48 31 C0 C3' ... [=] Patched "isValidLicense" successfully.

[>] Found pattern for "invalidationFunction" at 0x71D0 ... [*] Rewrite data 'E8 17 FE 20 00' -> '90 90 90 90 90' ... [=] Patched "invalidationFunction" successfully.

[>] Found pattern for "validationFunction" at 0x71E9 ... [*] Rewrite data 'E8 FE FD 20 00' -> '90 90 90 90 90' ... [=] Patched "validationFunction" successfully.

[>] Found pattern for "serverThread" at 0xAAB3E ... [*] Rewrite data '55 56 57 48 83 EC 30' -> '48 31 C0 48 FF C0 C3' ... [=] Patched "serverThread" successfully.

[>] Found pattern for "licenseNotifyThread" at 0xA8945 ... [*] Rewrite data '55' -> 'C3' ... [=] Patched "licenseNotifyThread" successfully.

[>] Found pattern for "crashReporter" at 0x400 ... [*] Rewrite data '41' -> 'C3' ... [=] Patched "crashReporter" successfully.`

Is it automatically generated in some way?

@maboloshi
Copy link
Author

Currently, only the Linux rules for SM have not been fixed yet.

@urxi Can you share your rules?

@maboloshi
Copy link
Author

ST4154 Crash Reporter rule fail, linux rules fail.

@AxleUnix
Copy link

AxleUnix commented Aug 10, 2023

#!/bin/bash

########## ST4154 for those who are waiting for the Linux version (crash reporter is redundant)
cd /opt/sublime_text || exit
md5sum -c <<<"8836FE092DBB7BC8D3D2375D34510CA9 sublime_text" || exit
echo 00443F94: 48 31 C0 C3 | xxd -r - sublime_text
echo 0042B210: 90 90 90 90 90 | xxd -r - sublime_text
echo 0042B228: 90 90 90 90 90 | xxd -r - sublime_text
echo 00445EB6: 48 31 C0 48 FF C0 C3 | xxd -r - sublime_text
echo 00443BF8: C3 | xxd -r - sublime_text

@maboloshi
Copy link
Author

@AxleUnix I fixed some of the rules to get the same offset as you.😊

@urxi
Copy link

urxi commented Aug 10, 2023

@maboloshi I don't use rules or patterns, just some "manual" inspection via a debugger. Regarding the Crash Reporter: it seems to have been replaced with Crashpad in Build 4154.

Here are my patches. Linux and Windows are untested, but all offsets seem to match yours:

macOS Build 4152 (Stable)
cd "/Applications/Sublime Text.app/Contents/MacOS/" || exit
md5 -q sublime_text | grep -i "B07FDB3A228A46DF1CC178FE60B64D3B" || exit

echo 0009F313: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text
echo 00009CEF: 90 90 90 90 90          | xxd -r - sublime_text
echo 00009D07: 90 90 90 90 90          | xxd -r - sublime_text
echo 000A085D: C3                      | xxd -r - sublime_text
echo 0009EF0E: C3                      | xxd -r - sublime_text
echo 00002A87: C3                      | xxd -r - sublime_text

echo 01060C90: 00 00 80 D2 C0 03 5F D6 | xxd -r - sublime_text
echo 00FEAD18: 1F 20 03 D5             | xxd -r - sublime_text
echo 00FEAD2C: 1F 20 03 D5             | xxd -r - sublime_text
echo 01061F28: C0 03 5F D6             | xxd -r - sublime_text
echo 01060908: C0 03 5F D6             | xxd -r - sublime_text
echo 00FE5780: C0 03 5F D6             | xxd -r - sublime_text

codesign --force --deep --sign - "/Applications/Sublime Text.app"
macOS Build 4154 (Dev)
cd "/Applications/Sublime Text.app/Contents/MacOS/" || exit
md5 -q sublime_text | grep -i "E1A3347BECDA7CC1EF583ECACECACBDC" || exit

echo 0009D527: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text
echo 000097F5: 90 90 90 90 90          | xxd -r - sublime_text
echo 0000980D: 90 90 90 90 90          | xxd -r - sublime_text
echo 0009EA9D: C3                      | xxd -r - sublime_text
echo 0009D122: C3                      | xxd -r - sublime_text

echo 010758B8: 00 00 80 D2 C0 03 5F D6 | xxd -r - sublime_text
echo 01000360: 1F 20 03 D5             | xxd -r - sublime_text
echo 01000374: 1F 20 03 D5             | xxd -r - sublime_text
echo 01076B54: C0 03 5F D6             | xxd -r - sublime_text
echo 01075534: C0 03 5F D6             | xxd -r - sublime_text

codesign --force --deep --sign - "/Applications/Sublime Text.app"
Linux Build 4152 (Stable)
cd /opt/sublime_text || exit
md5sum -c <<< "7038C3B1CC79504602DA70599D4CCCE9  sublime_text" || exit

echo 00415013: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text
echo 00409037: 90 90 90 90 90          | xxd -r - sublime_text
echo 0040904F: 90 90 90 90 90          | xxd -r - sublime_text
echo 00416CA4: C3                      | xxd -r - sublime_text
echo 00414C82: C3                      | xxd -r - sublime_text
echo 003FA310: C3                      | xxd -r - sublime_text
Linux Build 4154 (Dev)
cd /opt/sublime_text || exit
md5sum -c <<< "8836FE092DBB7BC8D3D2375D34510CA9  sublime_text" || exit

echo 00443F94: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text
echo 0042B210: 90 90 90 90 90          | xxd -r - sublime_text
echo 0042B228: 90 90 90 90 90          | xxd -r - sublime_text
echo 00445EB6: C3                      | xxd -r - sublime_text
echo 00443BF8: C3                      | xxd -r - sublime_text
Windows Build 4152 (Stable)
cd /d "C:\Program Files\Sublime Text" || exit
certutil -hashfile sublime_text.exe md5 | find /i "15BB398D5663B89A44372EF15F70A46F" || exit

echo 000A8D78: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text.exe
echo 000071D0: 90 90 90 90 90          | xxd -r - sublime_text.exe
echo 000071E9: 90 90 90 90 90          | xxd -r - sublime_text.exe
echo 000AAB3E: C3                      | xxd -r - sublime_text.exe
echo 000A8945: C3                      | xxd -r - sublime_text.exe
echo 00000400: C3                      | xxd -r - sublime_text.exe
Windows Build 4154 (Dev)
cd /d "C:\Program Files\Sublime Text" || exit
certutil -hashfile sublime_text.exe md5 | find /i "ADF277D39672D83637AB708FC45413C8" || exit

echo 0009E47C: 48 C7 C0 00 00 00 00 C3 | xxd -r - sublime_text.exe
echo 0000647C: 90 90 90 90 90          | xxd -r - sublime_text.exe
echo 00006495: 90 90 90 90 90          | xxd -r - sublime_text.exe
echo 000A0222: C3                      | xxd -r - sublime_text.exe
echo 0009E043: C3                      | xxd -r - sublime_text.exe

@maboloshi
Copy link
Author

@urxi 👍

@urxi
Copy link

urxi commented Aug 11, 2023

Here are my patches for the new Sublime Merge builds. Linux and Windows versions are untested.

macOS Build 2087 (Dev)
cd "/Applications/Sublime Merge.app/Contents/MacOS/" || exit
md5 -q sublime_merge | grep -i "E5A8FCCB85909D494A1692907A00E494" || exit

echo 0002C297: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 0002E8E8: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002E907: 90 90 90 90 90          | xxd -r - sublime_merge
echo 0002D249: C3                      | xxd -r - sublime_merge
echo 0002BF22: C3                      | xxd -r - sublime_merge

echo 0151F88C: 20 23 80 D2 C0 03 5F D6 | xxd -r - sublime_merge
echo 0152175C: 1F 20 03 D5             | xxd -r - sublime_merge
echo 01521770: 1F 20 03 D5             | xxd -r - sublime_merge
echo 015205D4: C0 03 5F D6             | xxd -r - sublime_merge
echo 0151F5C4: C0 03 5F D6             | xxd -r - sublime_merge

codesign --force --deep --sign - "/Applications/Sublime Merge.app"
Linux Build 2087 (Dev)
cd /opt/sublime_merge || exit
md5sum -c <<< "900DA7CE425F64B0D9AC710A2F6D6CD1  sublime_merge" || exit

echo 004E12B8: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge
echo 004E4469: 90 90 90 90 90          | xxd -r - sublime_merge
echo 004E4481: 90 90 90 90 90          | xxd -r - sublime_merge
echo 004E2B60: C3                      | xxd -r - sublime_merge
echo 004E0FC2: C3                      | xxd -r - sublime_merge
Windows Build 2087 (Dev)
cd /d "C:\Program Files\Sublime Merge" || exit
certutil -hashfile sublime_merge.exe MD5 | find /i "92B8F7B507AE902A39583AC4754BBFE8" || exit

echo 00025758: 48 C7 C0 19 01 00 00 C3 | xxd -r - sublime_merge.exe
echo 000288C5: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 000288DE: 90 90 90 90 90          | xxd -r - sublime_merge.exe
echo 00026F1A: C3                      | xxd -r - sublime_merge.exe
echo 00025379: C3                      | xxd -r - sublime_merge.exe

@Destitute-Streetdwelling-Guttersnipe

LOL, the patch c6 40 05 01 48 85 c9 still works for stable builds (up to 4152). It also works in all x64 OS.
See https://gist.github.com/marcpinet/27c6de31a6b25a99248abc859cc09c9b

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