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.