Giter Club home page Giter Club logo

tool-regenny's Introduction

ReGenny

GitHub Build Action

Usage & Scripting Documentation

ReGenny is a reverse engineering tool to interactively reconstruct structures and generate usable C++ header files. Header file generation is done by the sister project SdkGenny.

Early build preview

Status

ReGenny is still early in development but is usable. Things may change unexpectedly. Existing projects may break and need to be updated. Many more features are planned. There will be bugs.

Download

ReGenny is under active development. Any published builds (or lack thereof) may be out of date. It is advised that if you want to use ReGenny in its current form that you build ReGenny yourself. However, you may be able to grab the latest artifact from GitHub actions here.

Building

ReGenny uses CMake via the help of cmkr.

From the command line:

cmake -B build
cmake --build build

Design decisions

  • ReGenny uses plaintext project files instead of binary ones (.genny and .json). Plaintext formats are much better for inclusion in git repositories and makes collaborating with others on ReGenny projects easier since you can diff/merge project files.
  • Tree based display (like ReClass.NET) but you build the tree using .genny files.
  • ReGenny uses SdkGenny for output. One of SdkGenny's primary goals is to generate good output and ReGenny reaps all the benefits from that. Instead of a single monolithic header file, ReGenny uses SdkGenny to generate a proper header file hierarchy for inclusion into your project. If your project is already using SdkGenny then you don't even need to generate header files since you can just use the .genny file directly.
  • Since ReGenny uses SdkGenny, it supports everything .genny files do:
    • Namespaces
    • Enums
    • Structs
    • Classes
    • Function prototypes
    • Static function prototypes
    • Bitfields
    • Arrays
    • Multi-dimensional arrays
    • Pointers
    • Namespaces can be nested within each other
    • Structs, enums and classes can be nested within other structs/classes
    • Bring your own external types
  • The .genny format is flexible enough to parse simple C/C++ structures directly with zero (or minimal) modification making importing existing structures into ReGenny easy.

tool-regenny's People

Contributors

cursey avatar praydog avatar mrexodia avatar muhopensores avatar

Watchers

 avatar

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.