Skip to content
Somebody Whoisbored edited this page Apr 13, 2023 · 4 revisions

What is exlaunch?

exlaunch is a framework to inject C/C++ programs into Switch processes and extend them. It provides various utilities to help with this.

Before you get started:

It's worth noting that decent experience with C++ and reverse engineering very much benefits from getting the most out of this framework.

This page is a good reference to get familiar with C++ compiler output and it's quirks, although there is not a good single reference on jumping into reverse engineering given C++ experience.

An introduction page is provided to provide a general gist of what you need to know about exlaunch to get started.

Features:

  • Hooking of functions
    • Replacement hooks, which completely replace the original function
    • Trampoline hooks, which preserve the orignal function and can be called at any time
    • Inline hooks, which can be applied in the middle of functions and allow programmic access to the registers.
  • Raw code/data patching
  • Constexpr armv8 assembler libary, supports common instructions for patching
  • Lightweight but well documented nnSdk headers (can only be used when the nnSdk is present in your process)
  • Basic kernel interop support
  • and various other utilities
Clone this wiki locally