From d257dc1d7253592dc9958cd5c9c9531b2afb4be2 Mon Sep 17 00:00:00 2001 From: Akitake Date: Tue, 4 Jun 2024 15:10:06 +0200 Subject: [PATCH] Revisions to hex editing and web patching pages --- docs/extras/hexguide.md | 71 +++++++++++++++++++++++++++++++---------- docs/extras/patchweb.md | 63 +++++++++++++++++++++++++++++------- 2 files changed, 106 insertions(+), 28 deletions(-) diff --git a/docs/extras/hexguide.md b/docs/extras/hexguide.md index 468c1d9..3bd6470 100644 --- a/docs/extras/hexguide.md +++ b/docs/extras/hexguide.md @@ -1,52 +1,89 @@ -# Beginner's Guide to Hex Editing +# Manual DLL Hex Editing -!!! warning "Before reading:" - This section is for users that have never hex edited their game before, if you already know how to do this, nothing here will be of any use to you. +!!! info "Last updated: June 4th, 2024" +!!! danger "Before proceeding" -### Before Beginning + **This guide should ONLY be used as a last resort if all other methods fail.** + **It has a high chance of breaking your game, make backups.** + +--- +### Preamble !!! tip "" - There's several ways to apply hex edits to games, for the sake of this guide we'll demonstrate the manual way of doing edits to games in the event that the sites/services that simplify the process ever go down. - We'll be using HxD to edit beatmania IIDX 25 CANNON BALLERS, the process is the same for any other game so this guide can work universally. + We're going to patch Beatmania IIDX 25 CANNON BALLERS, however the process is similar for other BEMANI games. Here's what you'll need: - - Your favorite hex editor, such as [HxD](https://mh-nexus.de/en/hxd/). + - Your favorite hex editor, here we'll be using [HxD](https://mh-nexus.de/en/hxd/). - A clean copy of your desired BEMANI game. - - A backup of your original `.dll` before editing in the event of any mistakes. + - A backup of your original `.dll` before editing. +--- ### Getting Started !!! tip "" - So after downloading HxD or your preferred editor and deciding on what hex edits you want to apply, it's time to load it up for the first time. If you're using HxD, you'll be greeted with the screen below. + + Decide on what hex edits you want to apply, you may find that information from the community or external resources. + + It's time to open our hex editor. If you're using HxD, you'll be greeted with the screen below. !!! tip "" - Open up the appropriate `.dll` file inside HxD that you wish to edit, for the grand majority of hex edits, this is the main game file, such as `bm2dx.dll`, `soundvoltex.dll`, and so on. Pictured below, I've opened up `bm2dx.dll` inside of HxD. + + Open your game's `.dll` file in the hex editor. + + For the grand majority of hex edits, this is the main game file, such as `bm2dx.dll`, `soundvoltex.dll`, etc.. + + Pictured below, we've opened up `bm2dx.dll` inside HxD. -!!! warning "Please note:" - For demonstrative purposes, we're going to apply 1 edit to the game. The edit we'll be applying is EXCLUSIVE to this version of the game, meaning that it will not work on any other version of the game, nor any other games, because it's modifying specific addresses in memory that only apply to this specific version of the game. +!!! danger "Attention" + + The edit we'll be applying is **EXCLUSIVE to this version of the game** and serves as an example. + + This means it will not work on any other version of the game, nor any other game! + Hex edits modify specific memory addresses that only apply to very specific game versions. !!! tip "" - The edit we've chosen to apply is `Unlock All Songs` and its edit is `0xB60B2: 74 10 -> 90 90` so to start in HxD we're going to hit `Ctrl+G` to open the `Goto` window. From here, we'll input the offset `B60B2` inside the `Offset` section, as pictured, and hit OK. + + We'll be editing our game to `Unlock All Songs` and its edit is: + + - **Offset**: `0xB60B2` + - **Original**: `74 10` + - **Modified**: `90 90` + + In HxD we're going to hit `Ctrl+G` to open the `Goto` window. + + From here, we'll input the offset `B60B2` in the `Offset` section as shown below, and hit `OK`. !!! tip "" - Your cursor should be taken to the offset at the exact location you're ready to edit. As you can see, the numbers in front of you are `74` and `10` the same exact ones we need to replace! If they're not, it's likely you put in the wrong offset so be sure to double check. + + Our cursor should be taken to the offset at the exact location you want to edit. + + As you can see, the numbers in front of the cursor are `74` and `10` which corresponds to what we need to replace. + + **If there's a mismatch, it's likely the offset you've put in was wrong, so be sure to double check!** !!! tip "" - From here, all we need to do is mouse over `74 10` and replace it with `90 90` you can do this by either manually typing `90 90` or by copy and pasting, it should look as it does below. + + Now all we need to do is select `74 10` and replace it with `90 90`. + + You can do this by either manually typing `90 90` or by copy and pasting. + + It should now look as shown below. !!! tip "" - Once that's done, all you need to do is save the changes and repeat for every additional edit you want to do! The whole process is merely repeating by going to whichever offsets an edit requires and replacing the values in each location just as we did! Simple, right? - \ No newline at end of file + + Lastly, simply save your file and repeat these steps for any other edits you want to apply! + + If at any point your game has issues due to your edits, restore your backup. \ No newline at end of file diff --git a/docs/extras/patchweb.md b/docs/extras/patchweb.md index acdb7c7..1469097 100644 --- a/docs/extras/patchweb.md +++ b/docs/extras/patchweb.md @@ -1,36 +1,77 @@ -# How to use Patcher Websites +# Website DLL Patching + +!!! info "Last updated: June 4th, 2024
Known web patchers: [External resources](/externalresources#web-patchers)" + +!!! warning "For BEMANI games consider [Spice2x Patching](/extras/patchsp2x.md)" + + **This patching method is outdated for BEMANI games.** + + However spice2x patching is still very new and might not support your game yet, in this case follow this guide. + +!!! danger "Before proceeding" + + **It is highly recommended to use an unpatched DLL as your base!** + + If you've already patched your game through other methods *([spice2x patching](/extras/patchsp2x) or [hex editing](/extras/hexguide))*, + **Please replace your game's DLL with the original**. + +--- +### Getting started !!! tip "" - For this guide, I'll be using mon's [BemaniPatcher](https://mon.im/bemanipatcher) as almost every other patcher is based off of this and functions exactly the same. You can find a list of patchers in [here.](../externalresources.md#patcher) - When opening the Patcher website, you'll be at this screen: + We'll be using mon's [BemaniPatcher](https://mon.im/bemanipatcher). + Almost every other patcher is based off of this and functions exactly the same. + + **If your game is recent, please check [External resources](/externalresources#web-patchers) and use another web patcher.** + + Go to your chosen patcher's website, you'll get something similar to this: !!! tip "" - Next, click on any game you'd like the patches for. In my case, I'll use beatmaniaIIDX Resident. + + Click on any game you'd like the patches for. In this case, we'll use Beatmania IIDX 30 Resident. !!! tip "" - Once here, simply drag & drop the `.dll` file the site prompts you to use into the website or click on `Choose a file` and select it that way. - If you have inserted the correct file, the site will tell you which data code is used. Please keep that in mind when trying to patch n-0 data, as some sites may not have the most recent data code available right away. + Here, either: + + - Drag and drop the `.dll` file the site prompts you to use. + - **OR** click on `Choose a file` and select it that way. + + If you've used the correct file and the site is compatible, it will tell you. + + `X of X patches matched (100%)` means the patcher is compatible with your game. + **If this shows any less than 100%, DO NOT use it, find another patcher.** + + **Please keep in mind that some patchers may not support the most recent versions of your game right away.** !!! tip "" - Now, you can select the changes you'd like to apply. If you're unsure on what certain things do, feel free to [join the Discord server](https://discord.gg/cZRUmEPK78) and ask away as making an explanation for every game on what every hex edit does would be a bit too much. + + Now, you can select the patches you'd like to apply. + + If you're unsure on what to do, refer to your specific game's guide as it might have more information there. + Otherwise feel free to join our Discord server, the link is at the top of the [home page](/), and ask the community! !!! tip "" - When you're done doing your changes, simply click on `Save Patched File` and the website will download your patched `.dll` file. + + When you're done selecting patches, click on `Save Patched File` and your new `.dll` file will start downloading. -!!! danger "" - Next, **backup your original `.dll` file** and replace it with the old one. - When you've done that, you're done. Enjoy your game! +!!! danger "Backup your original `.dll` file first!" + +!!! tip "" + + Now you may replace your data's `.dll` file with the patched one you just downloaded. + + Once you've done that, you're done. Enjoy! \ No newline at end of file