Stop-Process -Name "sublime_text" -Force -ErrorAction SilentlyContinue Set-Location -Path "C:\Program Files\Sublime Text" -ErrorAction Stop $hash = Get-FileHash .\sublime_text.exe -Algorithm MD5 if ($hash.Hash -ne "671B865FBDE25CDCBD0144D3E7BAEA31") { exit } function Write-Bytes { param ( [string]$file, [int64]$offset, [byte[]]$bytes ) $stream = [System.IO.File]::Open($file, [System.IO.FileMode]::Open, [System.IO.FileAccess]::Write) $stream.Seek($offset, [System.IO.SeekOrigin]::Begin) > $null $stream.Write($bytes, 0, $bytes.Length) $stream.Close() } Write-Bytes -file "C:\Program Files\Sublime Text\sublime_text.exe" -offset 0x000318AA -bytes @(0x90, 0x90, 0x90, 0x90, 0x90) # invalidate1 Write-Bytes -file "C:\Program Files\Sublime Text\sublime_text.exe" -offset 0x000318C3 -bytes @(0x90, 0x90, 0x90, 0x90, 0x90) # invalidate2 Write-Bytes -file "C:\Program Files\Sublime Text\sublime_text.exe" -offset 0x000A85E5 -bytes @(0x48, 0x31, 0xC0, 0xC3) # license_notification Write-Bytes -file "C:\Program Files\Sublime Text\sublime_text.exe" -offset 0x000A891C -bytes @(0x48, 0x31, 0xC0, 0xC3) # license_check.2 Write-Bytes -file "C:\Program Files\Sublime Text\sublime_text.exe" -offset 0x000AA0DC -bytes @(0x48, 0x31, 0xC0, 0x48, 0xFF, 0xC0, 0xC3) # server_validate_4199_4200 Write-Output "Modifications complete."