Skip to content

Instantly share code, notes, and snippets.

@lc-at
Created May 15, 2026 07:45
Show Gist options
  • Select an option

  • Save lc-at/cdfb49167cdcd98051ec2963d8ad7719 to your computer and use it in GitHub Desktop.

Select an option

Save lc-at/cdfb49167cdcd98051ec2963d8ad7719 to your computer and use it in GitHub Desktop.
Change burp suite splash screen
# ref: https://bugbounty.zip/Share/burp-splash-prompts.html
import struct
import os
assert os.path.exists('BurpSuite.exe.bak'), 'Make backup first, want BurpSuite.exe.bak'
with open('BurpSuite.exe', 'rb') as f:
burp_exe = f.read()
offset = 0
while True:
offset = burp_exe.find(bytes.fromhex('89504E470D0A1A0A'), offset)
data = burp_exe[offset:]
assert len(data) > 0, 'Splash offset not found'
width, height = struct.unpack('>II', data[16:24])
print(width, height)
if width == 912 and height == 510:
break
offset += 8
print('[+] splash offset:', offset)
with open('splash.png', 'rb') as f:
splash_png = f.read()
slot_sz = 186864
splash_sz = len(splash_png)
assert splash_sz < slot_sz, 'Splash too big'
padding = b'\x00' * (slot_sz - splash_sz)
with open('original.png', 'wb') as f:
f.write(burp_exe[offset:offset+splash_sz])
patched_burp_exe = burp_exe[:offset] + splash_png + padding + burp_exe[offset+slot_sz:]
assert len(patched_burp_exe) == len(burp_exe)
with open('BurpSuite.exe', 'wb') as f:
f.write(patched_burp_exe)
print('[+] Patched BurpSuite.exe')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment