Developer Daeken, of Reswitched team, has released CageTheUnicorn, CTU for short. CTU is a Nintendo Switch emulator designed to debug the console’s firmware.
Before you jump to the roof, CTU is not a full fledged Nintendo Switch emulator, in that it does not play games. It’s not its intent. The tool was designed to help look for vulnerabilities on the console. From the readme:
CTU is a debugging emulator for the Nintendo Switch. That means that it does not and will not play games. In fact, it has no support for graphics, sound, input, or any kind of even remotely performant processing. This is all by design.
With CTU, you can run entire Switch sysmodules or applications, trace and debug the code, test exploits, fuzz, and more.
In a way this reminds me a lot of things such as psplink we had on the PSP. However PSPLink was not an emulator, rather it was a debugger that one could connect to their PSP in order to do such analysis.
Here, with the whole thing running on your PC, you have even more flexibility to start fuzzing or analyzing crashes.
I personally have used it to debug all of the sysmodule ROP I’ve written while developing for the system — I highly recommend anyone interested in switch RE check it out! It’s an insanely useful tool.
Now, even though it is not an “emulator” in many people’s eyes, Daeken has stated that it could be considered as a good base for a team willing to write an actual Switch emulator. It would be “interesting” to see a Switch emulators playing games so early in the console’s life cycle.
The installation is straightforward (you’ll need Python and the Unicorn CPU emulator framework – details and links available in the project’s readme).
However you’ll need to load modules/binaries extracted from the console (I assume, with Pegaswitch running on a hacked console) onto your computer, which I guess is a good entry test of who’s “worthy” of using the tool 🙂