Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JerryLokjianming/71dac05f27f8c96ad1c8941b88030451 to your computer and use it in GitHub Desktop.
Save JerryLokjianming/71dac05f27f8c96ad1c8941b88030451 to your computer and use it in GitHub Desktop.
Crack Sublime Text 3.2.2 Build 3211 and Sublime Text 4 Alpha 4098 with Hex

How to Crack Sublime Text 3.2.2 Build 3211 with Hex Editor (Windows | Without License) ↓

  1. Download & Install Sublime Text 3.2.2 Build 3211
  2. Visit https://hexed.it/
  3. Open file select sublime_text.exe
  4. Offset 0x8545: Original 84 -> 85
  5. Offset 0x08FF19: Original 75 -> EB
  6. Offset 0x1932C7: Original 75 -> 74 (remove UNREGISTERED in title bar, so no need to use a license)
  7. Export File and save it to location you want
  8. Backup sublime_text.exe file (just rename)
  9. Copy sublime_text.exe modified to directory Sublime Text 3
  10. Happy Coding :)
Screenshot

Screenshot


How to Crack Sublime Text 4 Alpha 4098 with Hex Editor (Windows | Without License) ↓

  1. Download & Install Sublime Text 4 Alpha 4094
  2. Visit https://hexed.it/
  3. Open file select sublime_text.exe
  4. Go to Address: 0000A700 change 80 38 00 to FE 00 90
  5. Export File and save it to location you want
  6. Backup sublime_text.exe file (just rename)
  7. Copy sublime_text.exe modified to directory Sublime Text 4 (i.e C:\Program Files\Sublime Text)
  8. Use this License
----- 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 ------
  1. Happy Coding :)
Screenshot

Screenshot


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

Screenshot

Screenshot

Screenshot


How to Crack Sublime Text 3 & 4 Alpha 4094 with Hex Editor (Linux & MacOS | With License) ↓

  1. Download & Install Sublime Text 3 or 4
  2. Visit https://hexed.it/
  3. Open file select sublime_text
    • Linux Location: /opt/sublime_text/sublime_text
    • MacOS Location: /Application/Sublime Text [version].app (Correct Me If I'm Wrong)
  4. Search 97 94 0D and Change to 00 00 00
  5. Export File and save it to location you want
  6. Backup sublime_text file (just rename)
  7. Copy sublime_text modified to default directory Sublime Text
  8. Use this License
----- 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 ------
  1. Happy Coding :)
Screenshot

Screenshot


@leogx9r
Copy link

leogx9r commented May 29, 2021

Here's my method for breaking their license protection. I've specifically applied the below to v4107.

Quick note: This isn't meant for newbies, this shows you how to patch the current and (most likely) future versions of Sublime Text. I've been using this for a while now.

Here's a basic rundown of how license validation and invalidation works:

  • Licenses have hardcoded (lol, remove blacklist and patch server thread, 10/10 protection) blacklists in the executable and are signed via an RSA public key (which is 'encrypted' in the binary, basically some xor stuff).
  • Application tries to validate an invalid license every 5 seconds. It expects this to fail but if it succeeds, it will unregister you after 480 seconds. This is why simply patching the validity function isn't enough.
  • Application tries to validate your current license every 15 seconds. It expects this to succeed but if it fails, it will unregister you after 360 seconds.
  • The application creates a thread to validate the current license with the server at license.sublimehq.com whenever the application is started (config file read) or when modifying your current license. If this succeeds to connect and your license isn't correct it will unregister you.

So how can you bypass all this? Dare I say, efficiently?

  • Patch the validation function (isLicenseValid as I call it) for anything to always return 0 (valid). Values from 1-4 specify either an invalid, blacklisted or unsupported/expired license.
  • Prevent thread creation for the validation/invalidation routines to avoid the license being unregistered after X seconds due to patching isLicenseValid. Optionally simply remove the "unregister" function here. Doesn't matter how you go about it really.
  • Disable server validation thread or patch the HTTP host so it always fails to connect. Most people resort to using hosts to redirect the license server to localhost or renaming the host in the binary. A far better way is simply to avoid a dead thread being created that does this check.

Disabling creation of these 3 threads is my preferred method since you obviously save resources as you don't need to constantly have new threads opened every X seconds.

Why I consider this better than other methods?

  • No need to find a "working"/"nonblacklisted" license. You can literally enter "Hello World!" as a valid license.
  • No useless thread creation eating up resources. A small performance improvement you'll absolutely never notice.
  • You don't have to patch /etc/hosts or system32/drivers/etc/hosts.
  • Relies on patterns so you can build your own script to auto-patch on updates, provided patterns don't break of course.
  • Doesn't decide to randomly expire.

How tho?

Patch the following methods:

  • License Validity Checking (Aka IsValidLicense

Make isLicenseValid return 0, pattern is a reference to call isLicenseValid. I personally just replaced the method with xor rax, rax; ret so 48 31 C0 C3.

    Linux/MacOS x64 Pattern: `direct reference sig: E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0`
    Windows x64 Pattern:     `direct reference sig: E8 ? ? ? ? 48 8B 8B ? ? ? ? 85 C0`
  • Invalidation/Validation Functions

These cause delayed unregistration after 360/480 seconds so NOP out the calls to avoid them. Aka replace E8 XX XX XX XX with 90 90 90 90 90.

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 49 8B 96`
                Pattern 2: `raw sig: E8 ? ? ? ? E8 ? ? ? ? 4C 89 F1 E8`
    Linux x64   Pattern 1: `raw sig: E8 ? ? ? ? 48 89 5C 24 ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? BF ? ? ? ? E8 ? ? ? ? 83 25`
    MacOS       Pattern 1: `raw sig: E8 ? ? ? ? 48 89 9D ? ? ? ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? 48 8D 3D ? ? ? ? E8 ? ? ? ? 83 25`
  • Server Validation Thread

Simply make this instantly return 1 to disable thread creation or patch the hostname to something invalid. I personally prefer to simply disable thread creation by making this return 1, aka 48 31 C0 48 FF C0 C3, xor rax, rax; inc rax; ret.

    Windows x64 Pattern: `raw sig: 55 56 57 48 83 EC 30 48 8D 6C 24 ? 48 C7 45 ? ? ? ? ? 89 D6 48 89 CF 6A 28`
    Linux x64   Pattern: `raw sig: 55 41 56 53 41 89 F6 48 89 FD 6A 28`
    MacOS       Pattern: `raw sig: 55 48 89 E5 41 57 41 56 53 50 41 89 F6 49 89 FF 6A 20`

Now what?

After patching simply register with anything you want. It can even be just a random letter, a space, a word, a sentence, a valid or invalid license -- whatever you want. Here's what I registered with:

Paying 80$ For A License Is Stupid

But I wanna download!

Linux

For Linux x64 on v4107, you can use this (replace /opt/sublime_text/sublime_text with the path to the binary):

# 554157415641554154534881EC68240000 -> 4831C0C390909090909090909090909090
sed -i 's/\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x68\x24\x00\x00/\x48\x31\xC0\xC3\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# E8C2781800 -> 9090909090
sed -i 's/\xE8\xC2\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text
# E8A7781800 -> 9090909090
sed -i 's/\xE8\xA7\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# 554156534189F64889FD6A28 -> 4831C048FFC0C39090909090
sed -i 's/\x55\x41\x56\x53\x41\x89\xF6\x48\x89\xFD\x6A\x28/\x48\x31\xC0\x48\xFF\xC0\xC3\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

Windows

I've uploaded a portable copy of the Windows x64 bit version, already patched, here. Simply replace the sublime_text.exe file from the portable download with the above. Here's the virus scan. Note: PE.Heur.InvalidSig is due to patching the executable to bypass the license checks. Don't trust it? Then patch it yourself :P

I've been using this on both Windows and Linux since the new version dropped without issues.

MacOS

No.

Proof

image
image
image

@CypherpunkSamurai
Copy link

Here's my method for breaking their license protection. I've specifically applied the below to v4107.

Quick note: This isn't meant for newbies, this shows you how to patch the current and (most likely) future versions of Sublime Text. I've been using this for a while now.

Here's a basic rundown of how license validation and invalidation works:

* Licenses have hardcoded (lol, remove blacklist and patch server thread, 10/10 protection) blacklists in the executable and are signed via an RSA public key (which is 'encrypted' in the binary, basically some `xor` stuff).

* Application tries to validate an invalid license every 5 seconds. It expects this to fail but if it succeeds, it will unregister you after 480 seconds. This is why simply patching the validity function isn't enough.

* Application tries to validate your current license every 15 seconds. It expects this to succeed but if it fails, it will unregister you after 360 seconds.

* The application creates a thread to validate the current license with the server at `license.sublimehq.com` whenever the application is started (config file read) or when modifying your current license. If this succeeds to connect and your license isn't correct it will unregister you.

So how can you bypass all this? Dare I say, efficiently?

* Patch the validation function (`isLicenseValid` as I call it) for anything to always return 0 (valid). Values from 1-4 specify either an invalid, blacklisted or unsupported/expired license.

* Prevent thread creation for the validation/invalidation routines to avoid the license being unregistered after X seconds due to patching `isLicenseValid`. Optionally simply remove the "unregister" function here. Doesn't matter how you go about it really.

* Disable server validation thread or patch the HTTP host so it always fails to connect. Most people resort to using `hosts` to redirect the license server to `localhost` or renaming the host in the binary. A far better way is simply to avoid a dead thread being created that does this check.

Disabling creation of these 3 threads is my preferred method since you obviously save resources as you don't need to constantly have new threads opened every X seconds.

Why I consider this better than other methods?

* No need to find a "working"/"nonblacklisted" license. You can literally enter "Hello World!" as a valid license.

* No useless thread creation eating up resources. A small performance improvement you'll _absolutely_ never notice.

* You don't have to patch `/etc/hosts` or `system32/drivers/etc/hosts`.

* Relies on patterns so you can build your own script to auto-patch on updates, provided patterns don't break of course.

* Doesn't decide to randomly expire.

How tho?

Patch the following methods:

* **License Validity Checking** (Aka `IsValidLicense`

Make isLicenseValid return 0, pattern is a reference to call isLicenseValid. I personally just replaced the method with xor rax, rax; ret so 48 31 C0 C3.

    Linux/MacOS x64 Pattern: `direct reference sig: E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0`
    Windows x64 Pattern:     `direct reference sig: E8 ? ? ? ? 48 8B 8B ? ? ? ? 85 C0`
* **Invalidation/Validation Functions**

These cause delayed unregistration after 360/480 seconds so NOP out the calls to avoid them. Aka replace E8 XX XX XX XX with 90 90 90 90 90.

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 49 8B 96`
                Pattern 2: `raw sig: E8 ? ? ? ? E8 ? ? ? ? 4C 89 F1 E8`
    Linux x64   Pattern 1: `raw sig: E8 ? ? ? ? 48 89 5C 24 ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? BF ? ? ? ? E8 ? ? ? ? 83 25`
    MacOS       Pattern 1: `raw sig: E8 ? ? ? ? 48 89 9D ? ? ? ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? 48 8D 3D ? ? ? ? E8 ? ? ? ? 83 25`
* **Server Validation Thread**

Simply make this instantly return 1 to disable thread creation or patch the hostname to something invalid. I personally prefer to simply disable thread creation by making this return 1, aka 48 31 C0 48 FF C0 C3, xor rax, rax; inc rax; ret.

    Windows x64 Pattern: `raw sig: 55 56 57 48 83 EC 30 48 8D 6C 24 ? 48 C7 45 ? ? ? ? ? 89 D6 48 89 CF 6A 28`
    Linux x64   Pattern: `raw sig: 55 41 56 53 41 89 F6 48 89 FD 6A 28`
    MacOS       Pattern: `raw sig: 55 48 89 E5 41 57 41 56 53 50 41 89 F6 49 89 FF 6A 20`

Now what?

After patching simply register with anything you want. It can even be just a random letter, a space, a word, a sentence, a valid or invalid license -- whatever you want. Here's what I registered with:

Paying 80$ For A License Is Stupid

But I wanna download!

Linux

For Linux x64 on v4107, you can use this (replace /opt/sublime_text/sublime_text with the path to the binary):

# 554157415641554154534881EC68240000 -> 4831C0C390909090909090909090909090
sed -i 's/\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x68\x24\x00\x00/\x48\x31\xC0\xC3\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# E8C2781800 -> 9090909090
sed -i 's/\xE8\xC2\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text
# E8A7781800 -> 9090909090
sed -i 's/\xE8\xA7\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# 554156534189F64889FD6A28 -> 4831C048FFC0C39090909090
sed -i 's/\x55\x41\x56\x53\x41\x89\xF6\x48\x89\xFD\x6A\x28/\x48\x31\xC0\x48\xFF\xC0\xC3\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

Windows

I've uploaded a portable copy of the Windows x64 bit version, already patched, here. Simply replace the sublime_text.exe file from the portable download with the above. Here's the virus scan. Note: PE.Heur.InvalidSig is due to patching the executable to bypass the license checks. Don't trust it? Then patch it yourself :P

I've been using this on both Windows and Linux since the new version dropped without issues.

MacOS

No.

Proof

image
image
image

do you use IDA? can you suggest me a good x86 and x64 tutorial?

@leogx9r
Copy link

leogx9r commented May 30, 2021

@CypherpunkSamurai You can probably try these:

Art of Assembly
Assembly Generic Wiki
Introduction to x64 Assembly
x86 and x64 Instruction Reference

There's many books as well. You could look around. I use IDA and Ghidra.

@leogx9r
Copy link

leogx9r commented May 30, 2021

For the record, Sublime Merge can also be defeated the same way. Did the same on v2056.

License Validity Checking

For this, the only difference with Sublime Text is you need to return 281 instead of 0. I just did a simple mov rax, 281; ret.

    Windows x64 Pattern: `direct reference sig: E8 ? ? ? ? 3D ? ? ? ? 75 15`
    Linux x64 Pattern:   `direct reference sig: E8 ? ? ? ? 3D ? ? ? ? 75 12`
    MacOS x64 Pattern:   `direct reference sig: E8 ? ? ? ? 3D ? ? ? ? 75 14`

Invalidation/Validation Threads

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? B9`
                Pattern 2: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 48 8B 96 ? ? ? ? `
    Linux x64   Pattern 1: `raw sig: E8 ? ? ? ? 48 89 5C 24 ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? BF ? ? ? ? E8 ? ? ? ? 83 25`
    MacOS       Pattern 1: `raw sig: E8 ? ? ? ? 48 89 9D ? ? ? ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? 48 8D 3D ? ? ? ? E8 ? ? ? ? 83 25`

Server Validation Thread

    Windows x64 Pattern: `raw sig: 55 56 57 48 83 EC 30 48 8D 6C 24 ? 48 C7 45 ? ? ? ? ? 89 D6 48 89 CF 6A 28`
    Linux x64   Pattern: `raw sig: 55 41 56 53 41 89 F6 48 89 FD 6A 28`
    MacOS       Pattern: `raw sig: 55 48 89 E5 41 57 41 56 53 50 41 89 F6 49 89 FF 6A 20`

Proof

image
image
image

Copy link

ghost commented May 31, 2021

@leogx9r I'm trying to do the patching with a hex editor, but can't understand why the first pattern in your walkthrough is E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0:

Make isLicenseValid return 0, pattern is a reference to call isLicenseValid. I personally just replaced the method with xor rax, rax; ret so 48 31 C0 C3.

    Linux/MacOS x64 Pattern: `direct reference sig: E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0`
    Windows x64 Pattern:     `direct reference sig: E8 ? ? ? ? 48 8B 8B ? ? ? ? 85 C0`

and in your ready-to-use script it is completely different - 554157415641554154534881EC68240000:

For Linux x64 on v4107, you can use this (replace /opt/sublime_text/sublime_text with the path to the binary):

# 554157415641554154534881EC68240000 -> 4831C0C390909090909090909090909090
sed -i 's/\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x68\x24\x00\x00/\x48\x31\xC0\xC3\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

@leogx9r
Copy link

leogx9r commented May 31, 2021

@lepotic You'll need more than a hex editor to use those patterns efficiently -- you will need a disassembler like IDA or Ghidra, like I mentioned I used above.

E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0 like I mentioned, is a pattern that will give you another function that contains call isValidLicense. You'll need to jump to the function it references to find where you need to patch. Aka those 4 bytes after E8 contains a relative offset to isValidLicense. That's something you'll need a decompiler to find easily.

When you jump to that function, the start of it will show you 55 41 57 41 56 41 55 41 54 53 48 81 EC 68 24 00 00 which is not a pattern, it's the actual bytes that make up the function isValidLicense. That "pattern" as you called it, will only work on v4107 and nothing more or less and will only work on Linux x64, the Windows/MacOS versions will not contain that sequence. The pattern to find that referencing function however, should work on more than v4107 (and earlier versions too).

direct reference sig refers to the pattern not directly pointing to where you need to go, it points to a reference, eg. call targetFunction or jmp targetFunction etc.
direct reference sig (+0xABCD) is similar to the above but you need to add 0xABCD to wherever you find the address to reach your target reference.
raw sig refers to the pattern pointing to directly where you need to go.

@shedanger
Copy link

SOLVE version 4107 final
You must add the following lines in your host file

0.0.0.0 sublimetext.com
0.0.0.0 license.sublimehq.com
0.0.0.0 45.55.255.55 #sublimetext
0.0.0.0 45.55.41.223 #sublimetext

Then enter the license

—– BEGIN LICENSE —–
Die Socialisten GmbH
10 User License
EA7E-800613
51311422 E45F49ED 3F0ADE0C E5B8A508
2F4D9B65 64E1E244 EDA11F0E F9D06110
B7B2E826 E6FDAA72 2C653693 5D80582F
09DCFFB5 113A940C 5045C0CD 5F8332F8
34356CC6 D96F6FDB 4DEC20EA 0A24D83A
2C82C329 E3290B29 A16109A7 EC198EB9
F28EBB17 9C07403F D44BA75A C23C6874
EBF11238 5546C3DD 737DC616 445C2941
—— END LICENSE ——

@lider33
Copy link

lider33 commented Jun 4, 2021

Can you please tell me - do you already have keys for version 4 for Windows 10?

@brian6932
Copy link

@lider33 4107 = version 4

@visualblind
Copy link

visualblind commented Jun 6, 2021

Build 4107

Thanks @n6333373. Confirming it works great on Linux Mint 20.1 with sublime text 4 4107. For reference, the binary needing replacing is /opt/sublime_text/sublime_text

/opt/sublime_text$ ls -la sublime_text*
-rwxr-xr-x 1 root root 8429232 Jun  5 20:22 sublime_text <--(cracked)
-rwxr-xr-x 1 root root 8429232 May 20 02:03 sublime_text.bak <--(old binary)

Funny the binary sizes are identical.

Distro: Linux Mint 20.1 Ulyssa
Base: Ubuntu 20.04 Focal
Kernel: 5.4.0-70-generic x86_64

image

Also confirmed working on Windows Server 2016
OS Name: Microsoft Windows Server 2016 Standard
OS Version: 10.0.14393 N/A Build 14393

image

@kargozeyan
Copy link

For the record, Sublime Merge can also be defeated the same way. Did the same on v2056.

License Validity Checking

For this, the only difference with Sublime Text is you need to return 281 instead of 0. I just did a simple mov rax, 281; ret.

    Windows x64 Pattern: `direct reference sig: E8 ? ? ? ? 3D ? ? ? ? 75 15`
    Linux x64 Pattern:   `direct reference sig: E8 ? ? ? ? 3D ? ? ? ? 75 12`
    MacOS x64 Pattern:   `direct reference sig: E8 ? ? ? ? 3D ? ? ? ? 75 14`

Invalidation/Validation Threads

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? B9`
                Pattern 2: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 48 8B 96 ? ? ? ? `
    Linux x64   Pattern 1: `raw sig: E8 ? ? ? ? 48 89 5C 24 ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? BF ? ? ? ? E8 ? ? ? ? 83 25`
    MacOS       Pattern 1: `raw sig: E8 ? ? ? ? 48 89 9D ? ? ? ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? 48 8D 3D ? ? ? ? E8 ? ? ? ? 83 25`

Server Validation Thread

    Windows x64 Pattern: `raw sig: 55 56 57 48 83 EC 30 48 8D 6C 24 ? 48 C7 45 ? ? ? ? ? 89 D6 48 89 CF 6A 28`
    Linux x64   Pattern: `raw sig: 55 41 56 53 41 89 F6 48 89 FD 6A 28`
    MacOS       Pattern: `raw sig: 55 48 89 E5 41 57 41 56 53 50 41 89 F6 49 89 FF 6A 20`

Proof

image
image
image

Can you please provide Linux commands for Sublime Merge(like in case of SublimeText)? I would really appreciate it.

@maboloshi
Copy link

maboloshi commented Jun 6, 2021

@karrgozeyan You can try this, according to the method provided by @leogx9r

# for Linux
cd /opt/sublime_merge
printf '\x48\xC7\xC0\x19\x01\x00\x00\xC3' | dd of=sublime_merge bs=1 seek=$((0x003A0C9C)) count=8 conv=notrunc
 
printf '\x90\x90\x90\x90\x90' 			  | dd of=sublime_merge bs=1 seek=$((0x003A3761)) count=5 conv=notrunc
printf '\x90\x90\x90\x90\x90' 			  | dd of=sublime_merge bs=1 seek=$((0x003A377C)) count=5 conv=notrunc
 
printf '\x48\x31\xC0\x48\xFF\xC0\xC3' 	  | dd of=sublime_merge bs=1 seek=$((0x003A2096)) count=7 conv=notrunc

@kargozeyan
Copy link

@maboloshi Thank you very much, that worked for me.

@naml3i
Copy link

naml3i commented Jun 7, 2021

Does anyone experience ST lost all user settings after upgrading to v4107?

@brian6932
Copy link

@naml3i I lost all my open notes, however, my user settings didn't reset

@naml3i
Copy link

naml3i commented Jun 7, 2021

@brian6932 for me it's quite the contrary: all the opening notes are still there, intact, but the settings were lost (thankfully I have a copy of the file on github but still feel a bit confused with this update. Normally with all the previous update, it went smoothly).

I realize that right away because the font face was changed and the caret was replaced by a long, non-blinking one.

@duckimann
Copy link

@naml3i I think they change where the data is stored. the sublime 3 store the settings at "%appdata%/Sublime Text 3/", but the sublime 4 store the settings at "%appdata%/Sublime Text/"

@naml3i
Copy link

naml3i commented Jun 7, 2021

@duckimann not sure if that's the case of uninstalling ST3 and doing a fresh installation of ST4.
For me, ST4 still starts in %APPDATA%\Roaming\Sublime Text 3, settings are stored in
C:\Users\<user_name>\AppData\Roaming\Sublime Text 3\Packages\User\Preferences.sublime-settings

@duckimann
Copy link

@naml3i weird. on my computer it creates a new directory which i mentioned and discard the old one.

@bugoverfl0w
Copy link

how to do it on Linux? thx

Search 97 94 0D change to 00 00 00
use License

----- 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 ------

Sublime Text 4 | Arch

Cool. Thanks bro, it works

@visualblind
Copy link

@karrgozeyan You can try this, according to the method provided by @leogx9r

# for Linux
cd /opt/sublime_merge
printf '\x48\xC7\xC0\x19\x01\x00\x00\xC3' | dd of=sublime_merge bs=1 seek=$((0x003A0C9C)) count=8 conv=notrunc
 
printf '\x90\x90\x90\x90\x90' 			  | dd of=sublime_merge bs=1 seek=$((0x003A3761)) count=5 conv=notrunc
printf '\x90\x90\x90\x90\x90' 			  | dd of=sublime_merge bs=1 seek=$((0x003A377C)) count=5 conv=notrunc
 
printf '\x48\x31\xC0\x48\xFF\xC0\xC3' 	  | dd of=sublime_merge bs=1 seek=$((0x003A2096)) count=7 conv=notrunc

Worked :)

