All Projects → queueRAM → Sm64tools

queueRAM / Sm64tools

Licence: mit
Collection of tools for Super Mario 64 ROM hacking

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Sm64tools

Gamemaniptutorial
A tutorial for manipulating the rendering of a game (generally to increase its quality) if you only have a binary available
Stars: ✭ 119 (-7.75%)
Mutual labels:  reverse-engineering
Awesome Hacking Resources
A collection of hacking / penetration testing resources to make you better!
Stars: ✭ 11,466 (+8788.37%)
Mutual labels:  reverse-engineering
Alive reversing
Re-implementation of Abe's Exoddus and Abe's Oddysee
Stars: ✭ 127 (-1.55%)
Mutual labels:  reverse-engineering
Wechatspellbook
Wechat Spellbook 是一个使用Kotlin编写的开源微信插件框架,底层需要 Xposed 或 VirtualXposed 等Hooking框架的支持,而顶层可以轻松对接Java、Kotlin、Scala等JVM系语言。让程序员能够在几分钟内编写出简单的微信插件,随意揉捏微信的内部逻辑。
Stars: ✭ 1,584 (+1127.91%)
Mutual labels:  reverse-engineering
Malwarelab vm Setup
Setup scripts for my Malware Analysis VMs
Stars: ✭ 126 (-2.33%)
Mutual labels:  reverse-engineering
Ghidra bridge
Python 3 bridge to Ghidra's Python scripting
Stars: ✭ 125 (-3.1%)
Mutual labels:  reverse-engineering
Iaito
This project has been moved to:
Stars: ✭ 1,516 (+1075.19%)
Mutual labels:  reverse-engineering
Jnianalyzer
Analysis scripts for Ghidra to work with Android NDK libraries.
Stars: ✭ 128 (-0.78%)
Mutual labels:  reverse-engineering
Sonyheadphonesclient
A {Windows, macOS, Linux} client recreating the functionality of the Sony Headphones app
Stars: ✭ 123 (-4.65%)
Mutual labels:  reverse-engineering
Dnspy.extension.holly
A dnSpy extension to aid reversing of obfuscated assemblies
Stars: ✭ 127 (-1.55%)
Mutual labels:  reverse-engineering
Emukit
WebXR immersive console emulator w/ Retroach, Javascript, and WASM
Stars: ✭ 123 (-4.65%)
Mutual labels:  n64
Frida Android Scripts
Some frida scripts
Stars: ✭ 124 (-3.88%)
Mutual labels:  reverse-engineering
Despector
Java / Kotlin Decompiler and AST Library
Stars: ✭ 126 (-2.33%)
Mutual labels:  reverse-engineering
Owasp Fstm
The Firmware Security Testing Methodology (FSTM) is composed of nine stages tailored to enable security researchers, software developers, consultants, hobbyists, and Information Security professionals with conducting firmware security assessments.
Stars: ✭ 120 (-6.98%)
Mutual labels:  reverse-engineering
Elf Strings
elf-strings will programmatically read an ELF binary's string sections within a given binary. This is meant to be much like the strings UNIX utility, however is purpose built for ELF binaries.
Stars: ✭ 127 (-1.55%)
Mutual labels:  reverse-engineering
Ctftool
Interactive CTF Exploration Tool
Stars: ✭ 1,563 (+1111.63%)
Mutual labels:  reverse-engineering
Poketcg
Disassembly of Pokémon TCG
Stars: ✭ 125 (-3.1%)
Mutual labels:  reverse-engineering
Ida for mac green
IDA Pro for macOS绿化
Stars: ✭ 129 (+0%)
Mutual labels:  reverse-engineering
Pref
Portable Reverse Engineering Framework
Stars: ✭ 127 (-1.55%)
Mutual labels:  reverse-engineering
Awesome Mobile Security
An effort to build a single place for all useful android and iOS security related stuff. All references and tools belong to their respective owners. I'm just maintaining it.
Stars: ✭ 1,837 (+1324.03%)
Mutual labels:  reverse-engineering

sm64tools

Collection of tools for manipulating the Super Mario 64 ROM

n64split

