Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/lanhikari22/gba-ida-pseudo-terminal

IDAPython tools to aid with analysis, disassembly and data extraction using IDA python commands, tailored for the GBA architecture at some parts
https://github.com/lanhikari22/gba-ida-pseudo-terminal

disassembly game-hacking gba hacking-tool ida idapython reverse-engineering

Last synced: 3 months ago
JSON representation

IDAPython tools to aid with analysis, disassembly and data extraction using IDA python commands, tailored for the GBA architecture at some parts

Awesome Lists containing this project

README

        

# GBA-IDA-Pseudo-Terminal
This is a collection of tools that uses the IDAPython API to execute commands for IDB analysis, disassembly, data exportion, or database manipulation

# Usage
- Run pt.py as a script in python. If successful, the echo command should run with a message in the output window.
- To view the list of commands (and modules containing commands), simpy print `pt` in the output window.
- To execute a command, run it as a function: `pt.echo("beep beep!")`. You can also view its docs: `pt.help(pt.echo)`.
- There are modules inside pt that are clearly distinguished from commands when running `pt`.
- To access them, simply refer to them from pt: `pt.dis.rng(0x8000000, 0x80000200)`.
- The module can also display its list of commands and modules when printed: `pt.dis`.
- Every module and command should have docs and one-line summaries: `pt.help(pt.dis.rng)`, `pt.fmt(pt.dis)`
- The pseudoterminal has an environment to host paths and needed variables.
- Run `pt.clrenv()` then a series of `pt.env(key=val)` commands to fill them. (Not all utilities need environmental variables)
- The necessary environmental variables to fill can be found in `Definition/Environment.py`. You cannot create new ones.
- You may find it useful to create a simple python script file with the `pt.clrenv()` and `pt.env()` calls necessary to populate the environment for different projects, and then execute that file in IDA after executing `pt.py`

To view the documentation for commands, see [COMMANDS.md](COMMANDS.md).