image

@duckimann
Copy link

Thanks @leogx9r :) I have my version on powershell here, tested on windows 10 x64, run as administrator (if sublime text/merge is installed)

Copy link

ghost commented Jun 8, 2021

This works for most of the Sublime Text 4.X x64 (Including 4107) - block the license check via host or patch it out of EXE

RSA Key Patch (allows any key in right format to work)

Search for ...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

Disable License Check (You can do this via hosts file if you rather)

Search for...
6C6963656E73652E7375626C696D6568712E636F6D
Replace with ...
7375626C696D6568712E6C6F63616C686F73740000

You can now use any license basically that follows the same syntax/format/key.

-- BEGIN LICENSE --
Generic Name
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
-- END LICENSE --```

Hi. Do you know the correct replaces for x86 32bits version?

@duckimann
Copy link

Thanks @leogx9r :) I have my version on powershell here, tested on windows 10 x64, run as administrator (if sublime text/merge is installed)

@thegrapevineprogramming can you try my script above? Run it as administrator, patch the sublime and input anything to the registration box

Copy link

ghost commented Jun 8, 2021

Thanks @leogx9r :) I have my version on powershell here, tested on windows 10 x64, run as administrator (if sublime text/merge is installed)

@thegrapevineprogramming can you try my script above? Run it as administrator, patch the sublime and input anything to the registration box

Does this work on Sublime Text 4 x86 32bit version? Because I've already managed it successfully on the x64 version. I just want x86 to use on another computer. Could you just pass me the code to find and replace on x86? Thank you.

@duckimann
Copy link

duckimann commented Jun 8, 2021

Does this work on Sublime Text 4 x86 32bit version? Because I've already managed it successfully on the x64 version. I just want x86 to use on another computer. Could you just pass me the code to find and replace on x86? Thank you.

Sublime v4 does not have x86 version on windows i believe... soooo that means you have the sublime v3 and you can use the license include in the script + using hosts to block the license check

Copy link

ghost commented Jun 8, 2021

Sublime Text 4 Build 4107 x64 Easy Tutorial
Youtube Video Link Tutorial Step by Step: https://www.youtube.com/watch?v=pr8GBwPsMHM
IMAGE ALT TEXT HERE

Only tested in Sublime Text Build 4107 x64

Add this follow lines in file "C:\Windows\System32\drivers\etc\hosts"

SublimeText

127.0.0.1 license.sublimehq.com # SublimeText
127.0.0.1 www.sublimetext.com # SublimeText

Download HxD from: https://mh-nexus.de/en/

Open "sublime_text.exe" in HxD, go to "Find/Replace" (Ctrl+R).

Go to tab "Hex-values" and:

Search for: 4157415656575553B828210000
Replace with: 33C0FEC0C3575553B828210000

Search for: 6C6963656E73652E7375626C696D6568712E636F6D
Replace with: 7375626C696D6568712E6C6F63616C686F73740000

Click to save (Ctrl+S).

Now, just register your Sublime Text with this code:

----- BEGIN LICENSE -----
You
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
------ END LICENSE ------

@bad1dea
Copy link

bad1dea commented Jun 8, 2021

Sublime Text 4 Build 4107 x64 Easy Tutorial
Youtube Video Link Tutorial Step by Step: https://www.youtube.com/watch?v=pr8GBwPsMHM
IMAGE ALT TEXT HERE

Only tested in Sublime Text Build 4107 x64

Add this follow lines in file "C:\Windows\System32\drivers\etc\hosts"

SublimeText

127.0.0.1 license.sublimehq.com # SublimeText
127.0.0.1 www.sublimetext.com # SublimeText

Download HxD from: https://mh-nexus.de/en/

Open "sublime_text.exe" in HxD, go to "Find/Replace" (Ctrl+R).

Go to tab "Hex-values" and:

Search for: 4157415656575553B828210000
Replace with: 33C0FEC0C3575553B828210000

Search for: 6C6963656E73652E7375626C696D6568712E636F6D
Replace with: 7375626C696D6568712E6C6F63616C686F73740000

Click to save (Ctrl+S).

Now, just register your Sublime Text with this code:

----- BEGIN LICENSE -----
You
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
------ END LICENSE ------

You don't need to do the host patch, if you're replacing the license check in the exe (the 2nd search/replace)

I've also whipped up a quick python script for it, if anyone wants, you'll obviously need python installed..
save as whatever_name_you_want.py (and put it in same folder as sublime_text.exe) and run it, or run it from command line.,.. python .py

with open("sublime_text.exe", "rb") as binaryFile:
    byteData = bytearray(binaryFile.read()) 

# create backup
with open("sublime_text.exe.bak", "wb") as binaryFile:
    binaryFile.write(byteData)

# search for rsa key function
byteData = byteData.replace(b'\x41\x57\x41\x56\x56\x57\x55\x53\xB8\x28\x21\x00\x00', b'\x33\xC0\xFE\xC0\xC3\x57\x55\x53\xB8\x28\x21\x00\x00')
# search for license host check
byteData = byteData.replace(b'\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x75\x62\x6C\x69\x6D\x65\x68\x71\x2E\x63\x6F\x6D', b'\x73\x75\x62\x6C\x69\x6D\x65\x68\x71\x2E\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x00\x00')

with open("sublime_text.exe", "wb") as binaryFile:
    binaryFile.write(byteData)

Copy link

ghost commented Jun 8, 2021

x86 32bits please.

@bad1dea
Copy link

bad1dea commented Jun 8, 2021

4107 - x86

rsa patch
Search for: 55535756B8AC200000
Replace with: 33C0FEC0C3AC200000

license check host
Search for: 6C6963656E73652E7375626C696D6568712E636F6D
Replace with: 7375626C696D6568712E6C6F63616C686F73740000

let me know if it works.

@bad1dea
Copy link

bad1dea commented Jun 8, 2021

x86 32bits please.

posted above this one :)

Copy link

ghost commented Jun 8, 2021

55535756B8AC200000

Yes! Work very well in 4107 x86 32bits. Thank you very much!!

Copy link

ghost commented Jun 8, 2021

4107 - x86

rsa patch
Search for: 55535756B8AC200000
Replace with: 33C0FEC0C3AC200000

license check host
Search for: 6C6963656E73652E7375626C696D6568712E636F6D
Replace with: 7375626C696D6568712E6C6F63616C686F73740000

let me know if it works.

Yes! Work very well in 4107 x86 32bits. Thank you very much!!

@bad1dea
Copy link

bad1dea commented Jun 8, 2021

4107 - x86

rsa patch
Search for: 55535756B8AC200000
Replace with: 33C0FEC0C3AC200000

license check host
Search for: 6C6963656E73652E7375626C696D6568712E636F6D
Replace with: 7375626C696D6568712E6C6F63616C686F73740000

let me know if it works.

Yes! Work very well in 4107 x86 32bits. Thank you very much!!

groovy

@jowinjohnchemban
Copy link

Sublime Text 4 Build 4107 x64 Easy Tutorial
Youtube Video Link Tutorial Step by Step: https://www.youtube.com/watch?v=pr8GBwPsMHM
IMAGE ALT TEXT HERE
Only tested in Sublime Text Build 4107 x64
Add this follow lines in file "C:\Windows\System32\drivers\etc\hosts"

SublimeText

127.0.0.1 license.sublimehq.com # SublimeText
127.0.0.1 www.sublimetext.com # SublimeText
Download HxD from: https://mh-nexus.de/en/
Open "sublime_text.exe" in HxD, go to "Find/Replace" (Ctrl+R).
Go to tab "Hex-values" and:
Search for: 4157415656575553B828210000
Replace with: 33C0FEC0C3575553B828210000
Search for: 6C6963656E73652E7375626C696D6568712E636F6D
Replace with: 7375626C696D6568712E6C6F63616C686F73740000
Click to save (Ctrl+S).
Now, just register your Sublime Text with this code:
----- BEGIN LICENSE -----
You
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
------ END LICENSE ------

You don't need to do the host patch, if you're replacing the license check in the exe (the 2nd search/replace)

I've also whipped up a quick python script for it, if anyone wants, you'll obviously need python installed..
save as whatever_name_you_want.py (and put it in same folder as sublime_text.exe) and run it, or run it from command line.,.. python .py

with open("sublime_text.exe", "rb") as binaryFile:
    byteData = bytearray(binaryFile.read()) 

# create backup
with open("sublime_text.exe.bak", "wb") as binaryFile:
    binaryFile.write(byteData)

# search for rsa key function
byteData = byteData.replace(b'\x41\x57\x41\x56\x56\x57\x55\x53\xB8\x28\x21\x00\x00', b'\x33\xC0\xFE\xC0\xC3\x57\x55\x53\xB8\x28\x21\x00\x00')
# search for license host check
byteData = byteData.replace(b'\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x75\x62\x6C\x69\x6D\x65\x68\x71\x2E\x63\x6F\x6D', b'\x73\x75\x62\x6C\x69\x6D\x65\x68\x71\x2E\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x00\x00')

with open("sublime_text.exe", "wb") as binaryFile:
    binaryFile.write(byteData)

Worked
Build 4107 x64

@dustindog101
Copy link

4107 - x86

rsa patch
Search for: 55535756B8AC200000
Replace with: 33C0FEC0C3AC200000

license check host
Search for: 6C6963656E73652E7375626C696D6568712E636F6D
Replace with: 7375626C696D6568712E6C6F63616C686F73740000

let me know if it works.

worked.

@bad1dea
Copy link

bad1dea commented Jun 9, 2021

thanks for confirming guys.. i'll try ti update if they patch it in next release. stop using x86 :P lol

Copy link

ghost commented Jun 10, 2021

thanks for confirming guys.. i'll try ti update if they patch it in next release. stop using x86 :P lol

Using Sublime Text X86 Portable on a Flash drive is good for portability to work on different computers wherever I am. I can always take my projects and then it works on both x86 and x64.

@fredgolightly
Copy link

I much prefer the speed on ST3 but it's great to have 4 working also!

@7549brijesh
Copy link

is there any way to crack sublime merge? reply appreciated!!!

@bad1dea
Copy link

bad1dea commented Jun 10, 2021

is there any way to crack sublime merge? reply appreciated!!!

exact same way.

@naml3i
Copy link

naml3i commented Jun 10, 2021

is there any way to crack sublime merge? reply appreciated!!!

exact same way.

Awesome! However for Sublime Merge I found only the string to patch the RSA, what is the string to patch the host (I don't want to clutter the host file)?

Edit: Ah ok, my bad, I miscopied a little bit 😅 Thank you
Side note, for SM, after patching RSA and the host, you'll need Sublime Merge key to enter (a Sublime Text key won't work).
For example:
(basically you can replace SODiUm by anything)

-- BEGIN LICENSE --
SODiUM
Unlimited User License
E52D-75310125
C6C53B54 DE60AB25 89561B42 BDD4C267
61975DE1 A9B22C07 EE7248A0 7CEC65A2
BD5649D9 C0323400 6199CB35 8C4D3097
76D9E248 231738AC A640EA57 BEA37A4C
BD86520E 42B583AD 12B56E51 333AC12B
15445312 CDC61DEC C1DCA051 B8618754
380877A7 E6740A25 8AEB553E 9CA1E517
8612B3AE C84489D1 EABB8CC3 D2CA96EA
-- END LICENSE --

@7549brijesh
Copy link

is there any way to crack sublime merge? reply appreciated!!!

exact same way.

yes.... of course!!!! I have searched a lot but didn't find any perfect solution to crack the sublime merge

Copy link

ghost commented Jun 10, 2021

Youtube video: Creating a simple D (Dlang) program for patch your Sublime Text 4
Link: https://www.youtube.com/watch?v=MEsJxk3EVAQ
IMAGE ALT TEXT HERE

@duckimann
Copy link

is there any way to crack sublime merge? reply appreciated!!!

exact same way.

yes.... of course!!!! I have searched a lot but didn't find any perfect solution to crack the sublime merge

try mine:

Thanks @leogx9r :) I have my version on powershell here, tested on windows 10 x64, run as administrator (if sublime text/merge is installed)

@leogx9r
Copy link

leogx9r commented Jun 11, 2021

@duckimann Good effort! You should probably try to make it a bit more portable though since powershell is a pain to run on any other OS than Windows.

Here's my variant of an automatic update patcher I threw together after a couple hours in Python (with no crap pip-based dependencies!) so you can run this from any OS you want. Works for Windows, MacOS and Linux binaries as long as you have the patterns. Pretty fast given it's written in Python too and naturally it doesn't rely on fixed offsets/static patterns like 99% of the stuff I've seen here.

image
image
image

Yes, it also does Sublime Merge too:

image
image
image

:)

@bad1dea
Copy link

bad1dea commented Jun 11, 2021

nice

@duckimann
Copy link

duckimann commented Jun 11, 2021

@duckimann Good effort! You should probably try to make it a bit more portable though since powershell is a pain to run on any other OS than Windows.

@leogx9r Yeah i'll try next time ;) i usually write web stuff and some batch but this time i decided to write in something different so we have that PS file. but thanks :D you encouraged me to try something new :D

P/s: i couldn't find any solution about replacing bytes patterns with PS so the only way i can choose is fix address :(

@doomsday861
Copy link

Sublime Text 4 Build 4107 x64 Easy Tutorial
Youtube Video Link Tutorial Step by Step: https://www.youtube.com/watch?v=pr8GBwPsMHM
IMAGE ALT TEXT HERE
Only tested in Sublime Text Build 4107 x64
Add this follow lines in file "C:\Windows\System32\drivers\etc\hosts"

SublimeText

127.0.0.1 license.sublimehq.com # SublimeText
127.0.0.1 www.sublimetext.com # SublimeText
Download HxD from: https://mh-nexus.de/en/
Open "sublime_text.exe" in HxD, go to "Find/Replace" (Ctrl+R).
Go to tab "Hex-values" and:
Search for: 4157415656575553B828210000
Replace with: 33C0FEC0C3575553B828210000
Search for: 6C6963656E73652E7375626C696D6568712E636F6D
Replace with: 7375626C696D6568712E6C6F63616C686F73740000
Click to save (Ctrl+S).
Now, just register your Sublime Text with this code:
----- BEGIN LICENSE -----
You
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
------ END LICENSE ------

You don't need to do the host patch, if you're replacing the license check in the exe (the 2nd search/replace)

I've also whipped up a quick python script for it, if anyone wants, you'll obviously need python installed..
save as whatever_name_you_want.py (and put it in same folder as sublime_text.exe) and run it, or run it from command line.,.. python .py

with open("sublime_text.exe", "rb") as binaryFile:
    byteData = bytearray(binaryFile.read()) 

# create backup
with open("sublime_text.exe.bak", "wb") as binaryFile:
    binaryFile.write(byteData)

# search for rsa key function
byteData = byteData.replace(b'\x41\x57\x41\x56\x56\x57\x55\x53\xB8\x28\x21\x00\x00', b'\x33\xC0\xFE\xC0\xC3\x57\x55\x53\xB8\x28\x21\x00\x00')
# search for license host check
byteData = byteData.replace(b'\x6C\x69\x63\x65\x6E\x73\x65\x2E\x73\x75\x62\x6C\x69\x6D\x65\x68\x71\x2E\x63\x6F\x6D', b'\x73\x75\x62\x6C\x69\x6D\x65\x68\x71\x2E\x6C\x6F\x63\x61\x6C\x68\x6F\x73\x74\x00\x00')

with open("sublime_text.exe", "wb") as binaryFile:
    binaryFile.write(byteData)

This works perfectly fine on Sublime Text4 build 4107, thank you!

@ryanrdk
Copy link

ryanrdk commented Jun 14, 2021

@anaf-siddi
Copy link

DEBIAN (LINUX DUH) AUTO-PATCH SCRIPT

MAKE SURE TO BLOCK SUBL DOMAINS VIA HOSTS BEFORE REGISTERING

Here's a quick and shitty script to patch the file on debian..
FOR USE WITH SUBLIME TEXT & DEBIAN DISTROS..
Feel free modify to make it work however...it's an overly engineered solution to make it easier for peepz

Raw PastBin you can curl/wget or w/e:
https://pastebin.com/raw/aPjNpevq

The Script:

######################################################
##Quick And Dirty Way To Register Sublime Text V3#####
##MEANT FOR USE WITH DEBIAN ONLY BECAUSE I'M SELFISH##
#########Horribly Scripted By Ohmybahgosh#############
######################################################
###Let's Begin...#####################################
######################################################

#!/bin/bash

##Make Sure We're Running This ONLY on a Debian Setup##
DEBIANCHECKER=/etc/debian_version
if test -f "$DEBIANCHECKER"; then
	echo "Cool...You're on a Debian Distro"
	sleep 3s
else
	echo "MEANT FOR DEBIAN ONLY.."
	echo "If You're Brave, Just Comment out this shitty checker.."
	read -n 1 -s -r -p "Press any key to exit"
	clear && exit 1
fi

##Ugly Ass Dependency Checker..
##Makes A Temporary Txt File With The List Of Required, Basic Ass Tools
##(sed Is The Tool We'll Use For Applying The Hex Patch)##
echo "sed" >> ./PACKAGES_NEEDED.txt
##(Zenity provides a simple GUI dialog for bash)##
echo "zenity" >> ./PACKAGES_NEEDED.txt
##(xClip is what will copy the registration key for your lazy ass)##
echo "xclip" >> ./PACKAGES_NEEDED.txt

##Clear Terminal of Junk & Begin Checking/Installing Basic Shit You Really Should of Had Already##
clear

##Loops thru the needed packages to see if they are installed via apt-mark showinstall##
for line in $(cat ./PACKAGES_NEEDED.txt); do
	PKG_CHECK=$(apt-mark showinstall $line | grep "^$line$")
	if [ -z "$PKG_CHECK" ]; then
		echo "Ruh Roh!  $line is NOT installed.."
		read -p "Reply 'Y' to  Install $line or 'N' to EXIT this script..." answer
		if [[ $answer =~ ^[Yy]$ ]]; then
				clear
			   	echo "Calling on APT to install $line"
	       		sudo apt-get install $line
		else
	       		clear
	       		echo $line "is NOT installed, but is Required For This Script"
	       		echo "Please either manually install $line"
	       		echo "or.."
	       		echo "Re-run this script and type Y when promted to install $line"
	       		echo "Exiting script while you get your shit together.."
	       		sleep 1 && echo "..."
	       		sleep 1 && echo ".."
	       		sleep 1 && echo "."
	       		sleep 1 && echo "BYYYYYEEEEEEEE"
				read -n 1 -s -r -p "Press any key to exit"
	       		clear
	       		exit 1
		fi
	fi
done

##Clear the terminal duh##
clear
echo "Required Packages are installed, moving on.."
sleep 3s

##Remove any trace of my shitty depdency check script##
##Just hit yes to confirm the deletion of it (the tmp txt file listing needed packages)##
clear
echo "Removing the temporary package check list txt file..just hit enter"
echo ""
rm -i ./PACKAGES_NEEDED.txt
clear

#Zentiy Info Dialog Explaining File Selection Step:##
zenity --question --icon-name="gtk-dialog-warning" --title="Hey...Read This Shiznit" --text="<b><big>After Clicking <i>Continue</i> a File Selection Dialog Will Appear</big></b>\n\n<b>YOU NEED TO SELECT THE SUBLIME BINARY CALLED\n\n<i>sublime_text</i></b>\n\n<b>It's Normally Located in <i>/opt/sublime_text/</i></b>" --no-wrap --width 300 --ok-label=Continue --cancel-label=Exit
if [ "$?" -eq 1 ]; then
echo "Exited The Script" && exit 1
fi

##Launch Binary File Selection Dialog via Zenity##
##Wrap it in a WHILE loop to make sure only sublime_text is selected##
while true; do
BINARY_FULL_PATH=$(zenity --file-selection --title="Select The sublime_text Binary" --text="Select the sublime_text binary file" --filename="/opt/sublime_text/")
SUBL_CHECK=$(echo "$BINARY_FULL_PATH" | sed 's@.*/@@')
	if [[ ! "$SUBL_CHECK" =~ sublime_text ]]; then
		zenity --question --no-wrap --width 300 --ok-label="Try Again" --cancel-label="Exit Script" --icon-name="messagebox_warning" --title="WRONG BINARY SELECTED" --text="<big><b>WRONG BINARY..\n\nYOU MUST SELECT THE BINARY FILE CALLED:\n\n<i>sublime_text</i></b></big>"
		if [ "$?" -eq 1 ]; then
			read -n 1 -s -r -p "Press any key to exit"
			clear && exit 1
		fi
	else
		break
	fi
done

#Confirm Selection##
zenity --question --text="You Selected:\n<big><i><b>${BINARY_FULL_PATH}</b></i></big>\n<big>\nPress <b>Yes</b> to Patch</big>" --no-wrap --icon-name="face-devilish" --width 300
if [ "$?" -eq 1 ]; then
echo "Exited The Patching Proccess" && exit 1
fi

#MAKE BINARY BACKUP##
cp $BINARY_FULL_PATH $BINARY_FULL_PATH.bak
zenity --info --title="Backup Created" --text="<b><big>\nBackup Created Here:\n<i>$BINARY_FULL_PATH.bak</i></big></b>" --width=375 --height=150 --no-wrap

##Hex Patch The Binary##
sed -i 's/\x97\x94\x0D/\x00\x00\x00/' $BINARY_FULL_PATH
zenity --info --title="Binary Has Been Patched" --text="<b><big>\nSublime Has Been Patched</big></b>" --width=375 --height=150 --no-wrap

##Copy Key To Clipboard##
echo "----- 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 ------" | xclip -selection c

##Show Registration Key To Use##
clear
touch ./KEY_4_REGISTRATION.txt
truncate -s0 ./KEY_4_REGISTRATION.txt
echo "----- 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 ------" >> ./KEY_4_REGISTRATION.txt

##Launch Another Zenity Dialog Showing The Key For Manual Copy And Paste..even Though Copied To Clipboard Already##
zenity --text-info --filename=./KEY_4_REGISTRATION.txt --width=500 --height=475 --title="Use This To Register With" --text="Copy This Registration Key and Paste it in to Sublime to Register" --no-wrap

##Launch Sublime and Exit this shit##
subl &
clear
exit 0

hmm im getting error on line 34 running on pop os btw

@anaf-siddi
Copy link

anaf-siddi commented Jun 16, 2021

@duckimann Good effort! You should probably try to make it a bit more portable though since powershell is a pain to run on any other OS than Windows.

Here's my variant of an automatic update patcher I threw together after a couple hours in Python (with no crap pip-based dependencies!) so you can run this from any OS you want. Works for Windows, MacOS and Linux binaries as long as you have the patterns. Pretty fast given it's written in Python too and naturally it doesn't rely on fixed offsets/static patterns like 99% of the stuff I've seen here.

image
image
image

Yes, it also does Sublime Merge too:

image
image
image

:)

do you have a link for the patcher pls?? @leogxnr

@leogx9r
Copy link

leogx9r commented Jun 23, 2021

@anaf-siddi I'll be keeping that to myself for now. Also please stop quoting entire messages, it makes this thread extremely long and disorganised.


Sublime Text v4109 Crack

Dev build was released here which contains the following changes from v4107:

v4109
    Various syntax highlighting improvements
    Syntax and indentation detection is now done when editing stdin
    Fixed Ruby syntax highlighting in the Monokai color scheme
    Fix Sublime Text opening stdin on Windows and Linux when not desired
    Windows: Fixed always opening files in new windows

v4108
    Improved performance when editing large files
    Improved OpenGL rendering performance
    Improved handling of deleted files
    subl can now be used to edit stdin, eg: echo test | subl | cat
    Theme: Improved scroll puck visibility
    Theme: Fixed adaptive theme not respecting themed_title_bar setting with light color schemes
    Added reveal_menu setting for disabling revealing the menu when alt is pressed on Linux and Windows
    Fixed the append command's scroll_to_end parameter sometimes not working
    Safe Mode key binding can be disabled by creating a file named .Disable Safe Mode Shortcut in the data directory
    Fixed Goto Symbol sometimes being scrolled incorrectly
    Fixed multi-select file limit applying to sidebar
    Fixed auto-complete related hang in some large files
    Linux: Fixed print sometimes not working
    Linux: Fixed wrong order of yes/no buttons in GTK dialogs
    Windows: Always make a new window when launching main executable on Windows
    Windows: Fixed window icon not scaling properly on Windows
    Windows: Fixed globs not being expanded in some cases on Windows
    Mac: Fixed auto theme not changing with OS auto theme on macOS

Cracking procedure is the same as my above methods however, the patterns have changed for Windows x64 (Portable) for the Invalidation/Validation Threads, everything else is the same, aka MacOS/Linux builds have the same patterns as before and the methods required for patching remain unchanged.

Invalidation/Validation Threads

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 48 8B 96 ? ? ? ?`
                Pattern 2: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? 48 89 F1 `

Adjust the patterns in your script to account for that difference and you'll be golden.

image

I've uploaded a patched Windows x64 executable here. The virus scan is located here. As always, if you don't trust it, patch it yourself.

Proof

image
image
image
image

Enjoy.

@duckimann
Copy link

@anaf-siddi I'll be keeping that to myself for now. Also please stop quoting entire messages, it makes this thread extremely long and disorganised.

i believe there are some dum-dum knows how to quote but don't know how to tidy the quote up. Btw, what is "RVA" in this image stand for? Thanks.

image

@maboloshi
Copy link

@leogx9r good job, I updated crack to 4109 according to your tutorial.
https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47

@sdilshod
Copy link

SOLVE version 4107 final
You must add the following lines in your host file

0.0.0.0 sublimetext.com
0.0.0.0 license.sublimehq.com
0.0.0.0 45.55.255.55 #sublimetext
0.0.0.0 45.55.41.223 #sublimetext

Then enter the license

—– BEGIN LICENSE —–
Die Socialisten GmbH
10 User License
EA7E-800613
51311422 E45F49ED 3F0ADE0C E5B8A508
2F4D9B65 64E1E244 EDA11F0E F9D06110
B7B2E826 E6FDAA72 2C653693 5D80582F
09DCFFB5 113A940C 5045C0CD 5F8332F8
34356CC6 D96F6FDB 4DEC20EA 0A24D83A
2C82C329 E3290B29 A16109A7 EC198EB9
F28EBB17 9C07403F D44BA75A C23C6874
EBF11238 5546C3DD 737DC616 445C2941
—— END LICENSE ——

Thanks! this is worked for me

@leogx9r
Copy link

leogx9r commented Jun 24, 2021

Btw, what is "RVA" in this image stand for?

@duckimann RVA translates to relative virtual address. This is how an E8 XX XX XX XX instruction encodes to as you can see here. The following 4 bytes after E8 contains a 32-bit relative displacement "pointer" to the target address based on the current RIP (instruction pointer) register value. The same applies to near jumps like jmp, je, jne, ja, jb etc. The screenshot shows the pattern_located_offset -> rva_value_at_offset -> calculated_absolute_offset.

@leogx9r good job, I updated crack to 4109 according to your tutorial.

@maboloshi Nice work. I'll probably post updates there too from now on provided I remember.

Copy link

ghost commented Jun 29, 2021

Hi @bad1dea + @leogx9r,
i am on Linux x86_64 & using sublime text 4107
but i am facing a problem in finding the rsa key!
I tried this two:

Search for x64...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

rsa patch 4107 - x86
Search for: 55535756B8AC200000
Replace with: 33C0FEC0C3AC200000

but didn't work!
i am attaching my sublime_text from /opt/sublime_text/sublime_text here:
https://www.upload.ee/files/13273345/sublime_text.html
please tell me how to find the rsa key

@pawel-dabek
Copy link

Do you have any method to crack M1 ARM version of ST4?

@Taiga74164
Copy link

This works for most of the Sublime Text 4.X x64 (Including 4107) - block the license check via host or patch it out of EXE

RSA Key Patch (allows any key in right format to work)

Search for ...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

Disable License Check (You can do this via hosts file if you rather)

Search for...
6C6963656E73652E7375626C696D6568712E636F6D
Replace with ...
7375626C696D6568712E6C6F63616C686F73740000

You can now use any license basically that follows the same syntax/format/key.

-- BEGIN LICENSE --
Generic Name
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
-- END LICENSE --```

