Статья по работе с Hex для начинающих
Здесь мы рассмотрим работу с Hex-данными на примере использования самого популярного Hex-редактора - WinHex.
Итак начнём:
1. Начало:
Открываем наш файл в редакторе WinHex, самый простой способ - открыть файл из контекстного меню проводника, щёлкаем правой кнопкой мыши на нашем файле и выбираем "Редактировать в WinHex" или "Open with WinHex" зависит от того какая у вас версия WinHex. Откроется окно редактора, в левом окне мы видим Hex-значения, в правом окне текст зашитый в теле программы и код программы.
[реклама вместо картинки]
2. Поиск нужного текста:
По умолчанию, при запуске в WinHex метка стоит в окне Hex-данных, но так как нам нужен текст ставим метку в самый верх правого текстового окна. Заходим в поиск текста, вводим искомое слово, ставим галку в чекбоксе "Слово целиком" (иначе придётся долго ползать по всему окну) и нажимаем "ОК". Редактор находит первое слово (по направлению сверху - вниз). Если это не наше слово (одинаковых слов будет много) жмём F3 и идём дальше до тех пор пока не доберёмся до нужного нам слова.
[реклама вместо картинки]
Например переведём слово "Applications" в программе на снимке ниже.
[реклама вместо картинки]
[реклама вместо картинки]
3. Перевод:
Выделяем найденное слово (блок), жмём Strl + С или "Правка" > "Копировать блок" > "Обычно", переводим его в переводчике, в нашем случае это - "Приложение" и вводим вместо "Applications". У нас остаётся два лишних знака (буквы), переставляем метку в левое окно Hex-значений на значение первой лишней буквы и жмём на "0" забиваем нулями обе лишние буквы. Жмём "Сохранить", сворачиваем окно редактора (выходить из него не надо) и запускаем нашу программу. Проверяем, если всё в порядке, ищем и переводим следующее слово, если же что то не так то разворачиваем окно редактора и жмём Strl + Z до тех пор пока не восстановятся оригинальные значения (отмена).
[реклама вместо картинки]
Лишние знаки:"ns"
[реклама вместо картинки]
Забиваем нулями:
[реклама вместо картинки]
Получаем результат:
[реклама вместо картинки]
Примечание:
Нули принимают не все программы, в этом случае забиваем лишние знаки пробелами. И наоборот, некоторые программы не принимают пробелы, на их месте отображаются вертикальные чёрточки.
4. Удлинение слова:
Переведём на примере слова "Explorer". Это слово переводится как "Проводник", как видим в нём на один знак больше, поэтому нам надо его удлинить. После слова "Explorer" идут нулевые значения, на их место можно вводить дополнительные знаки, главное чтобы между последним знаком и кодом программы (разделитель и т.д.) было не менее одного нуля.
[реклама вместо картинки]
Примечание:
В некоторых программах, при удлинении слова, даже если вы вводите дополнительные буквы на нулевые значения, лишние буквы просто не отображаются. То есть фиксированный размер элемента. В нашем случае нам попалась как раз такая программа результат видим ниже.
[реклама вместо картинки]
И в дополнение:
Не закрывайте WinHex, пока не убедитесь что всё нормально, просто сворачивайте его окно и проверяйте файл, иначе после закрытия редактора вам не удастся отменить изменения и придётся ковыряться вручную, (поиск, редактирование).
Ну вот пожалуй и всё, вопросы в студию!