Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Repository files navigation

The Hacker's Notebook

Screenshot 2023-01-22 at 7 05 39 PM

Still in early Alpha, many features are in active development

The Hacker's Notebook is a program designed to solve two problems.

The first is a lack of hex editors available which are:

  • Cross platform
  • Intuitive
  • Functional
  • Fun to use

The second, is a lack of direction and consolidation of tools for basic rom hacking and documentation. More specifically, much of the exploration phase of rom hacking is tedious and error prone, and often relies on searching through data in a hex editor.

To address the first, The Hackers Notebook:

  • Is built in WxWidgets, a cross platform GUI which is well known, looks appropriate on every platform, and uses C++
  • Follows basic design principles for an intuitive program
  • Has many functions specifically for rom hacking, but also provides the functionality of a hex editor and documentation builder regardless of use case
  • Has the goal of making basic rom hacking fun by removing some of the barriers to entry and some of the more confusing aspects of rom hacking

To address the Second: The Hacker's Notebook seeks to consolidate many of the programs needed for basic rom hacking such as a hex editor, gfx viewer, palette editor, patch making tool, and basic documentation editor. This consolidation leads to a synergy between these tools as well. The hex editor can add document entries and create patches based on recent changes, while the documentation editor naturally creates bookmarks for the hex editor. The goal is that all three elements of the program (documentation, rom editing, patches) work in tandem to make the process of basic rom hacking (translation, gfx editing, palette editing, rom searching and documenting, simple patches, etc.) a seamless process that works the same way on any desktop operating system (in fact, it is being developed on MacOS, an operating system which is traditionally not well-supported in rom hacking tools).

Let's take a look at some of the features!

Documentation

Documentation is a large part of the Hackers Notebook. A document entry consists of a title, category, optional longer description, and an address. This allows the user to quickly see what the address is, and if a longer description is needed, they can click the '?' button next to the entry. Document view Optional description

The address of a documentation entry also doubles as a bookmark for the hex editor. Double clicking the address will take you to the specific offset within the hex editor. Documentation will also be able to export in different formats, be searched and sorted, and more. A documentation entry can also optionally contain the byte data within a specified range.

Patches

Creating patches for small changes, like so-called 'hex tweaks' has always been a little error prone. If you wanted to test out a patch or hex edit and you forgot to make a back up, you would have to manually reverse those changes to the rom. In The Hackers Notebook, patches are made to be applied and reversed with the click of a button. They are displayed with a checkbox to say whether the patch is applied, not applied, or does not match the current bytes in those locations. This allows the user to easily make and test patches without having to worry about reversing or remember what changes were made. And just like document entries, patch entries can also contain an optional longer form description. Patches view

Rom Editor

The rom editor is at its core a hex editor (with support for tables and other features helpful for rom hacking), but it's got a trick up its sleeve. It can also render the rom in other ways. You don't only have to look at the rom as byte data, you can search through the rom while viewing it as characters (with support for multi-byte character tables), colour data, or even graphics data. This allows the user to quickly identify different parts of the rom, and ultimately, will allow for editing in each type of view mode. It currently supports editing in byte, character, and palette modes. Byte Data String data SNES palette data SNES Samus NES Mario

You can even edit colours with the native system colour picker, and it will automatically convert up and down from 24bit colour to whichever bit depth you have currently selected!

Dec-09-2022_21-40-53

For Reference

Here is a breakdown of the hex editor view in terms of wxWidgets objects. The dotted lines represent sizers. Screenshot 2023-04-12 at 2 59 24 PM

About

The Hackers Notebook is a general rom hacking tool designed primarily to facilitate the exploration and documentation of a game in a user intuitive and fun way. To achieve this, the program has the ability to create documentation entries and patches (which can be turned on/off at will), with the help of a rom viewer/editor.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages