Ghidra scripts to help with 3ds reverse engineering
Go to file
2022-02-04 07:21:57 -06:00
.gitignore Initial commit 2022-01-07 22:39:05 -06:00
ctr_services.py Initial commit 2022-01-07 22:39:05 -06:00
ghidra_utils.py Initial commit 2022-01-07 22:39:05 -06:00
Label3dsCTRFns.py Fix bad arg message 2022-02-04 07:21:46 -06:00
Label3dsHandles.py Add bad arg check 2022-02-04 07:21:57 -06:00
Label3dsSVCs.py Initial commit 2022-01-07 22:39:05 -06:00
README.md Add running order to readme 2022-01-08 08:44:50 -06:00
Set3dsTlsType.py Initial commit 2022-01-07 22:39:05 -06:00

3ds Ghidra Scripts

These are ghidra scripts to help with 3ds reverse engineering.

Features:

  • Labels, comments (when inlined), and bookmarks svc use
  • Labels service handles, given ctr::srv::GetServiceHandleDirect
  • Labels IPC functions and uses handles to better identify functions
  • Adds ThreadLocalStorage and types thread local storage
  • Renames thread local storage to 'tls'

These have been built over time for my personal use as needs came up, so results may vary and improvements can be made. If you run into a situation where these don't work as intended, I would happily accept a PR.

Running order

My preferred order to run these is:

  1. Label svcs
  2. Label handles
  3. Label ipc functions
  4. Set tls type

Credits

Thanks to: