Aby grzebać w hexach potrzebne są:

  • zainstalowana na dysku twardym gra Clash,
  • program do edycji hexów, np. HxD, którego aktualna wersja znajduje się do ściągnięcia TUTAJ,
  • konwerter hexów, np. TEN,
  • 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:

0 = 00

1 = 01

2 = 02

3 = 03

4 = 04

5 = 05

6 = 06

7 = 07

8 = 08

9 = 09

10 = 0A

11 = 0B

12 = 0C

13 = 0D

14 = 0E

15 = 0F

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.