You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/BUILDING.md
+11-3Lines changed: 11 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
1
# Building
2
+
2
3
The decomp toolchain was created for Linux & MacOS users. While it isn't a hard requirement, if you're running Windows its advised that you [setup WSL](https://learn.microsoft.com/en-us/windows/wsl/install) with an Ubuntu-like distro for the easiest setup.
3
4
4
5
The instructions below assume you're running a form of Linux (WSL or native).
@@ -8,7 +9,7 @@ The instructions below assume you're running a form of Linux (WSL or native).
8
9
* Python 3.6 or newer with [pip](https://pip.pypa.io/en/stable/installation/)
9
10
* Ninja
10
11
* CMake 3.13+
11
-
* If you are on Ubuntu 18.04, you must
12
+
* If you are on Ubuntu 18.04, you must
12
13
first [update CMake by using the official CMake APT repository](https://apt.kitware.com/).
13
14
* ccache (to speed up builds)
14
15
* llvm-objdump
@@ -40,9 +41,16 @@ Additionally, you'll also need:
40
41
41
42
2. Run `git submodule update --init --recursive`
42
43
43
-
Next, you'll need to acquire the **original v1.0.17 `main` NSO executable**.
44
+
3. Acquire the **original v1.0.17 `main` NSO executable**.
45
+
1. Acquire an NSP dump of v1.0.17. [Dumping guide](https://zeldamods.org/wiki/Help:Dumping_games#Switch)
46
+
2. Setup [hactool](https://github.com/SciresM/hactool) and configure your dumped `title.keys`.
47
+
3. Run `hactool [path to the NSP] -t pfs0 --outdir=extracted`.
48
+
4.`cd` into `extracted`.
49
+
5. Find the largest NCA.
50
+
6. Run `hactool [path to largest NCA] -t nca --exefsdir=exefs`
51
+
7.`exefs/main` is the NSO.
44
52
45
-
3. Run `tools/setup.py [path to the NSO]`
53
+
4. Run `tools/setup.py [path to the NSO]`
46
54
* This will:
47
55
* install tools/check to check for differences in decompiled code
Copy file name to clipboardExpand all lines: docs/CONTRIBUTING.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
1
# Contributing
2
+
2
3
As this project is in its very early stages, its hard to put guidelines on something that will evolve over time as contributors gain a better understanding of the game's internals.
3
4
4
5
While almost all source paths aren't known, a few .cpp file names do appear in the Wii U Edition's global static constructors, along with a couple asserts giving file paths. Follow these file names wherever possible.
Copy file name to clipboardExpand all lines: docs/DECOMPILERS.md
+6-3Lines changed: 6 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,17 @@
1
1
# Decompilers
2
2
3
3
## IDA Pro
4
-
1. Install `nxo64.py` from `reswitched/loaders`. Instructions are available [here](https://github.com/reswitched/loaders?tab=readme-ov-file#installation)
4
+
5
+
1. Install `nxo64.py` from `reswitched/loaders`. [Instructions](https://github.com/reswitched/loaders?tab=readme-ov-file#installation)
5
6
2. Open `ida64.exe` and disassemble `main.nso`.
7
+
3. To use scripts, click `File->Script File` and select the script you want to use.
6
8
7
9
## Ghidra
10
+
8
11
### Setup Instructions
9
12
10
-
1.Setup `Ghidrathon`. Instructions are available [here](https://github.com/mandiant/Ghidrathon#installing-ghidrathon). Make sure `Ghidrathon` has access to the `toml` package.
11
-
2. Setup `Ghidra Switch Loader`. Instructions are available [here](https://github.com/Adubbz/Ghidra-Switch-Loader).
13
+
1.. Setup [Ghidrathon](https://github.com/mandiant/Ghidrathon). Make sure `Ghidrathon` has access to the `toml` package.
3. Create a new project. When importing `main.nso`, click `Options`. Then set `Base Address` to `0x7100000000`.
13
16
4. Open the `Script Manager` (green play icon) from Ghidra's toolbar.
14
17
5. Click on Manage Script Directories (bullet points icon) inside the Script Manager, and add `tools/ghidra`. Do not add `tools/common/ghidra_scripts`.
0 commit comments