• Добро пожаловать на WYLEK.ru. Пожалуйста, войдите или зарегистрируйтесь.
 
122 гостей, 2 пользователей

avatar_kurkoff1965

Этот "страшный" HEX-редактор - от простого к сложному

Автор kurkoff1965, 14 января 2014, 14:48:00

« предыдущая - следующая »

kurkoff1965Автор темы

Тема создана 14 января 2014, 14:48:00 Последнее редактирование: 31 июля 2018, 13:13:39 от WYLEK
Этот "страшный" HEX-редактор - от простого к сложному.



В этой теме выкладываем все что знаем про HEX-редакторы - уроки, видеоуроки, примеры, любой справочный материал по любым редакторам данного типа - WinHex, FlexHEX и т.д.

Leserg

Ответ #1 : 14 января 2014, 15:48:00 #1 Последнее редактирование: 31 июля 2018, 13:14:26 от WYLEK
Работа в WinHEX - очень подробно, с картинками (на примере ресурсов CustomLiveWallpaperCreator.exe).

Показать / Скрыть текст
Итак, ты извлек из файла CustomLiveWallpaperCreator.exe с помощью утилиты Restorator ресурс под номером 688 и сохранил его под именем 688.raw. Запусти WinHEX и открой в нём файл 688.raw. В заголовке файла идет строка "JAR CustomLiveWallpaperCreator.jar". Это метка JAR файла, которая является внутренней сигнатурой данных JAR для исполняемого модуля файла CustomLiveWallpaperCreator.exe. После этой строки через разделительный нулевой байт (00) идет сигнатура ZIP-архива. Это два байта 50 4В (или в ANSI-символах - РК). Запомни, все архивы ZIP начинаются в этих двух байт 50 4В (РК). Ты можешь это легко проверить, открыв в НЕХ-редакторе любой ZIP-архив.



Твоя задача - отделить строку "JAR CustomLiveWallpaperCreator.jar" от данных архива, чтобы получить "чистый" архив. Это можно сделать двумя способами:

Первый. Удалить НЕХ-данные строки "JAR CustomLiveWallpaperCreator.jar". Для этого выдели курсором мышки НЕХ-данные строки "JAR CustomLiveWallpaperCreator.jar", включая разделительный байт 00, и нажми клавишу [DEL].



Сохрани файл под другим именем, например, Войдите на сайт для перехода по ссылке (меню программы File -> Save as... (имя файла необходимо указывать с расширением!)). Таким образом мы получили "чистый архив" ZIP.

Второй способ заключается в том, чтобы выделить блок с необходимыми данными и сохранить его в отдельный файл. Для этого указывается начало блока, а затем конец блока. Нам нужно выделить блок с данными архива ZIP. Ты уже знаешь, что архив начинается сигнатурой 504В, поэтому установи курсор мышки на байт 50 (начало сигнатуры), нажми правую кнопку мышки и выбери в контекстном меню команду Beginning of block (Начало блока), горячие клавиши [Alt+1] (запомни эти команды!):



Опускаемся в конец файла, установи курсор мышки на последний байт, нажми правую кнопку мышки и в контекстном меню выбери команду End of block (Конец блока), горячие клавиши [Alt+2] (запомни эти команды!):



В итоге у тебя будет выделен блок с данными архива ZIP. Так как ресурс 688.raw, кроме метки JAR и архива ZIP не содержит больше никаких данных, то операцию выделения блока сданными архива ZIP можно выполнить по-другому. Для этого необходимо выделить всё содержимое файла. Это делается или командой в меню Edit -> Select All, или горячими клавишами [Ctrl+A] (запомни эти команды!):



Затем, установи курсор на начало сигнатуры архива ZIP (байт 50), нажми правую кнопку мышки и в контекстном меню выбери команду Beginning of block (горячие клавиши [Alt+1]):



Получится вот так:



Теперь выделенный блок нужно сохранить в новый файл. Для этого в меню редактора выбери команду Edit -> Copy Block -> Into New File или используй комбинацию клавиши [Ctrl+Shift+N] (запомни эти команды!):



Откроется диалог сохранения файла, где необходимо указать место сохранения и имя файла, включая расширение, например, Войдите на сайт для перехода по ссылке. В итоге, ты также получишь "чистый" файл с архивом ZIP. Этот файл WinHEX откроет в новой вкладке, но делать с ним пока ничего не нужно.

Сейчас ты узнал, как работать в редакторе HEX (на примере WinHEX), и получил архив ZIP. Далее уже работаешь с этим файлом (распаковываешь, находишь необходимые файлы для перевода, переводишь нужные строки и сохраняешь обратно в архив). Рекомендую, перед началом работы, сделать его резервную копию или, после изменения его содержимого, создать новый архив, например, 688_ru.zip, т.е. в нем уже будут переведенные файлы.

