1
0
mirror of https://github.com/yxrei/bemani-guide.git synced 2024-12-21 03:05:54 +01:00
bemani-guide/site/extras/hexguide/index.html

593 lines
21 KiB
HTML
Raw Normal View History

2023-08-30 17:14:11 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noindex,noarchive,nofollow" />
<title>Beginner Guide to Hex Editing - bemani.guide</title>
<link href="../../css/bootstrap.min.css" rel="stylesheet">
<link href="../../css/font-awesome.min.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/darcula.min.css">
<script src="../../js/jquery-1.10.2.min.js" defer></script>
<script src="../../js/bootstrap.min.js" defer></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<meta property="og:type" content="website" />
<meta property="og:site_name" content="bemani.guide" />
<meta property="og:title" content="Extras - Beginner Guide to Hex Editing" />
<meta property="og:description" content="" />
<meta property="og:url" content="None" />
<meta property="og:image" content="img/icon.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="64" />
<meta property="og:image:height" content="64" />
</head>
<body>
<div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="../..">bemani.guide</a>
<!-- Expander button -->
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbar-collapse">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Expanded navigation -->
<div id="navbar-collapse" class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li class="navitem">
<a href="../.." class="nav-link">Home</a>
</li>
<li class="dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Games <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">IIDX</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">IIDX 25</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/iidx25/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/iidx25/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/iidx25/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">IIDX 26</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/iidx26/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/iidx26/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/iidx26/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">IIDX 27</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/iidx27/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/iidx27/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/iidx27/lightning/" class="dropdown-item">Lightning Mode Specifics</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">SDVX</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">SDVX IV</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/sdvx4/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/sdvx4/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/sdvx4/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">SDVX V</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/sdvx5/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/sdvx5/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/sdvx5/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Pop&apos;n</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Pop&apos;n Usaneko</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/popnusaneko/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/popnusaneko/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/popnusaneko/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Pop&apos;n Peace</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/popnpeace/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/popnpeace/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/popnpeace/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">HELLO Pop&apos;n</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/hellopopn/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/hellopopn/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">DDR</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">DDR Ace</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/ddrace/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/ddrace/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/ddrace/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Jubeat</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Jubeat Clan</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/jubeatclan/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/jubeatclan/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/jubeatclan/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">GITADORA</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">GITADORA Matixx</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/gitamatixx/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/gitamatixx/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/gitamatixx/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">GITADORA EXCHAIN</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/exchain/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/exchain/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/exchain/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Reflec Beat</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Reflec Beat: Reflesia</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/reflesia/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/reflesia/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/reflesia/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">NOSTALGIA</a>
<ul class="dropdown-menu">
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Nostalgia FORTE</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/nostforte/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/nostforte/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/nostforte/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">Nostalgia Op.2</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/nostop2/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/nostop2/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/nostop2/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">BeatStream アニムトライヴ</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/beatstreamfinal/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/beatstreamfinal/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/beatstreamfinal/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-item">MÚSECA 1+1/2</a>
<ul class="dropdown-menu">
<li>
<a href="../../games/musecafinal/setup/" class="dropdown-item">First Time Setup</a>
</li>
<li>
<a href="../../games/musecafinal/problems/" class="dropdown-item">Common Problems/Tips</a>
</li>
<li>
<a href="../../games/musecafinal/hexedits/" class="dropdown-item">Hex Edits</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="navitem">
<a href="../../errorcodes/" class="nav-link">Error Codes</a>
</li>
<li class="dropdown active">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Extras <b class="caret"></b></a>
<ul class="dropdown-menu">
<li>
<a href="./" class="dropdown-item active">Beginner Guide to Hex Editing</a>
</li>
<li>
<a href="../ascs/" class="dropdown-item">Notes on the Most Common ASCs and Vendors</a>
</li>
<li>
<a href="../parts/" class="dropdown-item">Arcade Parts List and Documentation</a>
</li>
<li>
<a href="../spiceguide/" class="dropdown-item">SpiceTools Usage, Parameters, and Functionality</a>
</li>
<li>
<a href="../spiceerrors/" class="dropdown-item">SpiceTools Error Messages</a>
</li>
<li>
<a href="../pollingrates/" class="dropdown-item">List of Touchscreen Monitors and their Polling Rates</a>
</li>
<li>
<a href="../streamaudio/" class="dropdown-item">Exclusive Audio Workarounds</a>
</li>
</ul>
</li>
<li class="navitem">
<a href="../../externalresources/" class="nav-link">External Resources</a>
</li>
<li class="navitem">
<a href="../../about/" class="nav-link">About</a>
</li>
</ul>
<ul class="nav navbar-nav ml-auto">
<li class="nav-item">
<a rel="prev" href="../../errorcodes/" class="nav-link">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li class="nav-item">
<a rel="next" href="../ascs/" class="nav-link">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-3"><div class="navbar-light navbar-expand-md bs-sidebar hidden-print affix" role="complementary">
<div class="navbar-header">
<button type="button" class="navbar-toggler collapsed" data-toggle="collapse" data-target="#toc-collapse" title="Table of Contents">
<span class="fa fa-angle-down"></span>
</button>
</div>
<div id="toc-collapse" class="navbar-collapse collapse card bg-secondary">
<ul class="nav flex-column">
<li class="nav-item" data-level="1"><a href="#beginners-guide-to-hex-editing" class="nav-link">Beginner's Guide to Hex Editing</a>
<ul class="nav flex-column">
<li class="nav-item" data-level="3"><a href="#before-beginning" class="nav-link">Before Beginning</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#getting-started" class="nav-link">Getting Started</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div></div>
<div class="col-md-9" role="main">
<h1 id="beginners-guide-to-hex-editing">Beginner's Guide to Hex Editing</h1>
<div class="admonition warning">
<p class="admonition-title">Before reading:</p>
<p>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.</p>
</div>
<h3 id="before-beginning">Before Beginning</h3>
<div class="admonition tip">
<p>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.</p>
<p>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.</p>
<p>Here's what you'll need:</p>
<ul>
<li>Your favorite hex editor, such as <a href="https://mh-nexus.de/en/hxd/">HxD</a>.</li>
<li>A clean copy of your desired BEMANI game.</li>
<li>A backup of your original <code>.dll</code> before editing in the event of any mistakes.</li>
</ul>
</div>
<h3 id="getting-started">Getting Started</h3>
<div class="admonition tip">
<p>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.</p>
</div>
<p><img src="/img/hexguide/1.png"></p>
<div class="admonition tip">
<p>Open up the appropriate <code>.dll</code> file inside HxD that you wish to edit, for the grand majority of hex edits, this is the main game file, such as <code>bm2dx.dll</code>, <code>soundvoltex.dll</code>, and so on. Pictured below, I've opened up <code>bm2dx.dll</code> inside of HxD.</p>
</div>
<p><img src="/img/hexguide/2.png"></p>
<div class="admonition warning">
<p class="admonition-title">Please note:</p>
<p>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.</p>
</div>
<div class="admonition tip">
<p>The edit we've chosen to apply is <code>Unlock All Songs</code> and its edit is <code>0xB60B2: 74 10 -&gt; 90 90</code> so to start in HxD we're going to hit <code>Ctrl+G</code> to open the <code>Goto</code> window. From here, we'll input the offset <code>B60B2</code> inside the <code>Offset</code> section, as pictured, and hit OK.</p>
</div>
<p><img src="/img/hexguide/3.png"></p>
<div class="admonition tip">
<p>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 <code>74</code> and <code>10</code> 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.</p>
</div>
<p><img src="/img/hexguide/4.png"></p>
<div class="admonition tip">
<p>From here, all we need to do is mouse over <code>74 10</code> and replace it with <code>90 90</code> you can do this by either manually typing <code>90 90</code> or by copy and pasting, it should look as it does below.</p>
</div>
<p><img src="/img/hexguide/5.png"></p>
<div class="admonition tip">
<p>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?</p>
</div></div>
</div>
</div>
<footer class="col-md-12">
<hr>
<p>Made by a IIDX player.</p>
<p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p>
</footer>
<script>
var base_url = "../..",
shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83};
</script>
<script src="../../js/base.js" defer></script>
<div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
</div>
<div class="modal-body">
<table class="table">
<thead>
<tr>
<th style="width: 20%;">Keys</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td class="help shortcut"><kbd>?</kbd></td>
<td>Open this help</td>
</tr>
<tr>
<td class="next shortcut"><kbd>n</kbd></td>
<td>Next page</td>
</tr>
<tr>
<td class="prev shortcut"><kbd>p</kbd></td>
<td>Previous page</td>
</tr>
<tr>
<td class="search shortcut"><kbd>s</kbd></td>
<td>Search</td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
</body>
</html>