Coder Social home page Coder Social logo

mint-explorer's Introduction

Mint Explorer is a tool for exploring archive/package files for the Mint scripting engine, found in various video games, notably games from the Kirby series. It parses an input file (containing packages, files, classes, methods, fields and constants) into a tree and disassembles methods when selected in the tree view.

Mint Explorer is written based on reverse-engineering work performed by observing several instances of bytecode files in order to deduce the structure (and meaning of the bytecode) in them.

You can find a public version at firefly.nu/pub/mint-explorer (possibly not the latest version).

Usage

Currently, only Return to Dream Land and Triple Deluxe are supported. Make sure that you have a decompressed Mint bytecode archive (e.g. mint/Archive.bin). Open mint-explorer, browse for the Mint archive--it should load, but the loading happens in the main thread which means the browser might freeze for a few seconds.

Once you have a file loaded, you should be able to expand package tree to the left. Packages contain Mint files, which hold static data (sdata), references to different entitites (xrefs), and classes (typically exactly one). Classes contain fields, constants (in K3D) and methods.

Clicking methods will disassemble them and show a pretty-printed disassembly--this is the main usage of Mint Explorer. You can also view the sdata and xref sections of a Mint file (hexdump and ASCII table, respectively), and when clicking a package or file, you get a tally of opcode frequency within this part of the tree (for my own reversing purposes).

Documentation

The format is documented on the repository wiki: Mint bytecode (RTDL).

Screenshot

Screenshot

License

ISC

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.