После того, как ты окончательно перевел все необходимые данные из архива и создал новый архив, необходимо переделать его в файл ресурсов *.raw, который понимает программа CustomLiveWallpaperCreator.exe. Итак, у тебя есть два файла 688.raw и 688_ru.zip.



Тебе снова понадобится НЕХ-редактор. И снова поставленную задачу можно выполнить двумя путями: или добавить метку JAR (строку "JAR CustomLiveWallpaperCreator.jar", включая разделительный байт 00) к файлу нового архива 688_ru.zip и сохранить его по именем 688_ru.raw, или в исходном файле ресурсов 688.raw данные исходного архива ZIP перезаписать данными нового архива ZIP из файла 688_ru.zip.

Рассмотрим первый способ. Открой в НЕХ-редакторе файл ресурсов 688.raw и файл нового архива 688_ru.zip. Перейди на вкладку с файлом 688.raw. Если ты помнишь метка JAR представляет собой строку "JAR CustomLiveWallpaperCreator.jar", которая находится перед данными архива ZIP. Между меткой JAR и сигнатурой ZIP-архива стоит разделительный нулевой байт (00). Это хорошо видно в редакторе. Тебе нужно выделить НЕХ-значения метки JAR, включая нулевой разделительный байт. Это можно сделать или курсором мышки с нажатой левой кнопкой, или командами контекстного меню выделения начала и конца блока (ты уже с ними знаком).



Теперь скопируй выделенные НЕХ-значения в буфер обмена. Для этого воспользуйся командой меню Edit -> Copy Block -> Hex Values или клавиатурной командой [Ctrl+Shift+C] (запомни эти команды!):



Теперь переключись на вкладку с файлом архива 688_ru.zip. Метка JAR должна находиться перед данными архива ZIP, поэтому установи курсор на нулевой адрес, щелкнув по первому байту (адрес 00000000).



С этой позиции нужно вставить метку JAR. Для этого воспользуйся командой меню Edit -> Clipboard Data -> Paste или клавиатурной командой [Ctrl+V] (запомни эти команды!):



WinHex выдаст предупреждение:



Нажми ОК. Готово.



Теперь сохрани файл под новым именем, например 688_ru.raw. Так как мы повторили структуру файла с ресурсом 688.raw, то конечно же теперь у нас будет новый файл RAW, но уже с нашим, новым архивом.

Рассмотрим второй способ. Он аналогичен предыдущему, только теперь мы будем перезаписывать данные оригинального архива новым архивом. Открой в НЕХ-редакторе файл ресурсов 688.raw и файл нового архива 688_ru.zip. Перейди на вкладку с файлом 688_ru.zip. Это данные архива и нам нужно их все скопировать в буфер обмена. Клавишной командой [Ctrl+A] выдели весь файл, или воспользуйся командой меню Edit -> Select All (запомни эти команды!). Теперь скопируй данные в буфер обмена как НЕХ-значения. Для этого дай клавиатурную команду [Ctrl+Shift+C] или воспользуйся командой меню Edit -> Copy Block -> Hex Values (запомни эти команды!). После этого перейди на вкладку с файлом 688.raw. Если ты помнишь, началом архива ZIP является сигнатура 50 4В (РК). Тебе нужно установить курсор мышки на начало сигнатуры архива ZIP, т.е. на байт 50:



Теперь нужно данные оригинального архива перезаписать данными нового архива. Это делается командой в меню Edit -> Clipboard Data -> Write или при помощи клавиатурной команды [Ctrl+B] (запомни эти команды!):



Перезапись означает, что текущие НЕХ-значения будут перезаписаны новыми.



В итоге получится вот так:



Теперь сохрани файл под новым именем, например 688_ru.raw. Так как мы повторили структуру файла с ресурсом 688.raw, то конечно же теперь у нас будет новый файл RAW, но уже с нашим, новым архивом.

Теперь с помощью утилиты Restorator выполни в файле CustomLiveWallpaperCreator.exe замену оригинального ресурса на новый из файла 688_ru.raw. Сохрани и проверь программу в работе. Если нигде не сделал ошибок (включая перевод), то программа будет работать.

Вот и все.
[свернуть]
Кто ищет, тот всегда найдет!

* Ваши права на сайте

    TinyPortal

  • Вы не можете создавать статьи.
  • Вы не можете изменять свои статьи.
  • Вы не можете писать комментарии.
  • Вы не можете управлять статьями.
  • Вы не можете загружать файлы в TPdownloads.
  • Вы не можете управлять TPlistimages.

    Simple Machines

  • Вы не можете удалять темы.
  • Вы не можете создавать темы.
  • Вы не можете отвечать на сообщения.
  • Вы не можете прикреплять файлы.
  • Вы не можете изменять свои сообщения.
  • Вы не можете удалять свои сообщения.

 аталог@MAIL.RU - каталог ресурсов интернет Яндекс.Метрика