[Halo 2 - Hex] Following Reflexives in Hex

Tutorials for the Xbox version of Halo 2.
Post Reply
XxSilencedDeathxX





Posts: 486
Joined: Wed Apr 27, 2005 2:14 pm
Location: ;_;
Contact:

[Halo 2 - Hex] Following Reflexives in Hex

Post by XxSilencedDeathxX »

This tutorial will teach you the basics of hex editing, and stuff you need to know if you want to do or find anything in a hex editor.

Hex Editing

What You Need:

-Hex Workshop (Download)
-Entity (Download)
-Zaznibar.map (any map will do, I'm just going to do some cool tricks with Zanzi here)
-Common Sense
Let's Get Started. For right now I am just going to show you how to follow a basic reflexive and view its chunks, all in hex.

Open up Zanzibar in Entity and take Note of the Secondary Map Magic. Zanzibar's magic is 7D35B000.

Image

Now make sure Recursive and Parsed are NOT checked. Press Save and save the scnr tag to your desktop, it's only two files.

Image

Now comes the bulk of the tutorial - Finding and following the reflexive. Open zanzibar[scnr].meta.data in Notepad. I am going to be following the Netgame Equiptment reflexive, just to show you how. Netgame Equiptment is Reflexive 288, shown here:

Code: Select all

Reflexive|288|15300|75|scnr-scenarios\multi\zanzibar\zanzibar|71986
Now open up zanzibar.meta in Hex Workshop. Go to offset 288, since byte 288 is where the reflexive starts.

Image

Now when you're there, you should see this:

Code: Select all

4B00 0000 5C90 2080
That's good.

4B00 is your chunk count. 4B00 in hex equals 75 in decimal, and if you look at Entity, it says there are 75 chunks. Ok, now you know you are at the right spot. 0000 is just a spacer. 5C90 2080 is your pointer. This is what we will be using here. Before we use it, we need to endian swap it. That means reverse it for every byte. A byte is a set of 2 letters/numbers (Example, 001A is 2 bytes).

So now, 5C90 2080 endian swapped is 8020 905C. Now we just need to subtract the Secondary Map Magic from the Endian Swapped Pointer.

8020 905C
-7D35 B000
2EA E05C

So now we see that 2EA0 E05C is our offset for the chunks, from the beginning of the map. But in this case, we are searching the tag, so we need to subtract the tag offset too.

2EA E05C
-2EA A498
3BC4

3BC4 is my offset in this case.

Now Go To that offset, or whatever offset you got.

Image

Congrats, you just followed a reflexive, and what you see now are your reflexive's chunks. Well, do what you wish with this, and I hope you managed to follow this. Thanks for reading.

Also, Thanks to TunesRus90 for teaching me everything I know about Hex and Reflexives (reminds me of the old school days :P)
Post Reply