home comics writing pictures archive about

2014-02-21 - Hex Editing

Hex editors are programs that allow you to modify the binary contents of a file. These editors usually represent this data as hexadecimal digits, hence the name. You can do very powerful things with hex editors but they can also break things quite spectacularly. Generally the process of editing the binary bits of a file involves a lot of trial and error because it’s hard to tell what each part represents; however, some file formats contain plain text strings which can be easily changed. That’s what I used to do

I used to be fairly involved with the G-Mod community and one of the groups in that community was The Skinners. The Skinners were people that spent their time modifying texture files. They would take an existing model and re-skin it to be something new. The Skinners had a problem though, modifying a texture doesn't create a new model it just changed the original. That was where hex editing came in. With a hex editor it was possible to make a copy of the model and then modify the copy to be unique from the original. You first had to change the model’s internal reference to point to the copy. Next you had to modify the texture paths to point to the new ones created by the Skinners.

I tried a little bit of skinning and modelling but the hex editing was what I really enjoyed. One of the draws for me was the word puzzle. With hex editors it is problematic to change the length of the file. This meant that you had to think of a way to create new path names that were unique and descriptive but with the same number of characters as the original. The other reason I enjoyed hex editing was it meant playing around with files on a very low level. Hex editing was probably the start of my path towards becoming a programmer. Playing around with the bits and bytes, changing how the computer perceived a file. It was fun.

Comments: