ФЭНДОМ


Сейчас почти не применяется, а в начале тысячелетия это был единственный способ модить Мафию.
Когда windows открывает файл c расширением .txt в Блокноте, мы видим текст. В то же время каждая буква закодирована байтом - числом от 0 до 255 или в 16-ричной форме от 00 до FF. Хекс редакторы позволяют вместо букв видеть байты.
Каждый байт кроме своего значения (value) описывается еще и адресом (adress) - номером по порядку от начала файла).

Представление типов данных Мафии в файлахПравить

Всю информацию компьютер хранит в байтах. Что именно закодировано в нескольких байтах определяет программа, читающая байты. В четырех байтах расположенных по одному и тому же адресу может храниться, например, целое число 4294967295, дробное 3.4*10^38, или четыре переменных = 256.

---------------------------------------------------------
Тип     Число  Хранящиеся
данных  байт   данные 
---------------------------------------------------------
byte     1     целые числа от 0 до 255
short    2     целые от 0 до 65536
long     4     целые от 0 до 4 млн
float    4     дробные
string   x     строка текста, иногда заканчивается на 00
---------------------------------------------------------

О кодировании:

  • С данными типа byte все просто, переводим их в 16-ричный вид: 1->01, 9->09, 10->0A, 255->FF.
  • long занимают четыре байта, свободные позиции добавляются нулями, например, 22384 -> 00 00 56 12. Но это еще не все. Компьютеру удобнее читать задом наперед, то есть число 22384 в файле будет записано как 12 56 00 00.
  • Каждый байт переменной типа string переводится в ASCII код по таблицам.
  • float конвертируется очень не просто, зато онлайн.

В HW встроен калькулятор для преобразования (надо написать о его работе).

Задачи хексингаПравить

Хексинг
Найти байт по адресу
Сигнатуры
Выделить блок байтов заданой длины
Найти блок байтов или текст
Сравнение двух файлов

Скоро, очень скоро. А пока приложу картинку

РедакторыПравить

Их миллион, мафиози почему-то рекомендуют HW.

Пример использованияПравить

Добавление вагонов трамваю