Skip to content

breadbyte/monokuma-hook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MonokumaHook

A debug menu hook for Danganronpa: Trigger Happy Havoc.

A demo video can be found here.

Why?

I wanted to figure out what these debug options do, so I did.

Due to compiler optimization and what I assume to be debug preprocessor macros, the debug menu has been replaced with a single function that does nothing. (A single jump to a ret. No idea. See address 435B0 in your local disassembler.)

Because of this, the EXE needs to be patched and hooked during runtime for the debug menu to appear properly.

As a side effect of this, the debug menu might have missing data, crash the game, or do nothing at times.Here be dragons!

I do my best to try and restore most of the functionality as best i can figure out.

If you do find a dragon though, you can create an issue about it, and i'll take a look.

If you've figured out how to fight a dragon, you can create a pull request instead.

Prerequisites

  • A controller (optional).
    • Yes, a controller. Anything steam recognizes is fine, as long as it works with the game.
      • Because some debug menu items only accept analog input.

Controls

F5 opens the debug menu.
F6 opens the player camera control menu.
F9 forcibly opens the debug menu (for testing purposes).
F10 opens the utilities and settings window.

If using a keyboard, Q decreases values, E increases values. Also makes you extremely dizzy in some cases.

Keyboard Control Layout

Z = Cross
C = Circle
X = Square
V = Triangle

Instructions

  1. Download the Hook.
  2. Inject the DLL

DLL Injectors you can use:

Xenos https://github.com/DarthTon/Xenos Download Xenos from github.
  • Ask Windows Defender nicely not to delete it.
  • Start the game.
  • Run Xenos.exe as an administrator.
  • You will now see the following: Select the process "DR1_us.exe" as shown: Now add the DLL as shown: Finally, Xenos should look like this: Press inject, and we're done!
  • You can now close Xenos at this point.

  • Cheat Engine
  • Start the game.
  • Start Cheat Engine.
  • Select DR1_us.exe from the processes list.
  • Click on Memory View.
  • Select Tools -> Inject DLL
  • Select MonokumaHook.dll
  • Select No to "Do you want to execute a function of the dll?"
  • Congratulations! You can now close Cheat Engine.
    • You can also bring your own DLL Injector of preference, if that's more of your thing.
    1. Profit!

    Building

    I use vcpkg for my dependencies. Your setup may vary, but the requirements are:

    Go to Kiero.h and change KIERO_INCLUDE_D3D9EX to 1, otherwise the hook will fail.
    You may need to modify CMakeLists.txt to accomodate for your own setup for Detours, if you are not using vcpkg.

    License

    This project is licensed under the Apache License 2.0.

    About

    A debug menu hook for DR1.

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published