https://github.com/9214/daruma
'Beyond Good & Evil' videogame Internet code decoder and Akuda closet unlocker.
https://github.com/9214/daruma
beyond-good-and-evil password-cracking red redlang reverse-engineering ubisoft videogame
Last synced: 11 months ago
JSON representation
'Beyond Good & Evil' videogame Internet code decoder and Akuda closet unlocker.
- Host: GitHub
- URL: https://github.com/9214/daruma
- Owner: 9214
- License: wtfpl
- Created: 2017-08-29T11:57:49.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-11-11T17:56:42.000Z (about 1 year ago)
- Last Synced: 2025-01-13T16:23:53.441Z (about 1 year ago)
- Topics: beyond-good-and-evil, password-cracking, red, redlang, reverse-engineering, ubisoft, videogame
- Language: Red
- Homepage: https://9214.github.io/13
- Size: 65.4 KB
- Stars: 18
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: COPYING
Awesome Lists containing this project
README
* About
*daruma* is:
- a pun on Darkroom [ /Dar/ +kr+ /oom/ ];
- Japanese /Red/ doll - a talisman that brings luck and happiness (i.e. 100% game completion);
- a tiny little tool I wish existed back in my childhood.
Maybe you didn't know up until this moment, but there's *Beyond Good & Evil* videogame, and there are collectible items in this game. There's also one /special/ collectible (MDisk #13), and there's *no* in-game way you can get it.
What *daruma* tries to do is to solve this (dare I say /problem/?) in an old-fashioned way. There's a [[https://9214.github.io/13][development post]] which explains all of the stuff in a great detail.
* Installation
** From release archive
Grab [[https://github.com/9214/daruma/releases/latest][latest release]] for your platform of choice and you're all set.
*Please note* that only Windows version was tested, and MacOS bundle just cross-compiled. For Linux folks - sorry guys, GTK graphical backend is a work-in-progress, hence no GUI and executable. Either use Wine or other fan-made implementations.
** From source
- download [[http://www.red-lang.org/p/download.html][Red toolchain]] ([[http://red.github.io/#download][mirror]]);
- fork or download this repo;
- compile ~./src/main.red~ with ~-e~ and ~-r~ flags. If you want to cross-compile, specify ~-t~ flag and a target platform. Example:
#+BEGIN_SRC red
./red -e -r -t Windows -o ./daruma.exe ./src/main.red
#+END_SRC
- that's it, compiled binary should be in a root/specified directory.
* Usage
Carefully examine this terms:
- *you* :: a person who has the game installed and obviously knows why (s)he's doing what (s)he's doing;
- *game directory* :: directory containing /at least one/ BG&E savegame (i.e. ~slot[0-4].sav~ file);
- *daruma* :: a tiny executable you either baked yourself or grabbed from the release archive.
Good. Now, *daruma* can work in two modes as described below.
** Picklock
If *you* place *daruma* in the *game directory* and launch it, it will /silently/ patch all of the save files. After that, to unlock the infamous Akuda closet, you simply need to load one of the patched saves, access keypad of the locker and press /Validate/.
** Decoder
If *you* launch *daruma* in any other directory that /doesn't looks like/ *game directory* (i.e. doesn't contain any of the above mentioned save files), a small window will pop up for you to enter a 16-character Internet code. Well, just do that and hit Enter. Then, if everything is fine, write down decoded locker code and use it to grab the 13th MDisk.
* Repo structure
- ~src/~ :: main directory with all scripts;
- ~bench/~ :: testing data and crude tests for decoder;
- ~misc/~ :: miscellaneous files and resources (mainly app icon, original disassembly and macro for save harvesting).
* API
Two words are exposed into global context:
- ~decode~ :: takes a valid Internet code, decodes it and spits out ~map!~ with game stats (locker code included), otherwise (i.e. if code is invalid) returns ~none~;
- ~unlock~ :: patches all savefiles in current directory; if none are found, returns ~none~.
* License
Peace out.
/-- Happy hunting!/