worked just fine. Thanks!
image

@secretiveolwagner
Copy link

@ryanrdk When I ran the patch I got the following error:
Error loading colour scheme Mariana.sublime-color-scheme: Unable to find Mariana.sublime-color-scheme
Error loading syntax file "Packages/Text/Plain text.tmLanguage": Unable to open Packages/Text/Plain text.tmLanguage
I'm also running Big Sur 11.4, how did you patch it? Thanks.

@rahitashpaul
Copy link

Here's my method for breaking their license protection. I've specifically applied the below to v4107.

Quick note: This isn't meant for newbies, this shows you how to patch the current and (most likely) future versions of Sublime Text. I've been using this for a while now.

Here's a basic rundown of how license validation and invalidation works:

  • Licenses have hardcoded (lol, remove blacklist and patch server thread, 10/10 protection) blacklists in the executable and are signed via an RSA public key (which is 'encrypted' in the binary, basically some xor stuff).
  • Application tries to validate an invalid license every 5 seconds. It expects this to fail but if it succeeds, it will unregister you after 480 seconds. This is why simply patching the validity function isn't enough.
  • Application tries to validate your current license every 15 seconds. It expects this to succeed but if it fails, it will unregister you after 360 seconds.
  • The application creates a thread to validate the current license with the server at license.sublimehq.com whenever the application is started (config file read) or when modifying your current license. If this succeeds to connect and your license isn't correct it will unregister you.

So how can you bypass all this? Dare I say, efficiently?

  • Patch the validation function (isLicenseValid as I call it) for anything to always return 0 (valid). Values from 1-4 specify either an invalid, blacklisted or unsupported/expired license.
  • Prevent thread creation for the validation/invalidation routines to avoid the license being unregistered after X seconds due to patching isLicenseValid. Optionally simply remove the "unregister" function here. Doesn't matter how you go about it really.
  • Disable server validation thread or patch the HTTP host so it always fails to connect. Most people resort to using hosts to redirect the license server to localhost or renaming the host in the binary. A far better way is simply to avoid a dead thread being created that does this check.

Disabling creation of these 3 threads is my preferred method since you obviously save resources as you don't need to constantly have new threads opened every X seconds.

Why I consider this better than other methods?

  • No need to find a "working"/"nonblacklisted" license. You can literally enter "Hello World!" as a valid license.
  • No useless thread creation eating up resources. A small performance improvement you'll absolutely never notice.
  • You don't have to patch /etc/hosts or system32/drivers/etc/hosts.
  • Relies on patterns so you can build your own script to auto-patch on updates, provided patterns don't break of course.
  • Doesn't decide to randomly expire.

How tho?

Patch the following methods:

  • License Validity Checking (Aka IsValidLicense

Make isLicenseValid return 0, pattern is a reference to call isLicenseValid. I personally just replaced the method with xor rax, rax; ret so 48 31 C0 C3.

    Linux/MacOS x64 Pattern: `direct reference sig: E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0`
    Windows x64 Pattern:     `direct reference sig: E8 ? ? ? ? 48 8B 8B ? ? ? ? 85 C0`
  • Invalidation/Validation Functions

These cause delayed unregistration after 360/480 seconds so NOP out the calls to avoid them. Aka replace E8 XX XX XX XX with 90 90 90 90 90.

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 49 8B 96`
                Pattern 2: `raw sig: E8 ? ? ? ? E8 ? ? ? ? 4C 89 F1 E8`
    Linux x64   Pattern 1: `raw sig: E8 ? ? ? ? 48 89 5C 24 ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? BF ? ? ? ? E8 ? ? ? ? 83 25`
    MacOS       Pattern 1: `raw sig: E8 ? ? ? ? 48 89 9D ? ? ? ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? 48 8D 3D ? ? ? ? E8 ? ? ? ? 83 25`
  • Server Validation Thread

Simply make this instantly return 1 to disable thread creation or patch the hostname to something invalid. I personally prefer to simply disable thread creation by making this return 1, aka 48 31 C0 48 FF C0 C3, xor rax, rax; inc rax; ret.

    Windows x64 Pattern: `raw sig: 55 56 57 48 83 EC 30 48 8D 6C 24 ? 48 C7 45 ? ? ? ? ? 89 D6 48 89 CF 6A 28`
    Linux x64   Pattern: `raw sig: 55 41 56 53 41 89 F6 48 89 FD 6A 28`
    MacOS       Pattern: `raw sig: 55 48 89 E5 41 57 41 56 53 50 41 89 F6 49 89 FF 6A 20`

Now what?

After patching simply register with anything you want. It can even be just a random letter, a space, a word, a sentence, a valid or invalid license -- whatever you want. Here's what I registered with:

Paying 80$ For A License Is Stupid

But I wanna download!

Linux

For Linux x64 on v4107, you can use this (replace /opt/sublime_text/sublime_text with the path to the binary):

# 554157415641554154534881EC68240000 -> 4831C0C390909090909090909090909090
sed -i 's/\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x68\x24\x00\x00/\x48\x31\xC0\xC3\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# E8C2781800 -> 9090909090
sed -i 's/\xE8\xC2\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text
# E8A7781800 -> 9090909090
sed -i 's/\xE8\xA7\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# 554156534189F64889FD6A28 -> 4831C048FFC0C39090909090
sed -i 's/\x55\x41\x56\x53\x41\x89\xF6\x48\x89\xFD\x6A\x28/\x48\x31\xC0\x48\xFF\xC0\xC3\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

Windows

I've uploaded a portable copy of the Windows x64 bit version, already patched, here. Simply replace the sublime_text.exe file from the portable download with the above. Here's the virus scan. Note: PE.Heur.InvalidSig is due to patching the executable to bypass the license checks. Don't trust it? Then patch it yourself :P

I've been using this on both Windows and Linux since the new version dropped without issues.

MacOS

No.

Proof

image
image
image

Dear sir, which software you use for this let me know...

@update-freak
Copy link

update-freak commented Jul 14, 2021

@leogx9r: Can you please share the patched exe of Sublime Text 4 Version 4113?

@K4VINSKY
Copy link

For 4113 and maybe previous versions:

I don't know if you need to modify your host file but i did it a long time ago, so if you need:

  • 0.0.0.0 sublimetext.com
    0.0.0.0 license.sublimehq.com
    0.0.0.0 45.55.255.55 #sublimetext
    0.0.0.0 45.55.41.223 #sublimetext
  1. Go to hexed.it
  2. Click "Open File" and choose your sublime_text.exe (DON'T FORGET TO BACKUP YOUR EXE FILE)
  3. Go to Search and in "Search for" put: C3 C6 01 00 C3
  4. In Search Type select "Enable replace" and put: C3 C6 01 01 C3
  5. Click "Find next" then "Replace"
  6. Do the same thing with: 51 31 C0 88 05 => 51 b0 01 88 05
  7. Click "Save as" then name it: sublime_text
  8. Copy your modified sublime_text.exe to directory Sublime Text

If you're too lazy, you can use my modified sublime_text.exe

image
Enjoy :)

@Bruskyer
Copy link

@K4VINSKY Thank you it works perfect 👌

@leogx9r
Copy link

leogx9r commented Jul 14, 2021

If you're using something other than Windows, check here for Linux/MacOS versions.

@Hazuki-san
Copy link

Hazuki-san commented Jul 15, 2021

@godrider
Copy link

I used @leogx9r method to patch b4113, it works!
https://raw.githubusercontent.com/Hazuki-san/ST-collections/main/Build%204113/sublime_text.exe

Many thanks! This worked for me.

Bc4CLYC

@RifatMahmudno-1
Copy link

@jowinjohnchemban
Copy link

jowinjohnchemban commented Jul 22, 2021

For 4113 and maybe previous versions:

I don't know if you need to modify your host file but i did it a long time ago, so if you need:

  • 0.0.0.0 sublimetext.com
    0.0.0.0 license.sublimehq.com
    0.0.0.0 45.55.255.55 #sublimetext
    0.0.0.0 45.55.41.223 #sublimetext
  1. Go to hexed.it
  2. Click "Open File" and choose your sublime_text.exe (DON'T FORGET TO BACKUP YOUR EXE FILE)
  3. Go to Search and in "Search for" put: C3 C6 01 00 C3
  4. In Search Type select "Enable replace" and put: C3 C6 01 01 C3
  5. Click "Find next" then "Replace"
  6. Do the same thing with: 51 31 C0 88 05 => 51 b0 01 88 05
  7. Click "Save as" then name it: sublime_text
  8. Copy your modified sublime_text.exe to directory Sublime Text

If you're too lazy, you can use my modified sublime_text.exe

image
Enjoy :)

Another way to do the same 👍

Use "Go to" option in hexed.it
Change it,

000000aa40 - 00 > 01

00000a6906 - 31 > b0
00000a6907 - C0 > 01

@ShaGrAt-LsD
Copy link

Sublime Text 4 Build 4113 & Sublime Merge 2 Build 2059
Windows X64 - Standard and portable

https://pastebin.com/2g2MZr6N

Enjoy ;)

@ShaGrAt-LsD
Copy link

Scene releases of ST4.4113 & SM2.2059 including keygen and patch for standard and portable editions:

https://pastebin.com/GZW9v7PX

Have fun!

@tav1nald3rs0n
Copy link

000000aa40 - 00 > 01

00000a6906 - 31 > b0
00000a6907 - C0 > 01

thank you @jowinjohnchemban

@lowendgamer
Copy link

How to crack linux with sudo sed?

cd /opt/sublime_text
sudo sed -i 's/\x97\x94\x0D/\x00\x00\x00/' sublime_text

Is this the right values?

@duckimann
Copy link

@lowendgamer check this out. it worked on my ubuntu vm.

@lowendgamer
Copy link

@duckimann

Thank you, it worked finally!

@pemakanwortel
Copy link

thanks

Copy link

ghost commented Aug 18, 2021

Hex values to change for Sublime Merge, anyone?

@duckimann
Copy link

Hex values to change for Sublime Merge, anyone?

@lowendgamer check this out. it worked on my ubuntu vm.

In the same link pls.

@brian6932
Copy link

@4channel This works for both Merge and Text:

This works for most of the Sublime Text 4.X x64 (Including 4107) - block the license check via host or patch it out of EXE

RSA Key Patch (allows any key in right format to work)

Search for ...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

Disable License Check (You can do this via hosts file if you rather)

Search for...
6C6963656E73652E7375626C696D6568712E636F6D
Replace with ...
7375626C696D6568712E6C6F63616C686F73740000

You can now use any license basically that follows the same syntax/format/key.

-- BEGIN LICENSE --
Generic Name
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
-- END LICENSE --```

@gxanshu
Copy link

gxanshu commented Aug 19, 2021

Here's my method for breaking their license protection. I've specifically applied the below to v4107.

Quick note: This isn't meant for newbies, this shows you how to patch the current and (most likely) future versions of Sublime Text. I've been using this for a while now.

Here's a basic rundown of how license validation and invalidation works:

* Licenses have hardcoded (lol, remove blacklist and patch server thread, 10/10 protection) blacklists in the executable and are signed via an RSA public key (which is 'encrypted' in the binary, basically some `xor` stuff).

* Application tries to validate an invalid license every 5 seconds. It expects this to fail but if it succeeds, it will unregister you after 480 seconds. This is why simply patching the validity function isn't enough.

* Application tries to validate your current license every 15 seconds. It expects this to succeed but if it fails, it will unregister you after 360 seconds.

* The application creates a thread to validate the current license with the server at `license.sublimehq.com` whenever the application is started (config file read) or when modifying your current license. If this succeeds to connect and your license isn't correct it will unregister you.

So how can you bypass all this? Dare I say, efficiently?

* Patch the validation function (`isLicenseValid` as I call it) for anything to always return 0 (valid). Values from 1-4 specify either an invalid, blacklisted or unsupported/expired license.

* Prevent thread creation for the validation/invalidation routines to avoid the license being unregistered after X seconds due to patching `isLicenseValid`. Optionally simply remove the "unregister" function here. Doesn't matter how you go about it really.

* Disable server validation thread or patch the HTTP host so it always fails to connect. Most people resort to using `hosts` to redirect the license server to `localhost` or renaming the host in the binary. A far better way is simply to avoid a dead thread being created that does this check.

Disabling creation of these 3 threads is my preferred method since you obviously save resources as you don't need to constantly have new threads opened every X seconds.

Why I consider this better than other methods?

* No need to find a "working"/"nonblacklisted" license. You can literally enter "Hello World!" as a valid license.

* No useless thread creation eating up resources. A small performance improvement you'll _absolutely_ never notice.

* You don't have to patch `/etc/hosts` or `system32/drivers/etc/hosts`.

* Relies on patterns so you can build your own script to auto-patch on updates, provided patterns don't break of course.

* Doesn't decide to randomly expire.

How tho?

Patch the following methods:

* **License Validity Checking** (Aka `IsValidLicense`

Make isLicenseValid return 0, pattern is a reference to call isLicenseValid. I personally just replaced the method with xor rax, rax; ret so 48 31 C0 C3.

    Linux/MacOS x64 Pattern: `direct reference sig: E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0`
    Windows x64 Pattern:     `direct reference sig: E8 ? ? ? ? 48 8B 8B ? ? ? ? 85 C0`
* **Invalidation/Validation Functions**

These cause delayed unregistration after 360/480 seconds so NOP out the calls to avoid them. Aka replace E8 XX XX XX XX with 90 90 90 90 90.

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 49 8B 96`
                Pattern 2: `raw sig: E8 ? ? ? ? E8 ? ? ? ? 4C 89 F1 E8`
    Linux x64   Pattern 1: `raw sig: E8 ? ? ? ? 48 89 5C 24 ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? BF ? ? ? ? E8 ? ? ? ? 83 25`
    MacOS       Pattern 1: `raw sig: E8 ? ? ? ? 48 89 9D ? ? ? ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? 48 8D 3D ? ? ? ? E8 ? ? ? ? 83 25`
* **Server Validation Thread**

Simply make this instantly return 1 to disable thread creation or patch the hostname to something invalid. I personally prefer to simply disable thread creation by making this return 1, aka 48 31 C0 48 FF C0 C3, xor rax, rax; inc rax; ret.

    Windows x64 Pattern: `raw sig: 55 56 57 48 83 EC 30 48 8D 6C 24 ? 48 C7 45 ? ? ? ? ? 89 D6 48 89 CF 6A 28`
    Linux x64   Pattern: `raw sig: 55 41 56 53 41 89 F6 48 89 FD 6A 28`
    MacOS       Pattern: `raw sig: 55 48 89 E5 41 57 41 56 53 50 41 89 F6 49 89 FF 6A 20`

Now what?

After patching simply register with anything you want. It can even be just a random letter, a space, a word, a sentence, a valid or invalid license -- whatever you want. Here's what I registered with:

Paying 80$ For A License Is Stupid

But I wanna download!

Linux

For Linux x64 on v4107, you can use this (replace /opt/sublime_text/sublime_text with the path to the binary):

# 554157415641554154534881EC68240000 -> 4831C0C390909090909090909090909090
sed -i 's/\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x68\x24\x00\x00/\x48\x31\xC0\xC3\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# E8C2781800 -> 9090909090
sed -i 's/\xE8\xC2\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text
# E8A7781800 -> 9090909090
sed -i 's/\xE8\xA7\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# 554156534189F64889FD6A28 -> 4831C048FFC0C39090909090
sed -i 's/\x55\x41\x56\x53\x41\x89\xF6\x48\x89\xFD\x6A\x28/\x48\x31\xC0\x48\xFF\xC0\xC3\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

Windows

I've uploaded a portable copy of the Windows x64 bit version, already patched, here. Simply replace the sublime_text.exe file from the portable download with the above. Here's the virus scan. Note: PE.Heur.InvalidSig is due to patching the executable to bypass the license checks. Don't trust it? Then patch it yourself :P

I've been using this on both Windows and Linux since the new version dropped without issues.

MacOS

No.

Proof

image
image
image

man its awesome its works, you are a real programmer

@tari9bro
Copy link

Here's my method for breaking their license protection. I've specifically applied the below to v4107.
Quick note: This isn't meant for newbies, this shows you how to patch the current and (most likely) future versions of Sublime Text. I've been using this for a while now.

Here's a basic rundown of how license validation and invalidation works:

* Licenses have hardcoded (lol, remove blacklist and patch server thread, 10/10 protection) blacklists in the executable and are signed via an RSA public key (which is 'encrypted' in the binary, basically some `xor` stuff).

* Application tries to validate an invalid license every 5 seconds. It expects this to fail but if it succeeds, it will unregister you after 480 seconds. This is why simply patching the validity function isn't enough.

* Application tries to validate your current license every 15 seconds. It expects this to succeed but if it fails, it will unregister you after 360 seconds.

* The application creates a thread to validate the current license with the server at `license.sublimehq.com` whenever the application is started (config file read) or when modifying your current license. If this succeeds to connect and your license isn't correct it will unregister you.

So how can you bypass all this? Dare I say, efficiently?

* Patch the validation function (`isLicenseValid` as I call it) for anything to always return 0 (valid). Values from 1-4 specify either an invalid, blacklisted or unsupported/expired license.

* Prevent thread creation for the validation/invalidation routines to avoid the license being unregistered after X seconds due to patching `isLicenseValid`. Optionally simply remove the "unregister" function here. Doesn't matter how you go about it really.

* Disable server validation thread or patch the HTTP host so it always fails to connect. Most people resort to using `hosts` to redirect the license server to `localhost` or renaming the host in the binary. A far better way is simply to avoid a dead thread being created that does this check.

Disabling creation of these 3 threads is my preferred method since you obviously save resources as you don't need to constantly have new threads opened every X seconds.

Why I consider this better than other methods?

* No need to find a "working"/"nonblacklisted" license. You can literally enter "Hello World!" as a valid license.

* No useless thread creation eating up resources. A small performance improvement you'll _absolutely_ never notice.

* You don't have to patch `/etc/hosts` or `system32/drivers/etc/hosts`.

* Relies on patterns so you can build your own script to auto-patch on updates, provided patterns don't break of course.

* Doesn't decide to randomly expire.

How tho?

Patch the following methods:

* **License Validity Checking** (Aka `IsValidLicense`

Make isLicenseValid return 0, pattern is a reference to call isLicenseValid. I personally just replaced the method with xor rax, rax; ret so 48 31 C0 C3.

    Linux/MacOS x64 Pattern: `direct reference sig: E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0`
    Windows x64 Pattern:     `direct reference sig: E8 ? ? ? ? 48 8B 8B ? ? ? ? 85 C0`
* **Invalidation/Validation Functions**

These cause delayed unregistration after 360/480 seconds so NOP out the calls to avoid them. Aka replace E8 XX XX XX XX with 90 90 90 90 90.

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 49 8B 96`
                Pattern 2: `raw sig: E8 ? ? ? ? E8 ? ? ? ? 4C 89 F1 E8`
    Linux x64   Pattern 1: `raw sig: E8 ? ? ? ? 48 89 5C 24 ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? BF ? ? ? ? E8 ? ? ? ? 83 25`
    MacOS       Pattern 1: `raw sig: E8 ? ? ? ? 48 89 9D ? ? ? ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? 48 8D 3D ? ? ? ? E8 ? ? ? ? 83 25`
* **Server Validation Thread**

Simply make this instantly return 1 to disable thread creation or patch the hostname to something invalid. I personally prefer to simply disable thread creation by making this return 1, aka 48 31 C0 48 FF C0 C3, xor rax, rax; inc rax; ret.

    Windows x64 Pattern: `raw sig: 55 56 57 48 83 EC 30 48 8D 6C 24 ? 48 C7 45 ? ? ? ? ? 89 D6 48 89 CF 6A 28`
    Linux x64   Pattern: `raw sig: 55 41 56 53 41 89 F6 48 89 FD 6A 28`
    MacOS       Pattern: `raw sig: 55 48 89 E5 41 57 41 56 53 50 41 89 F6 49 89 FF 6A 20`

Now what?

After patching simply register with anything you want. It can even be just a random letter, a space, a word, a sentence, a valid or invalid license -- whatever you want. Here's what I registered with:

Paying 80$ For A License Is Stupid

But I wanna download!

Linux

For Linux x64 on v4107, you can use this (replace /opt/sublime_text/sublime_text with the path to the binary):

# 554157415641554154534881EC68240000 -> 4831C0C390909090909090909090909090
sed -i 's/\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x68\x24\x00\x00/\x48\x31\xC0\xC3\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# E8C2781800 -> 9090909090
sed -i 's/\xE8\xC2\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text
# E8A7781800 -> 9090909090
sed -i 's/\xE8\xA7\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# 554156534189F64889FD6A28 -> 4831C048FFC0C39090909090
sed -i 's/\x55\x41\x56\x53\x41\x89\xF6\x48\x89\xFD\x6A\x28/\x48\x31\xC0\x48\xFF\xC0\xC3\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

Windows

I've uploaded a portable copy of the Windows x64 bit version, already patched, here. Simply replace the sublime_text.exe file from the portable download with the above. Here's the virus scan. Note: PE.Heur.InvalidSig is due to patching the executable to bypass the license checks. Don't trust it? Then patch it yourself :P
I've been using this on both Windows and Linux since the new version dropped without issues.

MacOS

No.

Proof

image
image
image

man its awesome its works, you are a real programmer

this worked thanks ❤

@rohit-kumar-j
Copy link

rohit-kumar-j commented Aug 20, 2021

Works but, it says licensing upgrade required for sublime-text version 4113. I think that the Twitter license it is available till sublime text 3

At the top bar License upgrade required is mentioned.

See EDIT

image

EDIT:

Works perfectly (checked after a week of usage)

@leogx9r
Copy link

leogx9r commented Aug 21, 2021

@rohit-kumar-j If you scrolled up a bit you'd see various methods on how to patch v4113. Using the old twitter license requires workarounds to avoid it showing expired/upgrade required or unregistering itself after a certain period of time.

See this for an in-depth tutorial on how to crack the latest versions.

Copy link

ghost commented Aug 27, 2021

I have made a rough Python 3 patcher for Sublime Text v4113 Windows x64 that uses leogx9r's signatures instead of hardcoded offsets.

https://github.com/rainbowpigeon/sublime-text-4-patcher

image

If there is demand, I can probably update it to support Linux and macOS.

@skydrome
Copy link

awesome mate thanks for all the work, is arm do-able?

@Xaiver97
Copy link

Thanks for sharing! Working on linux with latest version

@rohit-kumar-j
Copy link

@leo

@rohit-kumar-j If you scrolled up a bit you'd see various methods on how to patch v4113. Using the old twitter license requires workarounds to avoid it showing expired/upgrade required or unregistering itself after a certain period of time.

See this for an in-depth tutorial on how to crack the latest versions.

Thanks! This is works!

@bms8197
Copy link

bms8197 commented Aug 30, 2021

Anyone managed to patch/crack SublimeText build 4113 for MacOS Bigsur M1 cpu? (the arm version)

@rohit-kumar-j
Copy link

Anyone managed to patch/crack SublimeText build 4113 for MacOS Bigsur M1 cpu? (the arm version)

@bms8197

Try this: https://macoscrack.com/sublime-text/

@bms8197
Copy link

bms8197 commented Aug 31, 2021

@rohit-kumar-j thanks but I don't actually trust that site. The only site I have ever downloaded cracked software for mac is macdrop.

@tientq64
Copy link

tientq64 commented Sep 3, 2021

Has anyone cracked build 4114 yet?

@strotee
Copy link

strotee commented Sep 3, 2021

Has anyone cracked build 4114 yet?

see https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451#gistcomment-3865017 but why not wait until a final version instead of beta?

Untitled

Copy link

ghost commented Sep 4, 2021

@tiencoffee

I've updated my Windows x64 patcher to support the Dev builds too (from v4109 onwards), so v4114 should work. Feel free to test it out!
https://github.com/rainbowpigeon/sublime-text-4-patcher

@mrparag94
Copy link

@Rain

@tiencoffee

I've updated my Windows x64 patcher to support the Dev builds too (from v4109 onwards), so v4114 should work. Feel free to test it out!
https://github.com/rainbowpigeon/sublime-text-4-patcher

Bro do you have merge patcher..?

@strotee
Copy link

strotee commented Sep 28, 2021

Untitled :)

@strotee
Copy link

strotee commented Sep 30, 2021

Untitled

@Danny4096
Copy link

@rainbowpigeon How does your script calculate the actual address from the relative address?

Copy link

ghost commented Oct 11, 2021

How does your script calculate the actual address from the relative address?

@DannyBoi21 When code/data is being referenced across sections, I calculate it by using the PointerToRawData and VirtualAddress values of the sections involved.

https://github.com/rainbowpigeon/sublime-text-4-patcher/blob/main/sublime_text_4_patcher.py#L244

    def off_to_rva(self, section: str):
        return self.offset - self.file.sections[section].PointerToRawData + self.file.sections[section].VirtualAddress

    def rva_to_off(self, section: str):
        return self.offset - self.file.sections[section].VirtualAddress + self.file.sections[section].PointerToRawData

@strotee
Copy link

strotee commented Oct 16, 2021

Untitled

For info on how to crack it, I followed these steps (I'm on Win x64, I can't guarantee this will work for other platforms): https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451#gistcomment-3758682

@leogx9r
Copy link

leogx9r commented Oct 16, 2021

@strotee What's the point of showing that off without providing a way to patch it? To show off?

To those of you that do want Sublime Text/Merge patched and can't be bothered to beg strotee, check here. There's also ARM64 patches for Sublime Text and Merge too.

@strotee
Copy link

strotee commented Oct 16, 2021

@leogx9r - if one were to scroll up, I first mention how to crack it in https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451#gistcomment-3881935. It's definitely not to show off, merely to show a new version came out and the existing crack works (just two items to search and throw in a custom, generic license) and one has an updated, newer version of Sublime. I can certainly provide a link to the steps I followed.

@bms8197
Copy link

bms8197 commented Oct 16, 2021

@strotee A link with the steps would be really helpfull :)
@leogx9r Thank you again for patching v4118 MacOS M1 version!

