Руcификация своими руками

Xakep, номер #044, стр. 044-028-7


STRINGTABLE

{

1, "Не удается открыть файл %%.\n\nПроверьте наличие диска в устройстве."

3, "Не удается найти файл %%.\n\nСоздать новый файл с таким именем?"

5, "Файл %% уже существует.\n\nЗаменить его?"

10, "Текст в файле %% был изменен.\n\nСохранить изменения?"

11, "Безымянный"

12, " - Блокнот"

}

И последним номером идет RCDATA.

object FormMain: TFormMain

Left = 128

Top = 62

HorzScrollBar.Visible = False

VertScrollBar.Visible = False

ActiveControl = ChkBoxAutorun

BorderIcons = []

BorderStyle = bsNone

Caption = ' W i n B o o s t 2 0 0 1 G o l d E d i t i o n '

ClientHeight = 453

ClientWidth = 613

Color = 8568008

Font.Charset = DEFAULT_CHARSET

Font.Color = 3355443

Font.Height = -9

Font.Name = 'MS Sans Serif'

Font.Style = []

Icon.Data = {

0000010001002020000000000000A80800001600000028000000200000004000

}

OldCreateOrder = True

Position = poScreenCenter

Scaled = False

OnCloseQuery = FormCloseQuery

OnCreate = FormCreate

OnShow = FormShow

PixelsPerInch = 96

TextHeight = 13

object CoolForm1: TCoolForm

left = 0

top = 0

width = 613

height = 453

Align = alClient

Picture.Data = {

07544269746D617028B80C00424D28B80C000000000036000000280000006502

}

OnMouseMove = SemuaMouseMove

Mask2 = {00000000}

end

То, что в виде цифр, - это рисунок и значок в виде двоичного кода. При извлечении становятся обычными файлами. Здесь частично действуют правила диалогов, например, стили и размер объекта. Только записаны они в другом виде. Раздел RCDATA бывает только в программах, сделанных на Дельфи. Сюда навалено в одну кучу все подряд - текст, рисунки, звук, видео, меню. Для русификации надо изменять Caption = 'ХХХХ' и Hint = 'ХХХХ'. Иногда ресурсы RCDATA записаны в виде HEX кода.

Результат

После того как переведены все меню, диалоги, стринги и перерисованы надписи на рисунках, русификация в принципе готова. Осталось создать результат, то есть патч, который будет заменять все измененные вами ресурсы у других. Патч можно сделать и в Restorator-е, и в сторонних программах. Допустим, у тебя есть в одной папке оригинальный файл notepad.exe и измененный файл notepad1.exe. Открываем в Restorator-е измененный файл, запускаем мастер создания патчей (Tools-> Create ResPatcher...) Next, вводим имя оригинального файла notepad.exe. Дальше вводим имя файла, который получится после запуска патча, всякие инструкции и свои координаты. В патч войдут все измененные в Restorator-е ресурсы (они отмечены стрелочками). Кстати, сам патч тоже сжат, так что просто так ресурсы, которые в нем содержатся, из него не достанешь.

Как все удачно пропатчить

Патч перед заменой ресурсов сравнивает размер файла с тем, на основе которого его делали. Если размер не совпадает, то облом. После замены ресурсов файл записывается поверх старого, а старый сохраняется как backup (если не снята отметка в патче). Так что если во время замены ресурсов данная программа открыта или файл «только для чтения», то тоже облом.

Назад на стр. 044-028-6  Содержание  Вперед на стр. 044-028-8