https://github.com/kynex7510/3ds_ida
IDA Pro resources for 3DS reverse engineering
https://github.com/kynex7510/3ds_ida
3ds 3ds-homebrew ida-pro python3 reverse-engineering
Last synced: 2 months ago
JSON representation
IDA Pro resources for 3DS reverse engineering
- Host: GitHub
- URL: https://github.com/kynex7510/3ds_ida
- Owner: kynex7510
- License: mit
- Created: 2023-05-24T09:34:56.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-08-16T09:06:20.000Z (7 months ago)
- Last Synced: 2025-08-16T10:25:15.738Z (7 months ago)
- Topics: 3ds, 3ds-homebrew, ida-pro, python3, reverse-engineering
- Language: Python
- Homepage:
- Size: 137 KB
- Stars: 26
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 3ds_ida
IDA Pro 7.6+ resources for reverse engineering Nintendo 3DS binaries.
## Setup
[Python 3.6+](https://www.python.org/) is required.
### Loader
Copy `ctr_loader.py` in `{IDA_PATH}/loaders`.
`ctr_loader.py` support the following formats:
- Raw: the binary must be named `code.bin`. An external exheader binary is required, else the user will be asked to provide any information.
- ExeFS: the binary name must end with the `exefs` extension and must contain a `.code` file. An external exheader binary is required, else the user will be asked to provide any information.
- CXI: the binary must be decrypted and it must contain an ExeFS with a `.code` file.
### Types
`File -> Load file -> Parse C header file...`, then select `types.h`.
### Plugins
Capstone is required:
```
python -m pip install capstone==5.0.3
```
Launch each script with `File -> Script file`.
- `find_syscalls.py`: find each function that uses syscalls, optionally renaming wrappers and functions that call `svcSendSyncRequest`.
- `fix_decomp.py`: fix special instructions decompilation. Types must be loaded.
- `setup_switches.py`: setup switch idioms.
- `make_ips_patch.py`: generate an IPS file from IDA patches that can be loaded in [luma](https://github.com/LumaTeam/Luma3DS).