@strotee
Copy link

strotee commented Oct 16, 2021

Tip: If you don't use a firewall, just know that it checks every time the application starts. To prevent Sublime from checking online for an update & God knows what else, disable it by doing this: Click Preferences, Settings. On the right side, add "update_check": false
Untitled

@bms8197
Copy link

bms8197 commented Oct 16, 2021

@strotee Had that setting configured already but thanks for the tip!

@leogx9r
Copy link

leogx9r commented Oct 16, 2021

@strotee Guess I misunderstood, sorry about that.

checking online for an update & God knows what else

There's 3 telemetry-like checks in the program, update checking (config file like you showed can stop that that), a license check thread run once on startup (usually patched via hosts) and a license notify thread (that triggers whenever you enter/change a license, sending your IP, HWID, version and license info to the server). You can disable all of them by patching host file or disabling the methods (linked thread).

You get the same thing essentially but avoid having your IP address and HWID sent to the server which they can theoretically blacklist (or if they're serious enough and you're not using a VPN, contact your ISP).

image
image

@bms8197 You don't need to disable update checks (unless you click update and it replaces the patched binary) in the patched MacOS binaries -- they have everything "sketchy" disabled already. Ditto for anyone using my patching methods.

@PlamenOBM
Copy link

Here's my method for breaking their license protection. I've specifically applied the below to v4107.

Quick note: This isn't meant for newbies, this shows you how to patch the current and (most likely) future versions of Sublime Text. I've been using this for a while now.

Here's a basic rundown of how license validation and invalidation works:

  • Licenses have hardcoded (lol, remove blacklist and patch server thread, 10/10 protection) blacklists in the executable and are signed via an RSA public key (which is 'encrypted' in the binary, basically some xor stuff).
  • Application tries to validate an invalid license every 5 seconds. It expects this to fail but if it succeeds, it will unregister you after 480 seconds. This is why simply patching the validity function isn't enough.
  • Application tries to validate your current license every 15 seconds. It expects this to succeed but if it fails, it will unregister you after 360 seconds.
  • The application creates a thread to validate the current license with the server at license.sublimehq.com whenever the application is started (config file read) or when modifying your current license. If this succeeds to connect and your license isn't correct it will unregister you.

So how can you bypass all this? Dare I say, efficiently?

  • Patch the validation function (isLicenseValid as I call it) for anything to always return 0 (valid). Values from 1-4 specify either an invalid, blacklisted or unsupported/expired license.
  • Prevent thread creation for the validation/invalidation routines to avoid the license being unregistered after X seconds due to patching isLicenseValid. Optionally simply remove the "unregister" function here. Doesn't matter how you go about it really.
  • Disable server validation thread or patch the HTTP host so it always fails to connect. Most people resort to using hosts to redirect the license server to localhost or renaming the host in the binary. A far better way is simply to avoid a dead thread being created that does this check.

Disabling creation of these 3 threads is my preferred method since you obviously save resources as you don't need to constantly have new threads opened every X seconds.

Why I consider this better than other methods?

  • No need to find a "working"/"nonblacklisted" license. You can literally enter "Hello World!" as a valid license.
  • No useless thread creation eating up resources. A small performance improvement you'll absolutely never notice.
  • You don't have to patch /etc/hosts or system32/drivers/etc/hosts.
  • Relies on patterns so you can build your own script to auto-patch on updates, provided patterns don't break of course.
  • Doesn't decide to randomly expire.

How tho?

Patch the following methods:

  • License Validity Checking (Aka IsValidLicense

Make isLicenseValid return 0, pattern is a reference to call isLicenseValid. I personally just replaced the method with xor rax, rax; ret so 48 31 C0 C3.

    Linux/MacOS x64 Pattern: `direct reference sig: E8 ? ? ? ? 49 8B BF ? ? ? ? 85 C0`
    Windows x64 Pattern:     `direct reference sig: E8 ? ? ? ? 48 8B 8B ? ? ? ? 85 C0`
  • Invalidation/Validation Functions

These cause delayed unregistration after 360/480 seconds so NOP out the calls to avoid them. Aka replace E8 XX XX XX XX with 90 90 90 90 90.

    Windows x64 Pattern 1: `direct reference sig: (+0x6) 41 B8 ? ? ? ? E8 ? ? ? ? 49 8B 96`
                Pattern 2: `raw sig: E8 ? ? ? ? E8 ? ? ? ? 4C 89 F1 E8`
    Linux x64   Pattern 1: `raw sig: E8 ? ? ? ? 48 89 5C 24 ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? BF ? ? ? ? E8 ? ? ? ? 83 25`
    MacOS       Pattern 1: `raw sig: E8 ? ? ? ? 48 89 9D ? ? ? ? 48 8B B3`
                Pattern 2: `raw sig: E8 ? ? ? ? 48 8D 3D ? ? ? ? E8 ? ? ? ? 83 25`
  • Server Validation Thread

Simply make this instantly return 1 to disable thread creation or patch the hostname to something invalid. I personally prefer to simply disable thread creation by making this return 1, aka 48 31 C0 48 FF C0 C3, xor rax, rax; inc rax; ret.

    Windows x64 Pattern: `raw sig: 55 56 57 48 83 EC 30 48 8D 6C 24 ? 48 C7 45 ? ? ? ? ? 89 D6 48 89 CF 6A 28`
    Linux x64   Pattern: `raw sig: 55 41 56 53 41 89 F6 48 89 FD 6A 28`
    MacOS       Pattern: `raw sig: 55 48 89 E5 41 57 41 56 53 50 41 89 F6 49 89 FF 6A 20`

Now what?

After patching simply register with anything you want. It can even be just a random letter, a space, a word, a sentence, a valid or invalid license -- whatever you want. Here's what I registered with:

Paying 80$ For A License Is Stupid

But I wanna download!

Linux

For Linux x64 on v4107, you can use this (replace /opt/sublime_text/sublime_text with the path to the binary):

# 554157415641554154534881EC68240000 -> 4831C0C390909090909090909090909090
sed -i 's/\x55\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x68\x24\x00\x00/\x48\x31\xC0\xC3\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# E8C2781800 -> 9090909090
sed -i 's/\xE8\xC2\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text
# E8A7781800 -> 9090909090
sed -i 's/\xE8\xA7\x78\x18\x00/\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

# 554156534189F64889FD6A28 -> 4831C048FFC0C39090909090
sed -i 's/\x55\x41\x56\x53\x41\x89\xF6\x48\x89\xFD\x6A\x28/\x48\x31\xC0\x48\xFF\xC0\xC3\x90\x90\x90\x90\x90/g' /opt/sublime_text/sublime_text

Windows

I've uploaded a portable copy of the Windows x64 bit version, already patched, here. Simply replace the sublime_text.exe file from the portable download with the above. Here's the virus scan. Note: PE.Heur.InvalidSig is due to patching the executable to bypass the license checks. Don't trust it? Then patch it yourself :P

I've been using this on both Windows and Linux since the new version dropped without issues.

MacOS

No.

Proof

image image image

You sir, are a legend! Worked like a charm. Thank you very much!

@Destitute-Streetdwelling-Guttersnipe

@leogx9r Here they patched the domain name inside ST (license.sublimehq.com) and the RSA key function. There are 2 places to patch (1 plain text, 1 machine code). So it's more stable in future version (in comparison to your method of patching 6 functions).

Of course, your method is the most complete (their method may not able to block the crash reporter, and the checking threads are left running in the background).

There's 3 telemetry-like checks in the program, update checking (config file like you showed can stop that that), a license check thread run once on startup (usually patched via hosts) and a license notify thread (that triggers whenever you enter/change a license, sending your IP, HWID, version and license info to the server). You can disable all of them by patching host file or disabling the methods (linked thread).

You get the same thing essentially but avoid having your IP address and HWID sent to the server which they can theoretically blacklist (or if they're serious enough and you're not using a VPN, contact your ISP).

Hey @leogx9r, do you know where the crash reporter send the request to? If it's the same domain (license.sublimehq.com), then their method is good enough (just using more CPU & energy in the background).

@Issam28
Copy link

Issam28 commented Oct 26, 2021

Is this still working on build 4121 ?

@strotee
Copy link

strotee commented Oct 26, 2021

Is this still working on build 4121 ?

yes, at least on Win x64, see https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451#gistcomment-3758682

Untitled

Edit: If you don't use a firewall, then it'll attempt to connect. Block the update check (link) or use hosts. (link)
I don't take credit for the cracks, I'm just a messenger.

@duckimann
Copy link

@vanja-san take a look at this one

@tes123id
Copy link

Is this still working on build 4121 ?

it does not seem to work on linux. i've just tried it using this https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451#gistcomment-3933346. it works on previous version.

or maybe i've missed something ?

@leogx9r
Copy link

leogx9r commented Oct 27, 2021

@Destitute-Streetdwelling-Guttersnipe The crash reporter function in sublime_text[.exe] is a wrapper function that spawns a new process with some parameters (<build_id> /path/to/dump_file /path/to/executable_file), calling another executable in the main directory, crash_reporter[.exe].

The crash_reporter[.exe] handles all the magic and contains the actual server name it sends telemetry to, crash-report.sublimehq.com, basically sending an HTTP POST request to that URL (<URI>/crash) with the SHA-256 checksum of the binary and a deflated compressed dump of the crash.

Pretty sure it also sets the user-agent to sublime-crash-reporter/3.0 to potentially rule out fake requests but that's easy to bypass. If you were particularly evil, you could load their servers up with tons of invalid files since there doesn't seem to be any security checking here.

@Destitute-Streetdwelling-Guttersnipe

Thanks @leogx9r for the analysis of crash reporter. I think I can delete crash_reporter in case I can't patch the crash reporter function in ST/SM.

@jowinjohnchemban
Copy link

Is this still working on build 4121 ?

Thank you @andhika96 https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47#gistcomment-3941342

image

Replace following, [PREFERRED]

0000711A: E8 > 90
0000711B: 55 > 90
0000711C: 1E > 90
0000711D: 20 > 90
0000711E: 00 > 90

000A84E3: 55 > 48
000A84E4: 56 > 31
000A84E5: 57 > C0

000A84E7: 83 > FF
000A84E8: EC > C0
000A84E9: 30 > C3

OR
Search and replace following (make sure replace at the correct positions),

E8 55 1E 20 00  >  90 90 90 90 90
55 56 57  >  48 31 C0
83 EC 30  >  FF C0 C3

Tool used,
https://hexed.it/

@nemesisnes
Copy link

Thanks for this mate!

@PlamenOBM
Copy link

Any chances to have this for linux too?

@fredgolightly
Copy link

4125 Win x64?

@strotee
Copy link

strotee commented Dec 22, 2021

@Leoyut
Copy link

Leoyut commented Dec 29, 2021

hey im getting this error when running in linux : md5sum: WARNING: 1 computed checksum did NOT match

@vnt-83
Copy link

vnt-83 commented Jan 11, 2022

I don't can patch BUILD 4126 linux x64 ((

@CodigoCristo
Copy link

@vnt-83 patch 4126 for linux x64 :)
https://youtu.be/8gd6A-5e9Ik

@CodigoCristo
Copy link

CodigoCristo commented Jan 13, 2022

@CodigoCristo
Copy link

CodigoCristo commented Jan 13, 2022

@Stuff121 > I think it is because of your antivirus, although it does not detect anything, try deactivating it
https://we.tl/t-IklK4rP9x3
If you can upload it to another server as an example mega or mediafire

@CodigoCristo
Copy link

For windows patch Sublime text 4126 and Sublime merge 2068

https://github.com/CodigoCristo/sublimepatch/

https://www.youtube.com/watch?v=wi6_sxJiJ0s

Alt text

@CodigoCristo
Copy link

For Linux patch Sublime text 4126 and Sublime merge 2068

https://github.com/CodigoCristo/sublimepatch/

https://www.youtube.com/watch?v=8gd6A-5e9Ik

Alt text

@Destitute-Streetdwelling-Guttersnipe

@Stuff121 if you're aware of the risk, you shouldn't trust an uploaded file from someone on the internet. It's safer to patch it yourself.

@Destitute-Streetdwelling-Guttersnipe

@Stuff121 it's not better, it's just another exe. You can never be sure unless you compare it with the original file. Or you can patch it yourself without download any patcher just by using the steps at https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451#gistcomment-3761049

@CodigoCristo
Copy link

@Stuff121 Use https://hexed.it/ perfetct perfect nice viva el Perú !

@CodigoCristo
Copy link

@Destitute-Streetdwelling-Guttersnipe

@Stuff121 Why? Because nobody is responsible to give it to you. You get it for free here. Honestly, if you have no idea why it's so hard, then show some respect.

@Hazuki-san
Copy link

@PixelMelt
Copy link

PixelMelt commented Feb 1, 2022

this worked for me on version 4126 Linux https://gist.github.com/dmknght/bfd8d25a8b4c804889f8eeaf026efbe8

@rafaelribeiroo
Copy link

@PixelMelt won't works for me this python code, can u send me through wetransfer your /opt/sublime_text/sublime_text?

@rafaelribeiroo
Copy link

never mind, now thats working

@lowendgamer
Copy link

@CodigoCristo Thank you so much for the patcher. It is only that worked on ST 4126 for linux

@rafaelribeiroo
Copy link

Any update for sublime merge 2071?

@brian6932
Copy link

@rafaelribeiroo This works for smerge 2071

This works for most of the Sublime Text 4.X x64 (Including 4107) - block the license check via host or patch it out of EXE

RSA Key Patch (allows any key in right format to work)

Search for ...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

Disable License Check (You can do this via hosts file if you rather)

Search for...
6C6963656E73652E7375626C696D6568712E636F6D
Replace with ...
7375626C696D6568712E6C6F63616C686F73740000

You can now use any license basically that follows the same syntax/format/key.

-- BEGIN LICENSE --
Generic Name
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
-- END LICENSE --```

@rafaelribeiroo
Copy link

rafaelribeiroo commented May 2, 2022

@rafaelribeiroo This works for smerge 2071

This works for most of the Sublime Text 4.X x64 (Including 4107) - block the license check via host or patch it out of EXE
RSA Key Patch (allows any key in right format to work)

Search for ...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

Disable License Check (You can do this via hosts file if you rather)

Search for...
6C6963656E73652E7375626C696D6568712E636F6D
Replace with ...
7375626C696D6568712E6C6F63616C686F73740000

You can now use any license basically that follows the same syntax/format/key.

-- BEGIN LICENSE --
Generic Name
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
-- END LICENSE --```

Wow, awesome! I upload my/opt/sublime_merge/sublime_mergeat hexed and edit

6C6963656E73652E7375626C696D6568712E636F6D
to
7375626C696D6568712E6C6F63616C686F73740000

find in file don't locate 4157415656575553B828210000 :( so these license key doesn't works...

Can u send me ur smerge 2071 edited?

@n6333373
Copy link

n6333373 commented May 3, 2022

@rafaelribeiroo This works for smerge 2071

This works for most of the Sublime Text 4.X x64 (Including 4107) - block the license check via host or patch it out of EXE
RSA Key Patch (allows any key in right format to work)

Search for ...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

Disable License Check (You can do this via hosts file if you rather)

Search for...
6C6963656E73652E7375626C696D6568712E636F6D
Replace with ...
7375626C696D6568712E6C6F63616C686F73740000

You can now use any license basically that follows the same syntax/format/key.

-- BEGIN LICENSE --
Generic Name
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
-- END LICENSE --```

Wow, awesome! I upload my/opt/sublime_merge/sublime_mergeat hexed and edit

6C6963656E73652E7375626C696D6568712E636F6D to 7375626C696D6568712E6C6F63616C686F73740000

find in file don't locate 4157415656575553B828210000 :( so these license key doesn't works...

Can u send me ur smerge 2071 edited?

It's Windows-only.

@rafaelribeiroo
Copy link

@rafaelribeiroo This works for smerge 2071

This works for most of the Sublime Text 4.X x64 (Including 4107) - block the license check via host or patch it out of EXE
RSA Key Patch (allows any key in right format to work)

Search for ...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

Disable License Check (You can do this via hosts file if you rather)

Search for...
6C6963656E73652E7375626C696D6568712E636F6D
Replace with ...
7375626C696D6568712E6C6F63616C686F73740000

You can now use any license basically that follows the same syntax/format/key.

-- BEGIN LICENSE --
Generic Name
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
-- END LICENSE --```

Wow, awesome! I upload my/opt/sublime_merge/sublime_mergeat hexed and edit
6C6963656E73652E7375626C696D6568712E636F6D to 7375626C696D6568712E6C6F63616C686F73740000
find in file don't locate 4157415656575553B828210000 :( so these license key doesn't works...
Can u send me ur smerge 2071 edited?

It's Windows-only.

I got it, thanks :(

@joshsukuna
Copy link

For Linux patch Sublime text 4126 and Sublime merge 2068

https://github.com/CodigoCristo/sublimepatch/

https://www.youtube.com/watch?v=8gd6A-5e9Ik

Alt text

@CodigoCristo Arigato gozaimasu

@hellohejinyu
Copy link

macOS 4126 can use this.

—– BEGIN LICENSE —–
Mifeng User
Single User License
EA7E-1184812
C0DAA9CD 6BE825B5 FF935692 1750523A
EDF59D3F A3BD6C96 F8D33866 3F1CCCEA
1C25BE4D 25B1C4CC 5110C20E 5246CC42
D232C83B C99CCC42 0E32890C B6CBF018
B1D4C178 2F9DDB16 ABAA74E5 95304BEF
9D0CCFA9 8AF8F8E2 1E0A955E 4771A576
50737C65 325B6C32 817DCB83 A7394DFA
27B7E747 736A1198 B3865734 0B434AA5
—— END LICENSE ——
image

@cbg11
Copy link

cbg11 commented Jun 17, 2022

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

Worked thanks!

@ocdevcn
Copy link

ocdevcn commented Jun 18, 2022

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

Worked thanks :)

@KR1470R
Copy link

KR1470R commented Jun 18, 2022

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

worked on linux, thx

@danielmehring
Copy link

Thanks! It worked.

@suifengtec
Copy link

@hellohejinyu 谢谢! Thank you!

@Destitute-Streetdwelling-Guttersnipe

License for "Mifeng User" doesn't work in ST 4134. Enjoy it while it lasts!

Copy link

ghost commented Jul 15, 2022

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

Thanks, It worked on macOS monterey 12.4

@0xViKi
Copy link

0xViKi commented Jul 16, 2022

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

Thanks Worked for Windows 10.

@vk3232
Copy link

vk3232 commented Jul 17, 2022

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

its working..thanks

@LeoPkm2-1
Copy link

ubuntu 20.04 LTS can use this

@Sijad99
Copy link

Sijad99 commented Jul 30, 2022

Mac os
New License : v4 Build 4133

Screen Shot 2022-07-30 at 16 36 13

thanks to tnt team

----BEGIN LICENSE-----
TNT Team
Unlimited User License
EA7E-2010859462
6C5E525261BC8146AAAC8783279A74F5
57BF1CB0C1944B5517D42C38DB2282F2
E047071E334FEF878FFF09A3BB2B787B
06CE14F6DDAFB7A8C1123C226C250323
B45CC6567A2575668B94A3ACB773D963
ED045D9F798CC023694AF1467FD51C75
B05B81C8B226863915DC1140ADB97EC4
1CFA3B0FD72AACB8DBA7B6204A7AC4C2
-----END LICENSE-----

@sudo-nautilus
Copy link

Mac os New License : v4 Build 4133

Screen Shot 2022-07-30 at 16 36 13

thanks to tnt team

----BEGIN LICENSE----- TNT Team Unlimited User License EA7E-2010859462 6C5E525261BC8146AAAC8783279A74F5 57BF1CB0C1944B5517D42C38DB2282F2 E047071E334FEF878FFF09A3BB2B787B 06CE14F6DDAFB7A8C1123C226C250323 B45CC6567A2575668B94A3ACB773D963 ED045D9F798CC023694AF1467FD51C75 B05B81C8B226863915DC1140ADB97EC4 1CFA3B0FD72AACB8DBA7B6204A7AC4C2 -----END LICENSE-----

not working tho

@Destitute-Streetdwelling-Guttersnipe

This works for most of the Sublime Text 4.X x64 (Including 4107) - block the license check via host or patch it out of EXE

RSA Key Patch (allows any key in right format to work)

Search for ...
4157415656575553B828210000
Replace with ...
33C0FEC0C3575553B828210000

Disable License Check (You can do this via hosts file if you rather)

Search for...
6C6963656E73652E7375626C696D6568712E636F6D
Replace with ...
7375626C696D6568712E6C6F63616C686F73740000

You can now use any license basically that follows the same syntax/format/key.

