summaryrefslogtreecommitdiff
path: root/ReadMe.md
blob: 37875ebe084f592eebad7682b13c7b4ee324a80a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# ida_game_elf_loaders
A collection of user mode ELF loaders for the following game consoles:
* ~~PS3~~
* ~~PS Vita~~
* Wii U

You should use other repositories for the non-Wii U ELF loaders, as this one is only aimed at providing an updated version of the RPX loader.

## Installation
Copy loader plugins to IDA loaders directory.

On Linux, this is usually:

```sh
mkdir -p "$HOME/.idapro/loaders"
cp build/wiiu.so "$HOME/.idapro/loaders/"
```

## Building

### Dependencies

* IDA SDK
* [CMake](https://cmake.org/download/)

### Generate Projects With CMake

The IDA cmake module included will expect to find the IDA SDK in an `IDA_SDK_DIR` or `IDA_SDK` environment variable.

On Linux, `IDADIR` must point to the IDA installation directory containing `libida.so`.

If you would like to generate 64-bit EA targeted loaders, you need to add `-D IDA_64_BIT_EA_T=YES` to cmake command line.

Navigate to the directory of the loader you would like to build in 'src/', then run the following command:

`mkdir build && cd build && cmake ../`

On Linux, for the Wii U loader, this will produce `wiiu.so`.

This should create a build directory with your generated project files.

### Building

Optionally, you can also build using cmake with the following command:

`cmake --build ./`

## Notes

The current commit was compiled and tested to work with IDA 9.3.
It also comes with improved Wii U RPX/RPL support, including compressed sections,
FILE_INFO parsing, import/export metadata, and a broader set of relocations.

On Linux, the Wii U loader links against the installed IDA runtime library `libida.so`.