Aby grzebać w hexach potrzebna jest zainstalowana na dysku twardym gra Clash, program do edycji hexów, np. HxD, którego aktualna wersja pod numerem 2.0 znajduje się do ściągnięcia TUTAJ, konwerter hexów, np. TEN, a także nieco wiedzy o szesnastkowym systemie liczbowym (zwanym również systemem heksadecymalnym, w skrócie hex). Jeżeli natomiast nie znamy żadnych adresów odpowiedzialnych za określone wartości w grze tylko chcemy ich sami szukać na własną rękę to potrzebne będą jeszcze zmysł analityczny, dużo samozaparcia, anielska cierpliwość i sporo wolnego czasu. 😉

Plik w którym grzebiemy to CLASH.EXE, dlatego przed dokonaniem jakichkolwiek zmian zaleca się przekopiowanie tego pliku w jakieś inne miejsce w ramach backup’u, dzięki czemu zawsze będziemy mogli przywrócić jego oryginalną wersję w przypadku kiedy coś pójdzie nie tak. Po dokonaniu zmian i ich zapisaniu, w katalogu z grą powstanie jeszcze jeden plik o nazwie CLASH.EXE.bak, ale nie należy się tym przejmować (możemy go śmiało usunąć).

W Internecie można znaleźć sporo różnego rodzaju materiałów dotyczących grzebania w hexach, więc ograniczę się jedynie do podstaw niezbędnych do zrozumienia treści znajdujących się w tym dziale, dlatego jeżeli ktoś jest zupełnie zielony w tym temacie to zalecam poszukać ich na własną rękę i nieco się podszkolić.

Wszystko co zasadniczo musimy wiedzieć o systemie szesnastkowym to sposób w jaki zapisywane są poszczególne wartości, a mianowicie cyfry 0-9 mają te same wartości co w systemie dziesiętnym, natomiast do zapisania liczb 10-15 używa się pierwszych sześciu liter alfabetu łacińskiego, tj. A, B, C, D, E, F. Wygląda to tak jak poniżej:

00 = 0

01 = 1

02 = 2

03 = 3

04 = 4

05 = 5

06 = 6

07 = 7

08 = 8

09 = 9

0A = 10

0B = 11

0C = 12

0D = 13

0E = 14

0F = 15

Jak łatwo zauważyć, każda wartość w systemie hex składa się z 2 bajtów. No dobrze, a co jeżeli mamy jakąś wartość większą od 15? Wtedy najlepiej posłużyć się konwerterem hexów, który przeliczy nam interesującą nas wartość zapisaną w systemie dziesiętnym (zwanym również systemem decymalnym, w skrócie dec) na odpowiadającą mu wartość w systemie szesnastkowym, np. 100 w systemie dec zapisane jest jako 64 w systemie hex.

Maksymalna wartość w systemie hex która mieści się w 2 bajtach to FF, co po przeliczeniu na system dec równa się 255. A co z wartościami dec większymi od 255? Wtedy system hex wykorzystuje kolejne 2 bajty, przez co każda kolejna wartość większa od 255 zapisywana jest już w 4 bajtach. Ale uwaga – załóżmy, że w systemie dec mamy wartość 400 którą chcemy przeliczyć na hexy, co równa się 190. W jaki sposób system zapisuje tę wartość w 4 bajtach? Otóż, przed tą wartością wstawia 0, dzięki czemu otrzymujemy 0190, a właściwie 01 90. Żeby jednak nie było zbyt prosto, system zamienia jeszcze te wartości miejscami, przez co 400 w systemie hex zostanie zapisane jako 90 01. 🙂

To chyba tyle słowem wstępu, dlatego życzę owocnego grzebania w hexach, a w razie jakichkolwiek pytań zapraszam na forum.