N64 ROM Splitter and Build System

  • splits ROM into assets: asm, textures, models, levels, behavior data
  • generates build files to rebuild the ROM
  • intelligent recursive disassembler
  • generic config file system to support multiple games

Usage

n64split [-c CONFIG] [-k] [-m] [-o OUTPUT_DIR] [-s SCALE] [-t] [-v] [-V] ROM

Options:

  • -c CONFIG ROM configuration file (default: auto-detect)
  • -k keep going as much as possible after error
  • -m merge related instructions in to pseudoinstructions
  • -o OUTPUT_DIR output directory (default: {CONFIG.basename}.split)
  • -s SCALE amount to scale models by (default: 1024.0)
  • -t generate large texture for MIO0 blocks
  • -v verbose output
  • -V print version information

sm64extend

Super Mario 64 ROM Extender

  • accepts Z64 (BE), V64 (byte-swapped), or N64 (little-endian) ROMs as input
  • works with US, European, Japanese, and Shindou ROMs
  • decompresses all MIO0 blocks from ROM to extended area
  • configurable extended ROM size (default 64 MB)
  • configurable padding between MIO0 blocks (default 32 KB)
  • configurable MIO0 block alignment (default 1 byte)
  • changes all 0x18 level commands to 0x17
  • creates MIO0 headers for all 0x1A level commands
  • optionally fills old MIO0 blocks with 0x01
  • optionally dump compressed and uncompressed MIO0 data to files
  • updates assembly reference to MIO0 blocks
  • recalculates ROM header checksums

Usage

sm64extend [-a ALIGNMENT] [-p PADDING] [-s SIZE] [-d] [-f] [-v] FILE [OUT_FILE]

Options:

  • -a ALIGNMENT Byte boundary to align MIO0 blocks (default = 1).
  • -p PADDING Padding to insert between MIO0 blocks in KB (default = 32).
  • -s SIZE Size of the extended ROM in MB (default: 64).
  • -d Dump MIO0 blocks to files in mio0 directory.
  • -f Fill old MIO0 blocks with 0x01.
  • -v verbose output.

Output file: If unspecified, it is constructed by replacing input file extension with .ext.z64

Examples

64 MB extended ROM that is bit compatible with with generated from the M64ROMExtender1.3b, after extending to 64 MB

sm64extend sm64.z64

24 MB extended ROM that is bit compatible with the ROM generated from the M64ROMExtender1.3b

sm64extend -s 24 sm64.z64

Enable verbose messages and specify output filename:

sm64extend -v sm64.z64 sm64_output.ext.z64

Pad 64 KB between blocks, align blocks to 16-byte boundaries, fill old MIO0 blocks with 0x01:

sm64extend -p 64 -a 16 -f sm64.z64

sm64compress

Experimental Super Mario 64 ROM alignment and compression tool

  • packs all MIO0 blocks together, reducing unused space
  • optionally compresses MIO0 blocks (and converts 0x17 commands to 0x18)
  • configurable MIO0 block alignment (default 16 byte)
  • reduces output ROM size to 4 MB boundary
  • updates assembly reference to MIO0 blocks
  • recalculates ROM header checksums

Usage

sm64compress [-a ALIGNMENT] [-c] [-d] [-v] FILE [OUT_FILE]

Options:

  • -a alignment Byte boundary to align MIO0 blocks (default = 16).
  • -c compress all blocks using MIO0.
  • -d dump MIO0 blocks to files in mio0 directory.
  • -v verbose output.

Output file: If unspecified, it is constructed by replacing input file extension with .out.z64

Other Tools

There are many other smaller tools included to help with SM64 hacking. They are:

  • f3d: tool to decode Fast3D display lists
  • mio0: standalone MIO0 compressor/decompressor
  • n64cksum: standalone N64 checksum generator. can either do in place or output to a new file
  • n64graphics: converts graphics data from PNG files into RGBA or IA N64 graphics data
  • mipsdisasm: standalone recursive MIPS disassembler
  • sm64geo: standalone SM64 geometry layout decoder

License

MIT License. Copyright 2015 queueRAM.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].