An open API service indexing awesome lists of open source software.

https://github.com/stackdoubleflow/xref_apply


https://github.com/stackdoubleflow/xref_apply

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# xref_apply

A command line tool to find symbol addresses in Unity IL2CPP AArch64 applications using xref traces.

## Usage

Firstly, you'll have to gather the following things:
- The traces that correspond to the specific Unity version and platform (`xref_gen.json`). You can generate the data with [xref_gen](https://github.com/StackDoubleFlow/xref_gen).
- The application's il2cpp shared object file (`libil2cpp.so`) and global metadata file (`global-metadata.dat`).

With those placed inside the `./data` directory, you can run the following command to generate a JSON file containing the addresses of any symbols it can find:
```
cargo run --release -- data/libil2cpp.so data/global-metadata.dat data/xref_gen.json
```
The output will be placed in `./data/xref_apply.json`. You may see several errors, but it is normal not to be able to sucessfully trace all symbols. These can be safely ignored.

## Importing into Ghidra

The ghidra script at `./data/xref_apply.py` will look for the output file `xref_apply.json` in the same directory. The script can only be ran once Auto Analysis on the binary has been completed. Once run, labels will be created for the symbols `xref_apply` had sucessfully found.