-- BEGIN LICENSE --
Generic Name
Unlimited User License
EA7E-81044230
0C0CD4A8 CAA317D9 CCABD1AC 434C984C
7E4A0B13 77893C3E DD0A5BA1 B2EB721C
4BAAB4C4 9B96437D 14EB743E 7DB55D9C
7CA26EE2 67C3B4EC 29B2C65A 88D90C59
CB6CCBA5 7DE6177B C02C2826 8C9A21B0
6AB1A5B6 20B09EA2 01C979BD 29670B19
92DC6D90 6E365849 4AB84739 5B4C3EA1
048CC1D0 9748ED54 CAC9D585 90CAD815
-- END LICENSE --```

This one still works for ST/SM in Windows. But it needs another patch to stop the "Persistent License Check 1".

@sudo-nautilus
Copy link

yeah that one works

@symokevo
Copy link

symokevo commented Aug 6, 2022

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

Hey! thanks for this one. It worked on parrot sec. os release 5.

@ccambra
Copy link

ccambra commented Aug 7, 2022

I need serial key for linux please. Copy paste only.

@n6333373
Copy link

n6333373 commented Aug 7, 2022

I need serial key for linux please. Copy paste only.

as per your wish, ST 4126 + https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451?permalink_comment_id=4202408#gistcomment-4202408 is the best fit.

@snapfast
Copy link

snapfast commented Aug 8, 2022

This works for Linux Mint as well.
Added direct link, otherwise you have to scroll too much to find it.
https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451?permalink_comment_id=4202408#gistcomment-4202408

@lndkhoa
Copy link

lndkhoa commented Aug 26, 2022

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

This is worked in Windows 11 and MacOS Monterey. Ver: 4126
Thank you very much.

@DeveloperKev
Copy link

macOS 4126 can use this.

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE —— image

is it generated? for macos it is not working.

@n6333373
Copy link

n6333373 commented Aug 27, 2022

is it generated? for macos it is not working.

All ST license works on all platforms except that it's a banned license in later build, which is this case. You can safely assume all leaked license here will be banned soon. But at least it works on 4126.

@DeveloperKev
Copy link

is it generated? for macos it is not working.

All ST license works on all platforms except that it's a banned license in later build, which is this case. You can safely assume all leaked license here will be banned soon. But at least it works on 4126.

any working for build 4134?

@n6333373
Copy link

n6333373 commented Aug 27, 2022

any working for build 4134?

I personal consider this gist no longer updated. You can go https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47

@DeveloperKev
Copy link

DeveloperKev commented Aug 27, 2022

any working for build 4134?

I personal consider this gist no longer updated. You can go https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47

umm, i meant licenses?
tnt custom ones perhaps

@n6333373
Copy link

n6333373 commented Aug 27, 2022

any working for build 4134?

I personal consider this gist no longer updated. You can go https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47

umm, i meant licenses? tnt custom ones perhaps

You should ask the TNT team then. TNT uses pre-cracked binary. Those "invalid" licenses only work on TNT's releases.

@DeveloperKev
Copy link

any working for build 4134?

I personal consider this gist no longer updated. You can go https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47

umm, i meant licenses? tnt custom ones perhaps

You should ask the TNT team then.

how can i contact them?

@n6333373
Copy link

n6333373 commented Aug 27, 2022

how can i contact them?

I don't know.


I do consider it's VERY easy to find cracked ST/SM or recipe on the internet. But if you have various limitations on this like

  • it must provide a license
  • it must be TNT release

then good luck. I doubt that there is ST 4134 released by TNT.


@maboloshi is so kind that he has summed up all information for you and even provide recipes. You can crack it just by copy and paste commands. I don't see why you need TNT's release at this point. TNT's release is more like a blackbox which theoretically is more dangerous even we know TNT has "good" reputation in cracking.

@DeveloperKev
Copy link

how can i contact them?

I don't know.

I do consider it's VERY easy to find cracked ST/SM or recipe on the internet. But if you have various limitations on this like

  • it must provide a license
  • it must be TNT release

then good luck. I doubt that there is ST 4134 released by TNT.

@maboloshi is so kind that he has summed up all information for you and even provide recipes. You can crack it just by copy and paste commands. I don't see why you need TNT's release at this point. TNT's release is more like a blackbox which theoretically is more dangerous even we know TNT has "good" reputation in cracking.

How can i find patch points by myself, using x64dbg and later edit with hex at user level?
can u share some resources or give a start..you're super welcome.

@Destitute-Streetdwelling-Guttersnipe

How can i find patch points by myself, using x64dbg and later edit with hex at user level?
can u share some resources or give a start..you're super welcome.

@DeveloperKev you can learn from this guide https://gist.github.com/opastorello/05f02f902339ebc27ea7f20c1838b066
or from posts of @leogx9r in this gist (such as https://gist.github.com/JerryLokjianming/71dac05f27f8c96ad1c8941b88030451?permalink_comment_id=3762200#gistcomment-3762200). There would be more resources if you search in crack forums.

@vip7rz
Copy link

vip7rz commented Sep 4, 2022

—– BEGIN LICENSE —–
Mifeng User
Single User License
EA7E-1184812
C0DAA9CD 6BE825B5 FF935692 1750523A
EDF59D3F A3BD6C96 F8D33866 3F1CCCEA
1C25BE4D 25B1C4CC 5110C20E 5246CC42
D232C83B C99CCC42 0E32890C B6CBF018
B1D4C178 2F9DDB16 ABAA74E5 95304BEF
9D0CCFA9 8AF8F8E2 1E0A955E 4771A576
50737C65 325B6C32 817DCB83 A7394DFA
27B7E747 736A1198 B3865734 0B434AA5
—— END LICENSE ——

on linux it works, thanks

@omurtay
Copy link

omurtay commented Sep 4, 2022

—– BEGIN LICENSE —–
Mifeng User
Single User License
EA7E-1184812
C0DAA9CD 6BE825B5 FF935692 1750523A
EDF59D3F A3BD6C96 F8D33866 3F1CCCEA
1C25BE4D 25B1C4CC 5110C20E 5246CC42
D232C83B C99CCC42 0E32890C B6CBF018
B1D4C178 2F9DDB16 ABAA74E5 95304BEF
9D0CCFA9 8AF8F8E2 1E0A955E 4771A576
50737C65 325B6C32 817DCB83 A7394DFA
27B7E747 736A1198 B3865734 0B434AA5
—— END LICENSE ——

win10 work, thanks

@ccambra
Copy link

ccambra commented Sep 5, 2022

—– BEGIN LICENSE —–
Mifeng User
Single User License
EA7E-1184812
C0DAA9CD 6BE825B5 FF935692 1750523A
EDF59D3F A3BD6C96 F8D33866 3F1CCCEA
1C25BE4D 25B1C4CC 5110C20E 5246CC42
D232C83B C99CCC42 0E32890C B6CBF018
B1D4C178 2F9DDB16 ABAA74E5 95304BEF
9D0CCFA9 8AF8F8E2 1E0A955E 4771A576
50737C65 325B6C32 817DCB83 A7394DFA
27B7E747 736A1198 B3865734 0B434AA5
—— END LICENSE ——

for linux work, thanks

Thanks friend

@Amos4070
Copy link

Amos4070 commented Sep 9, 2022

—– BEGIN LICENSE —–
Mifeng User
Single User License
EA7E-1184812
C0DAA9CD 6BE825B5 FF935692 1750523A
EDF59D3F A3BD6C96 F8D33866 3F1CCCEA
1C25BE4D 25B1C4CC 5110C20E 5246CC42
D232C83B C99CCC42 0E32890C B6CBF018
B1D4C178 2F9DDB16 ABAA74E5 95304BEF
9D0CCFA9 8AF8F8E2 1E0A955E 4771A576
50737C65 325B6C32 817DCB83 A7394DFA
27B7E747 736A1198 B3865734 0B434AA5
—— END LICENSE ——

This works on ubuntu

@Destitute-Streetdwelling-Guttersnipe

This works everywhere :D but it only works on 4126, not later builds.

@t94xr
Copy link

t94xr commented Sep 25, 2022

—– BEGIN LICENSE —–
Mifeng User
Single User License
EA7E-1184812
C0DAA9CD 6BE825B5 FF935692 1750523A
EDF59D3F A3BD6C96 F8D33866 3F1CCCEA
1C25BE4D 25B1C4CC 5110C20E 5246CC42
D232C83B C99CCC42 0E32890C B6CBF018
B1D4C178 2F9DDB16 ABAA74E5 95304BEF
9D0CCFA9 8AF8F8E2 1E0A955E 4771A576
50737C65 325B6C32 817DCB83 A7394DFA
27B7E747 736A1198 B3865734 0B434AA5
—— END LICENSE ——

This works on ubuntu

Fedora, using stable v4 4126

@n6333373
Copy link

n6333373 commented Oct 1, 2022

I HAVE JUST TRIED IT AND IT IS NOT WORKING. HOWEVER, I ACTIVATED MY SUBLIME TEXT WITH ACTIVATOR. HERE IS FOR THOSE WHO WANT TO DOWNLOAD IT: SUBLIME TEXT ACTIVATOR. IT WORKS WITH ALL SUBLIME BUILDS. P.S IT IS NOT MINE AND I AM JUST SHARING IT HERE.

image

Virus alarm.

@Destitute-Streetdwelling-Guttersnipe

@n6333373 the comment with virus download was deleted. Maybe the OP woke up and nuke it.

@rickallauigan
Copy link

—– BEGIN LICENSE —–
Mifeng User
Single User License
EA7E-1184812
C0DAA9CD 6BE825B5 FF935692 1750523A
EDF59D3F A3BD6C96 F8D33866 3F1CCCEA
1C25BE4D 25B1C4CC 5110C20E 5246CC42
D232C83B C99CCC42 0E32890C B6CBF018
B1D4C178 2F9DDB16 ABAA74E5 95304BEF
9D0CCFA9 8AF8F8E2 1E0A955E 4771A576
50737C65 325B6C32 817DCB83 A7394DFA
27B7E747 736A1198 B3865734 0B434AA5
—— END LICENSE ——

This works on ubuntu

On macOS Monterey as well

Screen Shot 2022-10-17 at 9 57 06 PM

@DeveloperKev
Copy link

—– BEGIN LICENSE —– Mifeng User Single User License EA7E-1184812 C0DAA9CD 6BE825B5 FF935692 1750523A EDF59D3F A3BD6C96 F8D33866 3F1CCCEA 1C25BE4D 25B1C4CC 5110C20E 5246CC42 D232C83B C99CCC42 0E32890C B6CBF018 B1D4C178 2F9DDB16 ABAA74E5 95304BEF 9D0CCFA9 8AF8F8E2 1E0A955E 4771A576 50737C65 325B6C32 817DCB83 A7394DFA 27B7E747 736A1198 B3865734 0B434AA5 —— END LICENSE ——

This works on ubuntu

On macOS Monterey as well

Screen Shot 2022-10-17 at 9 57 06 PM

does it work in ventura?

@cs-mshah
Copy link

Does anyone have the crack for 4142 release? linux.

@maboloshi
Copy link

Does anyone have the crack for 4142 release? linux.

You can try this.

@ShaGrAt-LsD
Copy link

ShaGrAt-LsD commented Nov 10, 2022

For version 4 Build 4142:

Keygen+Patcher for Win64:

https://www7.zippyshare.com/v/fWB3Bb88/file.html

License+patched for Linux Intel X86_64:

https://www54.zippyshare.com/v/1kFKQTHd/file.html

License+patched for Linux ARM64:

https://www28.zippyshare.com/v/PGEUAw0q/file.html

License+patched for MacOS UB (Intel X64 and ARM64/M1/M2):

https://www28.zippyshare.com/v/EQBcUZ6U/file.html

Notes:

  1. On Linux, after unpacking archive with 7zip you might need to make "sublime_text" executable (in case it doesn't run).
  2. You can use keygen on Windows to generate license for Linux/MacOS versions (only for this patched version by X-Force).

@DeveloperKev
Copy link

For version 4 Build 4142:

Keygen+Patcher for Win64:

https://www7.zippyshare.com/v/fWB3Bb88/file.html

License+patched for Linux X64:

https://www54.zippyshare.com/v/1kFKQTHd/file.html

On Linux, after unpacking archive with 7zip you might need to make "sublime_text" executable (in case it doesn't run).

Note: you can use keygen on Windows to generate license for Linux version (only for this patched version by X-Force).

tnx for the virus, x-fucking-force!

@ShaGrAt-LsD
Copy link

ShaGrAt-LsD commented Nov 10, 2022

tnx for the virus, x-fucking-force!

1st: don't be childish.
2nd: there is no virus. If your security tool detect a virus, it's a false positive.. If you don't trust it, run it in a sandbox like a VM or SandBoxie.

@DeveloperKev
Copy link

tnx for the virus, x-fucking-force!

1st: don't be childish. 2nd: there is no virus. If your security tool detect a virus, it's a false positive.. If you don't trust it, run it in a sandbox like a VM or SandBoxie.

yeah, i just tested.
what will you say now?

@ShaGrAt-LsD
Copy link

yeah, i just tested.
what will you say now?

Are you dumb or what?

@DeveloperKev
Copy link

yeah, i just tested.
what will you say now?

Are you dumb or what?

real

@idlpar
Copy link

idlpar commented Nov 10, 2022

For version 4 Build 4142:

Keygen+Patcher for Win64:

https://www7.zippyshare.com/v/fWB3Bb88/file.html

License+patched for Linux X64:

https://www54.zippyshare.com/v/1kFKQTHd/file.html

On Linux, after unpacking archive with 7zip you might need to make "sublime_text" executable (in case it doesn't run).

Screenshot 2022-11-10 185231

Note: you can use keygen on Windows to generate license for Linux version (only for this patched version by X-Force).

Worked Perfectly for me.
Screenshot 2022-11-10 185231

@DeveloperKev
Copy link

For version 4 Build 4142:
Keygen+Patcher for Win64:
https://www7.zippyshare.com/v/fWB3Bb88/file.html
License+patched for Linux X64:
https://www54.zippyshare.com/v/1kFKQTHd/file.html
On Linux, after unpacking archive with 7zip you might need to make "sublime_text" executable (in case it doesn't run).

Screenshot 2022-11-10 185231

Note: you can use keygen on Windows to generate license for Linux version (only for this patched version by X-Force).

Worked Perfectly for me. Screenshot 2022-11-10 185231

r u in linux?

@DeveloperKev
Copy link

share one working license

@ShaGrAt-LsD
Copy link

ShaGrAt-LsD commented Nov 10, 2022

share one working license

If you are not happy with solutions given here you can go to Sublime HQ's shop and buy a legit license.

@DeveloperKev
Copy link

share one working license

If you are not happy with solutions given here you can go to Sublime HQ's shop and buy a legit license.

i had to reinstall my pc for you prick!

@DeveloperKev
Copy link

share one working license

If you are not happy with solutions given here you can go to Sublime HQ's shop and buy a legit license.

why dont u share solution without sharing fking executables that can fk almost anyone by clicks!

@brian6932
Copy link

It's really not that hard to write an xxd script, here's my personal patcher.nu script:

if ('crash_reporter.exe' | path exists) { rm crash_reporter.exe }
if ('update_installer.exe' | path exists) { rm update_installer.exe }
if (not ('sublime_text.exe.old' | path exists)) { mv sublime_text.exe sublime_text.exe.old }
xxd -p sublime_text.exe.old | sd 4157415656575553b828210000 33c0fec0c3575553b828210000 | sd 6c6963656e73652e7375626c696d6568712e636f6d 7375626c696d6568712e6c6f63616c686f73740000 | xxd -r -p | save sublime_text.exe

Now please stop spam bumping this thread, fucking GitHub is sending gist notifs as emails now, and I can't turn it off

@ShaGrAt-LsD
Copy link

It's really not that hard to write an xxd script, here's my personal patcher.nu script:

The other moron could have diff the cracked file vs the genuine one also... but he's too dumb to use brain. Sigh.

@Hazuki-san
Copy link

share one working license

If you are not happy with solutions given here you can go to Sublime HQ's shop and buy a legit license.

why dont u share solution without sharing fking executables that can fk almost anyone by clicks!

you can just crack these by yourself, X-Force Team crack aren't doing any harm at all.

@Destitute-Streetdwelling-Guttersnipe

share one working license

If you are not happy with solutions given here you can go to Sublime HQ's shop and buy a legit license.

why dont u share solution without sharing fking executables that can fk almost anyone by clicks!

you can just crack these by yourself, X-Force Team crack aren't doing any harm at all.

@Hazuki-san did you just put the crack from X-Force Team into your ST-collections repo ?

@Hazuki-san
Copy link

Hazuki-san commented Nov 11, 2022

@Hazuki-san did you just put the crack from X-Force Team into your ST-collections repo ?

of course not, used IDA and compare between 4107 that i had and 4142.

@DeveloperKev
Copy link

virus!

@Destitute-Streetdwelling-Guttersnipe

@Hazuki-san did you just put the crack from X-Force Team into your ST-collections repo ?

of course not, used IDA and compare between 4107 that i had and 4142.

@Hazuki-san you forgot the license_notification :P

@ShaGrAt-LsD
Copy link

ShaGrAt-LsD commented Nov 11, 2022

Added MacOS & Linux ARM64 version to my previous post.

@2021521
Copy link

2021521 commented Nov 11, 2022

Emmm, where can I find the X-Force's patch? I didn't find it from the Google.

Copy link

ghost commented Nov 11, 2022

share one working license

If you are not happy with solutions given here you can go to Sublime HQ's shop and buy a legit license.

why dont u share solution without sharing fking executables that can fk almost anyone by clicks!

If you don't want to hex-edit or use EXEs, you can use my open-source Python patcher for ST Winx64 versions <= 4143: https://github.com/rainbowpigeon/sublime-text-4-patcher/
No valid license is needed, just enter any text instead.

@DeveloperKev
Copy link

share one working license

If you are not happy with solutions given here you can go to Sublime HQ's shop and buy a legit license.

why dont u share solution without sharing fking executables that can fk almost anyone by clicks!

If you don't want to hex-edit or use EXEs, you can use my open-source Python patcher for ST Winx64 versions <= 4143: https://github.com/rainbowpigeon/sublime-text-4-patcher/ No valid license is needed, just enter any text instead.

why dont u share bash scripts?
btw your python patcher seems to be fishy, a single py was enough

@Hazuki-san
Copy link

there's literally only one .py file lmao :trollface: just read and see the code itself

@DeveloperKev
Copy link

there's literally only one .py file lmao :trollface: just read and see the code itself

i meant whole, why?

Copy link

ghost commented Nov 11, 2022

If you don't want to hex-edit or use EXEs, you can use my open-source Python patcher for ST Winx64 versions <= 4143: https://github.com/rainbowpigeon/sublime-text-4-patcher/ No valid license is needed, just enter any text instead.

why dont u share bash scripts? btw your python patcher seems to be fishy, a single py was enough

I’m not familiar with Bash so I used Python.
Yup the single Python file is enough for end-users and it was intended to be this way. Feel free to not download the other files as they are just for development purposes.

@ShaGrAt-LsD
Copy link

Emmm, where can I find the X-Force's patch? I didn't find it from the Google.

Here: https://scnlog.me/apps/win/

@DeveloperKev
Copy link

Emmm, where can I find the X-Force's patch? I didn't find it from the Google.

Here: https://scnlog.me/apps/win/

viruses!

@2021521
Copy link

2021521 commented Nov 11, 2022

Emmm, where can I find the X-Force's patch? I didn't find it from the Google.

Here: https://scnlog.me/apps/win/
tks bro🫡

@ShaGrAt-LsD
Copy link

ShaGrAt-LsD commented Nov 12, 2022

Updated keygen+patch for build 4143 Win64:

https://www82.zippyshare.com/v/9RHh6rdn/file.html

Linux X64 patched+license key:

https://www9.zippyshare.com/v/BBiK5NsL/file.html

@idlpar
Copy link

idlpar commented Nov 16, 2022

Updated keygen+patch for build 4143 Win64:

https://www82.zippyshare.com/v/9RHh6rdn/file.html

Linux X64 patched+license key:

https://www9.zippyshare.com/v/BBiK5NsL/file.html

Thanks Linux Version worked perfectly

@Reelix
Copy link

Reelix commented Nov 17, 2022

https://raw.githubusercontent.com/rainbowpigeon/sublime-text-4-patcher/main/sublime_text_4_patcher.py works well for:

Windows (Sublime Text Build 4143)

Just needs

pip3 install pefile

As a pre-req.

@jsbryans22
Copy link

https://raw.githubusercontent.com/rainbowpigeon/sublime-text-4-patcher/main/sublime_text_4_patcher.py works well for:

Windows (Sublime Text Build 4143)

Just needs

pip3 install pefile

As a pre-req.

Thank you very much for your share! It worked for me: https://prnt.sc/a5xpuuQ8nPsA

@kiufta
Copy link

kiufta commented Nov 22, 2022

Thanks Linux Version worked perfectly

@idlpar May you please reupload at some place?

@kiufta
Copy link

kiufta commented Nov 22, 2022

Or @ShaGrAt-LsD ? Thanks in advance.

@idlpar
Copy link

idlpar commented Nov 23, 2022

Thank you for your suggestion. It worked absolutely fine. See the latest screenshot
Best

@kiufta
Copy link

kiufta commented Nov 24, 2022

@idlpar I thought you were on Linux? Do you still have the Zippyshare file on your hard drive?

@ShaGrAt-LsD
Copy link

@DeveloperKev
Copy link

Re up of Linux version 4143:

https://www93.zippyshare.com/v/0RBcCDoU/file.html

why my pc is showing viruses

@t94xr
Copy link

t94xr commented Nov 26, 2022

Antivirus software aren't very intelligent, they can't interpret code like we can, they just see code - be it in a program legitimately for a good purpose or code in a malicious program, it's safer for everyone if that code is considered malicious than to find out later that it's not, thinking that it's safe. This is what you call a "false positive" - it's incredibly common.

Hell many years ago, I would make ESET Nod32 go insane, after renaming a blank text file to keygen.exe ... It was very amsuing to see it go apeshit over literally nothing when explaining to clients about viruses and threats.

@MasterCATZ
Copy link

MasterCATZ commented Nov 26, 2022

what is the way to patch Linux version ? the key listed here is over 3 years old and is not accepted with current version as it needed upgrading

97 94 0D Changed to 00 00 00

----- 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 ------

@Reelix
Copy link

Reelix commented Nov 26, 2022

https://rapidgator.net/file/0e5e5b017ffc7ae94026040432122235/SUBLIME_TEXT_V4.4143_WIN64.7z.html

This version is not only uploaded to a random site that makes you wait 45 seconds to start downloading, but is 520kb, contains sandbox evasion code, is packed with UPX, alters the registry, and contains multiple other dlls and files - Including the actual 110.5kb file which it subsequently runs to appear legitimate.

The user ShaGrAt-LsD also has 0 public gists, and hasn't committed to Github in at least a year, with no activity since they forked 3 repos at the start of last year.

I personally wouldn't trust this random file.

@DeveloperKev
Copy link

@t94xr @ShaGrAt-LsD
they both are same, providing free viruses!

@Reelix
Copy link

Reelix commented Nov 27, 2022

@t94xr @ShaGrAt-LsD
they both are same, providing free viruses!

@t94xr is clever, and actually has some credibility on Github. It's also true that some AV's do indeed pick up Keygens. The problem is that when it's Keygen + Malware, the AV picks up the first, people disable it, and get hit by the second.

The download did actually have a Keygen (It was about 1/4 the size of the upload) - It just also had malware.

@ShaGrAt-LsD
Copy link

ShaGrAt-LsD commented Nov 27, 2022

https://rapidgator.net/file/0e5e5b017ffc7ae94026040432122235/SUBLIME_TEXT_V4.4143_WIN64.7z.html

This version is not only uploaded to a random site that makes you wait 45 seconds to start downloading,

If one don't like rapidgator he can use the zippyshare link I posted.

but is 520kb, contains sandbox evasion code, is packed with UPX, alters the registry, and contains multiple other dlls and files - Including the actual 110.5kb file which it subsequently runs to appear legitimate.

If you had really look at the exe you'd see there's nothing like sandbox evasion or whatever. It's a simple Nullsoft installer that unpack the dlls and the keygen in temp dir and execute it from there. You can just unpack it with 7zip if you want. The Keygen itself is 110kb and is compiled with GCC, is NOT packed with UPX or any other packer, and is easy to analyze in IDA or Ghidra to see there is no bad code in there.

It just also had malware.

You are simply a liar.

@DeveloperKev
Copy link

but sending malware is not a good thing, we both know.

@kenexllc
Copy link

All the time, try HexEditor, Easy to do that

@ShaGrAt-LsD
Copy link

but sending malware is not a good thing, we both know.

It's easy to compare initial and patched executables to see there is nothing like a malware in X-Force's crack.

@Destitute-Streetdwelling-Guttersnipe
Copy link

@Destitute-Streetdwelling-Guttersnipe
Copy link

@DeveloperKev
Copy link

but sending malware is not a good thing, we both know.

It's easy to compare initial and patched executables to see there is nothing like a malware in X-Force's crack.

didnt i check

@kiufta
Copy link

kiufta commented Dec 1, 2022

@ShaGrAt-LsD the patcher may install a rootkit or backdoor. It's not easy for a normal person to check that.

Maybe this is the wrong place for you.

@t94xr
Copy link

t94xr commented Dec 1, 2022

@ShaGrAt-LsD the patcher may install a rootkit or backdoor. It's not easy for a normal person to check that.

Yeah but given you can actually just read the code
https://raw.githubusercontent.com/rainbowpigeon/sublime-text-4-patcher/main/sublime_text_4_patcher.py
It's clean. Nothing in there that I can see that's malicious.

@Reelix
Copy link

Reelix commented Dec 1, 2022

Nothing in there that I can see that's malicious.

That version is clean - Yes. Their version includes multiple other unrelated files.

@Destitute-Streetdwelling-Guttersnipe
Copy link

@arcanisgk
Copy link

Hello, someone has been able to check if there are bad intentions in the shared files of @ShaGrAt-LsD I have version 4143 installed... how you disable auto-update, alternatively to modify hosts file???

@Destitute-Streetdwelling-Guttersnipe
Copy link

@DeveloperKev
Copy link

Hello, someone has been able to check if there are bad intentions in the shared files of @ShaGrAt-LsD I have version 4143 installed... how you disable auto-update, alternatively to modify hosts file???

definitely

@nqmgaming
Copy link

hi

@Bruskyer
Copy link

Bruskyer commented Dec 7, 2022

@ShaGrAt-LsD the patcher may install a rootkit or backdoor. It's not easy for a normal person to check that.

Yeah but given you can actually just read the code https://raw.githubusercontent.com/rainbowpigeon/sublime-text-4-patcher/main/sublime_text_4_patcher.py It's clean. Nothing in there that I can see that's malicious.

pls can you combine Merge and ST4 together in same py file @t94xr

@DeveloperKev
Copy link

fake ones possible

@QiuChenly
Copy link

Sublime Text Dev channel v4146 Crack without license activation。
JUST FOR INTEL MACOS!
https://github.com/QiuChenly/MyMacsAppCrack

@Destitute-Streetdwelling-Guttersnipe

Sublime Text Dev channel v4146 Crack without license activation。 JUST FOR INTEL MACOS! https://github.com/QiuChenly/MyMacsAppCrack

@maboloshi you can look at this for 4146 patch. You might need to extract the x86_64 part using lipo

@maboloshi
Copy link

@Destitute-Streetdwelling-Guttersnipe Previous binary file comparison, crack ideas and @leogx9r completely different.

@Destitute-Streetdwelling-Guttersnipe
Copy link

@Destitute-Streetdwelling-Guttersnipe Previous binary file comparison, crack ideas and @leogx9r completely different.

@maboloshi This patch just change the initial license check to 6A 00 58 C3, and then use codesign.
I think you can easily find other patch offsets

@maboloshi
Copy link

@Destitute-Streetdwelling-Guttersnipe I don't have a lot of time these days, so I'm going to give it a try when the time comes.

@DeveloperKev
Copy link

@maboloshi i am counting on you.

@Destitute-Streetdwelling-Guttersnipe

what is the way to patch Linux version ? the key listed here is over 3 years old and is not accepted with current version as it needed upgrading

97 94 0D Changed to 00 00 00

----- 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 ------

@MasterCATZ There's a patch for linux at https://gist.github.com/opastorello/4d494d627ec9012367028c89cb7a1945
That one doesn't need the TwitterInc license.

Copy link

ghost commented Jan 30, 2023

Hi, I wrote a patcher for linux, and you guys can use the code and just change the patterns. thanks to everyone for writing the offsets and hex patterns, Subzero](https://github.com/socialfright/subzero), Thanks, I will make one for all OS's but I just wanted to send a proof of concept.

@t94xr
Copy link

t94xr commented Jan 30, 2023

Fyi that link is 404 ??

Copy link

ghost commented Jan 30, 2023

Sorry its on my github page i dont know why the link is not working

Copy link

ghost commented Jan 30, 2023

Fyi that link is 404 ??

github.com/socialfright/subzero i cant get that link to work

@Reelix
Copy link

Reelix commented Jan 30, 2023

The subzero link originally pointed to https://gist.github.com/maboloshi/url which is why it was broken for some people.

https://github.com/socialfright/subzero works properly.

@Aholicknight
Copy link

rapidgator.net/file/0e5e5b017ffc7ae94026040432122235/SUBLIME_TEXT_V4.4143_WIN64.7z.html

This version is not only uploaded to a random site that makes you wait 45 seconds to start downloading, but is 520kb, contains sandbox evasion code, is packed with UPX, alters the registry, and contains multiple other dlls and files - Including the actual 110.5kb file which it subsequently runs to appear legitimate.

The user ShaGrAt-LsD also has 0 public gists, and hasn't committed to Github in at least a year, with no activity since they forked 3 repos at the start of last year.

I personally wouldn't trust this random file.

@Reelix I have analyzed the program on triage, and the sandbox scan can be viewed here.

It's packed with ACProtect + UPX,

@ShaGrAt-LsD
Copy link

rapidgator.net/file/0e5e5b017ffc7ae94026040432122235/SUBLIME_TEXT_V4.4143_WIN64.7z.html

This version is not only uploaded to a random site that makes you wait 45 seconds to start downloading, but is 520kb, contains sandbox evasion code, is packed with UPX, alters the registry, and contains multiple other dlls and files - Including the actual 110.5kb file which it subsequently runs to appear legitimate.
The user ShaGrAt-LsD also has 0 public gists, and hasn't committed to Github in at least a year, with no activity since they forked 3 repos at the start of last year.
I personally wouldn't trust this random file.

@Reelix I have analyzed the program on triage, and the sandbox scan can be viewed here.

It's packed with ACProtect + UPX,

No it's not. It seems it's time to get better tools...

@Aholicknight
Copy link

Aholicknight commented Feb 19, 2023

rapidgator.net/file/0e5e5b017ffc7ae94026040432122235/SUBLIME_TEXT_V4.4143_WIN64.7z.html

This version is not only uploaded to a random site that makes you wait 45 seconds to start downloading, but is 520kb, contains sandbox evasion code, is packed with UPX, alters the registry, and contains multiple other dlls and files - Including the actual 110.5kb file which it subsequently runs to appear legitimate.
The user ShaGrAt-LsD also has 0 public gists, and hasn't committed to Github in at least a year, with no activity since they forked 3 repos at the start of last year.
I personally wouldn't trust this random file.

@Reelix I have analyzed the program on triage, and the sandbox scan can be viewed here.
It's packed with ACProtect + UPX,

No it's not. It seems it's time to get better tools...

firefox_20230215_v4F9CkThI0

I beg to differ @ShaGrAt-LsD
Virus scan here: https://www.joesandbox.com/analysis/1178886

@Destitute-Streetdwelling-Guttersnipe
Copy link

@o-baka
Copy link

o-baka commented Apr 24, 2023

License+patched for Linux ARM64:

This disk seems to be unavailable,can you send me a linux arm64 license?it's so hard to find,thanks

o.baka@hotmail.com

@strotee
Copy link

strotee commented Aug 2, 2023

Untitled

@fredgolightly
Copy link

fredgolightly commented Aug 3, 2023

@strotee

Untitled

Hex patches?

@strotee
Copy link

strotee commented Aug 3, 2023

https://pastebin.com/raw/KywbN0xV
Same instructions for 4152. These work for portable x64, btw.

@jsbryans22
Copy link

https://pastebin.com/raw/KywbN0xV Same instructions for 4152. These work for portable x64, btw.

Thank you but for me is not working. I tried but I cannot find it.. on
image

@strotee
Copy link

strotee commented Aug 4, 2023

It works. Start with a clean, portable source, when you search in HxD, click on the Hex tab. After you search for & replace the two values, then save the file in HxD and exit and open the file. Click on Help then Enter License, copy/paste the license (altering the [Enter your name] with your name). It's going to attempt to connect so that's why having a firewall (Simplewall) is crucial.

@nopeitsnothing
Copy link

No it's not. It seems it's time to get better tools...

Sorry, are you actually trying to claim that you accidentally have multiple IoC's, and that it was due to changing some hex bytes?

@jsbryans22
Copy link

It works. Start with a clean, portable source, when you search in HxD, click on the Hex tab. After you search for & replace the two values, then save the file in HxD and exit and open the file. Click on Help then Enter License, copy/paste the license (altering the [Enter your name] with your name). It's going to attempt to connect so that's why having a firewall (Simplewall) is crucial.

I don't use portable one.. for normal installed sublime you don't have the solve?

@fredgolightly
Copy link

iN hXd if I search/find it find the strings but if I Replace it can't find the second line. Manually typing the code over the string still says unregistered.

@Hazuki-san
Copy link

Hazuki-san commented Aug 6, 2023

4152 hex (Windows x64/leogx9r's method):
E8 17 FE 20 00 49 8B 96 B8 02 00 00 48 8D 0D 35 0C 00 00 41 B8 98 3A 00 00 E8 FE FD 20 00 4C 89 -> 90 90 90 90 90 49 8B 96 B8 02 00 00 48 8D 0D 35 0C 00 00 41 B8 98 3A 00 00 90 90 90 90 90 4C 89 (Invalidation/Validation Functions)
30 5E C3 E9 66 25 00 00 55 41 57 41 56 41 55 41 -> 30 5E C3 E9 66 25 00 00 48 31 C0 C3 56 41 55 41 (License Validity Checking)
F5 FF 90 48 83 C4 30 5B 5F 5E 41 5E 5D C3 55 56 57 48 83 EC 30 48 8D 6C -> F5 FF 90 48 83 C4 30 5B 5F 5E 41 5E 5D C3 48 31 C0 48 FF C0 C3 48 8D 6C (Server Validation Thread)

After patch just enter anything to license and it should work.

@fredgolightly
Copy link

F5 FF 90 48 83 C4 30 5B 5F 5E 41 5E 5D C3 55 56 57 48 83 EC 30 48 8D 6C -> F5 FF 90 48 83 C4 30 5B 5F 5E 41 5E 5D C3 55 56 57 48 83 EC 30 48 8D 6C (Server Validation Thread) these are the same values

@Hazuki-san
Copy link

Hazuki-san commented Aug 7, 2023

@fredgolightly I'm sorry, my copy/paste system probably had some hiccups.

F5 FF 90 48 83 C4 30 5B 5F 5E 41 5E 5D C3 55 56 57 48 83 EC 30 48 8D 6C -> F5 FF 90 48 83 C4 30 5B 5F 5E 41 5E 5D C3 48 31 C0 48 FF C0 C3 48 8D 6C

@Destitute-Streetdwelling-Guttersnipe
Copy link

@dansemal
Copy link

dansemal commented Aug 9, 2023

https://pastebin.com/raw/KywbN0xV Same instructions for 4152. These work for portable x64, btw.

Thank you but for me is not working. I tried but I cannot find it.. on image

this is work for me sublime text 4152 https://github.com/N1ght420/Sublime-Patch

@jsbryans22
Copy link

https://pastebin.com/raw/KywbN0xV Same instructions for 4152. These work for portable x64, btw.

Thank you but for me is not working. I tried but I cannot find it.. on image

this is work for me sublime text 4152 https://github.com/N1ght420/Sublime-Patch

Thank you very much is worked perfectly
image

@Aholicknight
Copy link

this is work for me sublime text 4152 https://github.com/N1ght420/Sublime-Patch

It seems like the Pastebin link was deleted. Incase this GitHub repo gets deleted, I moved the readme onto this site so it won't get deleted: https://go.0xfc.de/wrcy2j

@Aholicknight
Copy link

sublime text v4152-patch_20230814_mgY9o6Pdcw

I have also created a patcher from the GitHub repo https://github.com/N1ght420/Sublime-Patch incase you do not know how to use a hex editor. This patcher was created with dUP2, and also includes the setup. The patch.rar archive password is 123

Virustotal for patcher is here

Virustotal for patcher + setup is here

Download: https://www.mirrored.to/files/0LBL9JOI/Sublime_Text_v4152_x64___Patch_0.rar_links

Enjoy!

@Destitute-Streetdwelling-Guttersnipe

@Aholicknight Virustotal result for the patcher looks scary : 44 security vendors and 1 sandbox flagged this file as malicious

@Aholicknight
Copy link

Aholicknight commented Aug 12, 2023

@Aholicknight Virustotal result for the patcher looks scary : 44 security vendors and 1 sandbox flagged this file as malicious

@Destitute-Streetdwelling-Guttersnipe It shows 44 flags because I created the patcher with dup2, a very popular patcher that scene groups use, which is available here

This patcher also makes no internet connections, does not interact or even open any other files on the computer except the target exe (sublime text).

If you still do not trust me that it's just false positives I also uploaded the patcher on JoeSandbox, which can be seen here: https://www.joesandbox.com/analysis/1290344

@Destitute-Streetdwelling-Guttersnipe

@Aholicknight Virustotal result for the patcher looks scary : 44 security vendors and 1 sandbox flagged this file as malicious

@Destitute-Streetdwelling-Guttersnipe It shows 44 flags because I created the patcher with dup2, a very popular patcher that scene groups use, which is available here

This patcher also makes no internet connections, does not interact or even open with any other files on the computer except the target exe (sublime text).

If you still do not trust me that it's just false positives I also uploaded the patcher on JoeSandbox, which can be seen here: https://www.joesandbox.com/analysis/1290344

@Aholicknight I prefer to patch in web browser (without download or run anything) like this https://destitute-streetdwelling-guttersnipe.github.io/RomPatcher.js/#{"PATCHER":[{"name":"sublime_text_4154","file":"data:;base64,VVBTMQAgboMAIG6D+pUXwPqVF8AybecD"}]}

@strotee
Copy link

strotee commented Sep 18, 2023

Copy link

ghost commented Sep 19, 2023

If anyone is on windows or linux, I made a simple patcher in python for 4152 (stable). https://github.com/socialfright/subzerox
Linux is untested.

@strotee
Copy link

strotee commented Nov 6, 2023

4160 is out and the resolution for its crack is the same as I posted on 9/18.

@xovtar
Copy link

xovtar commented Nov 8, 2023

Im working with Ubuntu 22.04.3 and currently every which way i have tried to replace the file or put the new one in it has failed. Not sure if its just an Ubuntu thing or if i just need to crack the lock on the read only folder that sublime_text is stored or if there is a different location. (I have even tried changing the permissions of the folder but it says its already a read-write, but also tells me its a read only when i try changing permissions via terminal)

@duckimann
Copy link

@xovtar what about change user to root then replace the file?

@n6333373
Copy link

n6333373 commented Nov 25, 2023

So for Linux/Windows x64, I have created a Sublime Text 4 plugin which can patch itself.
Tested working on Sublime Text latest stable/dev build: 4168/4169

https://github.com/n6333373/warehouse/raw/main/SelfPatcher.zip

Quick Demo

dev.mp4
stable.mp4

@Kinjosa
Copy link

Kinjosa commented Nov 27, 2023

will you have a release for the new update version 4166 linux ?

@janabil
Copy link

janabil commented Dec 1, 2023

So for Linux/Windows x64, I have created a Sublime Text 4 plugin which can patch itself. Tested working on Sublime Text latest stable/dev build: 4168/4169

https://github.com/n6333373/warehouse/raw/main/SelfPatcher.zip

Quick Demo

thanks Mate works like charm in both linux and windows 11

@Reelix
Copy link

Reelix commented Dec 1, 2023

If I were people, I'd rather avoid a compiled DLL from someone who created their first repo a week ago and wait for an open-source version.

@Hazuki-san
Copy link

4169 hex (Windows x64/leogx9r's method):
E8 93 58 20 00 49 8B 96 B8 02 00 00 48 8D 0D 5D 0C 00 00 41 B8 98 3A 00 00 E8 7A 58 20 00 -> 90 90 90 90 90 49 8B 96 B8 02 00 00 48 8D 0D 5D 0C 00 00 41 B8 98 3A 00 00 90 90 90 90 90 (Invalidation/Validation Functions)
E4 24 00 00 55 41 57 41 56 41 55 41 -> E4 24 00 00 48 31 C0 C3 56 41 55 41 (License Validity Checking)
55 56 57 48 83 EC 30 48 8D 6C 24 30 48 C7 45 F8 FE FF FF FF 89 D6 48 89 CF 6A 28 -> 48 31 C0 48 FF C0 C3 48 8D 6C 24 30 48 C7 45 F8 FE FF FF FF 89 D6 48 89 CF 6A 28 (Server Validation Thread)

After patch just enter anything to license and it should work.

@0x337
Copy link

0x337 commented Dec 2, 2023

4169 hex (Windows x64/leogx9r's method): E8 93 58 20 00 49 8B 96 B8 02 00 00 48 8D 0D 5D 0C 00 00 41 B8 98 3A 00 00 E8 7A 58 20 00 -> 90 90 90 90 90 49 8B 96 B8 02 00 00 48 8D 0D 5D 0C 00 00 41 B8 98 3A 00 00 90 90 90 90 90 (Invalidation/Validation Functions) E4 24 00 00 55 41 57 41 56 41 55 41 -> E4 24 00 00 48 31 C0 C3 56 41 55 41 (License Validity Checking) 55 56 57 48 83 EC 30 48 8D 6C 24 30 48 C7 45 F8 FE FF FF FF 89 D6 48 89 CF 6A 28 -> 48 31 C0 48 FF C0 C3 48 8D 6C 24 30 48 C7 45 F8 FE FF FF FF 89 D6 48 89 CF 6A 28 (Server Validation Thread)

After patch just enter anything to license and it should work.

Thanks man, it works perfectly.

@Destitute-Streetdwelling-Guttersnipe
Copy link

Destitute-Streetdwelling-Guttersnipe commented Dec 7, 2023 via email

@fulicat
Copy link

fulicat commented Dec 7, 2023

4169 hex (Windows x64/leogx9r's method): E8 93 58 20 00 49 8B 96 B8 02 00 00 48 8D 0D 5D 0C 00 00 41 B8 98 3A 00 00 E8 7A 58 20 00 -> 90 90 90 90 90 49 8B 96 B8 02 00 00 48 8D 0D 5D 0C 00 00 41 B8 98 3A 00 00 90 90 90 90 90 (Invalidation/Validation Functions) E4 24 00 00 55 41 57 41 56 41 55 41 -> E4 24 00 00 48 31 C0 C3 56 41 55 41 (License Validity Checking) 55 56 57 48 83 EC 30 48 8D 6C 24 30 48 C7 45 F8 FE FF FF FF 89 D6 48 89 CF 6A 28 -> 48 31 C0 48 FF C0 C3 48 8D 6C 24 30 48 C7 45 F8 FE FF FF FF 89 D6 48 89 CF 6A 28 (Server Validation Thread)

After patch just enter anything to license and it should work.

It's works, thx

@vodiylik
Copy link

vodiylik commented Dec 10, 2023

So for Linux/Windows x64, I have created a Sublime Text 4 plugin which can patch itself. Tested working on Sublime Text latest stable/dev build: 4168/4169

https://github.com/n6333373/warehouse/raw/main/SelfPatcher.zip

Quick Demo

I've installed this plugin, but this menu item is inactive, I ca'nt press. What I need to do?

OS: Pop!_OS 20.04

@n6333373
Copy link

So for Linux/Windows x64, I have created a Sublime Text 4 plugin which can patch itself. Tested working on Sublime Text latest stable/dev build: 4168/4169
https://github.com/n6333373/warehouse/raw/main/SelfPatcher.zip

Quick Demo

I've installed this plugin, but this menu item is inactive, I ca'nt press. What I need to do?

OS: Pop!_OS 20.04

One possibility is that it the place it should be placed is Menu > Preferences > Browse Packages... rather than the Packages folder which lives aside sublime_text.

@vodiylik
Copy link

So for Linux/Windows x64, I have created a Sublime Text 4 plugin which can patch itself. Tested working on Sublime Text latest stable/dev build: 4168/4169
https://github.com/n6333373/warehouse/raw/main/SelfPatcher.zip

Quick Demo

I've installed this plugin, but this menu item is inactive, I can't press. What I need to do?
OS: Pop!_OS 20.04

One possibility is that it the place it should be placed is Menu > Preferences > Browse Packages... rather than the Packages folder which lives aside sublime_text.

Thank you for your answer. But I found a better method:

sudo sed -i 's/\x80\x78\x05\x00\x0f\x94\xc1/\xc6\x40\x05\x01\x48\x85\xc9/g' /opt/sublime_text/sublime_text

@Destitute-Streetdwelling-Guttersnipe

@vodiylik you should also prevent ST from notifying its server about your ST.

@diwasrimal
Copy link

Do we have something for macOS build 4169?

@defencedog
Copy link

defencedog commented Dec 14, 2023

So for Linux/Windows x64, I have created a Sublime Text 4 plugin which can patch itself. Tested working on Sublime Text latest stable/dev build: 4168/4169
https://github.com/n6333373/warehouse/raw/main/SelfPatcher.zip

Quick Demo

I've installed this plugin, but this menu item is inactive, I ca'nt press. What I need to do?
OS: Pop!_OS 20.04

One possibility is that it the place it should be placed is Menu > Preferences > Browse Packages... rather than the Packages folder which lives aside sublime_text.

Success
@pop-os:/opt/sublime_text$ sudo ./sublime_text
while its open in admin mode. Preferences > Browse Packages
Folder will open ...paste SelfPatch folder here.
Navigate back to Sublime. Help > Patch this application
Restart sublime [relaunch normally]

@JavaTryCatchMe
Copy link

I really hope no one is using that self patcher package. Hopefully @defencedog and @janabil are fake GH accounts (given lack of any real activity / loc) but if not almost certainly screwed as is @vodiylik . The binary uses TBF https://github.com/secretsquirrel/the-backdoor-factory possible to do legit patching with it? Sure. Are there far easier methods that don't use a literal backdoor kit? yes.

@Aholicknight
Copy link

I really hope no one is using that self patcher package. Hopefully @defencedog and @janabil are fake GH accounts (given lack of any real activity / loc) but if not almost certainly screwed as is @vodiylik . The binary uses TBF github.com/secretsquirrel/the-backdoor-factory possible to do legit patching with it? Sure. Are there far easier methods that don't use a literal backdoor kit? yes.

@JavaTryCatchMe do you have any proof or links you can provide if they have been using TBF?

@defencedog
Copy link

defencedog commented Apr 7, 2024

@JavaTryCatchMe we are not fakes! Maybe some PC knowledge is required to understand how to apply patch

@t94xr
Copy link

t94xr commented Apr 7, 2024

The patch is legit, I've used it on Linux and Windows and it works.

@JavaTryCatchMe
Copy link

@JavaTryCatchMe we are not fakes! Maybe some PC knowledge is required to understand how to apply patch

The patch is legit, I've used it on Linux and Windows and it works.

it is not hard to apply the patch. I am not even saying it doesn't work. Plenty of malware disguises itself as something legitimate and may even do that legitimate thing (or in this case the act of cracking the application). Plenty also does not do anything suspect for some period of time, or even for most users only phoning home with some basic information and to wait to see if it should do something else or run something truly malicious.

What I am saying is you are running closed source binary executable code in full trust situations on your system from a stranger. I am saying that the binary itself has code in it from "The Backdoor Factory" linked above, that is a toolkit primarily used for remote code execution and root kits.

It is not impossible that code is used in a non-nefarious way but there are also plenty of ways not to use it.

If (hopefully) ones suspect level of random strangers binaries is a 8/10 by default and then that binary has ties with a known backdoor maybe think twice about running it...

@n6333373
Copy link

n6333373 commented Apr 8, 2024

@JavaTryCatchMe

I am the author of SelfPatcher. Please do share the proof you've found that my patcher uses TBF github.com/secretsquirrel/the-backdoor-factory. That would be interesting.

The only 3rd-party lib I used is https://github.com/secretsquirrel/SigThief whose code is fairly short and I believe it doesn't use TBF. I believe I don't I use TBF for sure. The only thing left is https://github.com/Nuitka/Nuitka which I used to compile my module into .pyd/.so files. I don't believe it uses TBF for sure (otherwise, a big news).


Fwiw, people are less active here. https://gist.github.com/maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47 is much more active. Actually, SelfPatcher is open-source to some of trusted cracker there, but you don't have to believe me.

@JavaTryCatchMe
Copy link

First, sorry @Aholicknight sorry I missed your initial comment requesting what I found related to TBF. I saw the defencedog notification and the reply after that, and didn't scroll back far enough.

@n6333373 if I made a mistake, and spending some more time in IDA it is likely so, I apologize. After being pointed to the plugin I noticed the binary distribution which was a bit odd, rather than just the dependencies/tools. I spent about 10 minutes looking for anything horrific originally. It involving compiled python always adds a layer of abstraction. There wasn't anything obvious. There were no obvious network imports but these things can be hidden.

Only a spurious comment about code from BDF.

image

This paired with the one obvious link as well in the code of "https://github.com/sponsors/secretsquirrel" which first and foremost talks about their primary project of the Back Door Factory and malware related topics.

Again this was a dozen minutes reviewing a suspect random binary in an area where things can often be fraught with malicious code. It wasn't run, there was no deep analysis.

So of course with the comments I went back and took some more time.

As I see it now now:

  • After running the extension sandboxed and reviewing the changes made to the assembly on the main executable there is almost certainly no malicious changes made.

  • The references I found, while existed, clearly were not from the BDF library but the SigThief library @n6333373 mentioned. Specifically https://github.com/secretsquirrel/SigThief/blob/ffb501bcd86acd439e4458a33e9fc5ebed4b59a8/sigthief.py#L14 . SigTheif doesn't do anything malicious only transfer signatures between PEBs and is not used in a malicious way here.

  • There are no other signs of anything malicious, network connections, etc. This isn't a full breakdown but again with a deeper dive than a glancing pass. Can things hide through something like this? Sure but is it likely here? no. I will note I only looked at the windows binary and not the linux library.

As I said at the top and will say it again now, I was almost certainly wrong. @n6333373 is quite believable and I am sorry for the hasty conclusions I initially made.

@iblissstudent
Copy link

4169 hex (Windows x64/leogx9r's method): E8 93 58 20 00 49 8B 96 B8 02 00 00 48 8D 0D 5D 0C 00 00 41 B8 98 3A 00 00 E8 7A 58 20 00 -> 90 90 90 90 90 49 8B 96 B8 02 00 00 48 8D 0D 5D 0C 00 00 41 B8 98 3A 00 00 90 90 90 90 90 (Invalidation/Validation Functions) E4 24 00 00 55 41 57 41 56 41 55 41 -> E4 24 00 00 48 31 C0 C3 56 41 55 41 (License Validity Checking) 55 56 57 48 83 EC 30 48 8D 6C 24 30 48 C7 45 F8 FE FF FF FF 89 D6 48 89 CF 6A 28 -> 48 31 C0 48 FF C0 C3 48 8D 6C 24 30 48 C7 45 F8 FE FF FF FF 89 D6 48 89 CF 6A 28 (Server Validation Thread)

After patch just enter anything to license and it should work.

Thank you so much!!!!

@scryptio
Copy link

@n6333373
fun fact, you could simply provide the source to make it more trusted. If it's using posted methods and just automates it, no reason not to. We are on github already.

@n6333373
Copy link

n6333373 commented Apr 23, 2024

@n6333373
fun fact, you could simply provide the source to make it more trusted. If it's using posted methods and just automates it, no reason not to. We are on github already.

Well. I don't care whether you trust it or not. Make your decision. Or buy a license = 100% safe. I have a legit license seriously. I do this for fun.

@n6333373
Copy link

Fwiw, people are less active here. maboloshi/feaa63c35f4c2baab24c9aaf9b3f4e47 is much more active. Actually, SelfPatcher is open-source to some of trusted cracker there, but you don't have to believe me.

I also provided discussion link there. If you don't trust it, do patch by yourself manually.

@Destitute-Streetdwelling-Guttersnipe
Copy link

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