Debugging Shellcode with SCLauncher and WinDBG

· 11:09 · Watch on YouTube ↗

Summary

A tutorial demonstrates using SCLauncher with WinDBG and X32 to load shellcode, attach a debugger, set breakpoints, inspect memory, and step through execution.

Key points

  • SCLauncher can load shellcode into allocated writable, readable, and executable memory and execute it.
  • The tutorial shows how to select an entry-point offset when shellcode does not begin at the start of the file.
  • Using SCLauncher’s pause option lets the user attach a debugger before execution begins.
  • The presenter demonstrates attaching WinDBG to the process, setting a breakpoint at the allocation base, and inspecting memory.
  • SCLauncher can insert a software breakpoint into the shellcode; the tutorial notes that debugger behavior may vary.
  • The demonstrated shellcode is described as a basic template whose functions lack required arguments.

Article Details

Topics
  • [00:16] Debugging shellcode and the debuggers used
  • [00:49] SCLauncher options for loading, wrapping, and executing shellcode
  • [01:47] Shellcode arguments, entry points, and memory allocation
  • [03:20] Using breakpoints and pausing execution to attach a debugger
  • [05:05] Attaching WinDBG, setting a breakpoint, and inspecting memory
  • [07:52] SCLauncher-inserted breakpoints and launching it from the debugger

People

Tools