BlackStar Localizations Studio

Объявление

Прежде чем начать работу с форумом, прочитайте правила: ПРАВИЛА ФОРУМА

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » BlackStar Localizations Studio » Проблемы с переводом » SysTracer. HEX редактор и Radialix не видят часть ресурсов


SysTracer. HEX редактор и Radialix не видят часть ресурсов

Сообщений 61 страница 90 из 95

1

SysTracer Pro Rus
http://s3.uploads.ru/S7BDZ.jpg

Офсайт программы: http://www.blueproject.ro/systracer

При переводе SysTracer, столкнулся с тем, что HEX редактор и Radialix2 не видят часть ресурсов.
В программе имеются вкладки и даже переведя HEX редактором все встречающиеся слова Snapshots, вкладка остается на буржуйском.
Есть подозрение, что это картинки, но HyperSnap спокойно извлекает из них текст!

Snapshots   Registry   Files   Applications   Remote scan   Help & Register

аналогичная проблема и с разделом помощи, в программе имеется встроенная справка, но ни HEX редактор ни Radialix
не видят этих ресурсов!

Еще одна проблема - это когда переводишь заголовки колонок, они становятся кракозябрами.
Автор проги вообще юморист - часть ресурсов в Юникоде, а часть в Румынской кодировке, но на инглише!  :dontknow:

Ссылка на прогу

на Rghost выложил

Буду рад вашей помощи, а то один я с ней не справлюсь  :)

==================================================
Сюда будем добавлять новые версии проги:

SysTracer Pro v.2.10.0.109 Rus Portable

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

Отредактировано dan8888 (2012-11-06 22:28:05)

0

61

dan8888 написал(а):

только слово Name не могу найти

К сожалению плагин Radialix для IDA не может найти все жестко-закодированные строки, поэтому остается один из возможных вариантов поиска, например в НЕХ-редакторе. Обрати внимание на кодировку этих строк в Radialix'e - UTF-16, поэтому поиск слова Name в Нех-редакторе также следует выполнять в этой кодировке. Вот я нашел тут:

http://savepic.org/2469514m.png

Перевод нужно также вводить символами юникода. Помочь в этом может утилита Solenij 1251 to HEX. Кстати, Solenij, у меня есть предложения по доработке вашей программы 1251 to HEX:
1) отображение количество байт получаемого текста, особенно это актуально для кодировки Unicode. А то наберешь предложение, и не знаешь поместится оно или нет, приходится копировать байты в новый документ НЕХ и потом сравнивать с оригиналом. А так бы сразу было понятно, что требуется видоизменить перевод таким образом, чтобы он не превысил определенное количество байт.
2) добавить для каждого поля кнопку копировать содержимое в буфер обмена. Иначе приходится вручную выделять содержимое всего поля и потом копировать в буфер обмена.

dan8888 написал(а):

а при переводе атрибутов файла (Archive, Hidden, Read Only, Directory) опять лезут крокозябры ((( кодировка срр866 не подходит.

Я уже писал о этой проблеме выше. Программа выводит информацию в виде документов HTML в кодировке Unicode. Эта кодировка зашита в файле оверлея. И та часть жестко-закодированных строк, которые набраны в этой кодировке, на русском отображаются нормально, а вот та часть, которая набрана в кодировке 1252, выводится кракозябрами. При генерации сообщений (что в окне программы, что при создании отчета) программа конвертирует строки 1252 в кодировку Unicode. После перевода на русский таких строк, программа все равно их считывает в кодировке 1252 (может я ошибаюсь, т.к. точно не знаю - это только мои предположения), где нет символов кириллицы, вот и получаются кракозябры. Скорее всего там даже не кодировка, а набор символов, который она использует, т.е. шрифт. Я пробовал в файле оверлея заменить кодировку Unicode на windows-1251, но это ничего не дало, отсюда я сделал вывод, что считывание строк происходит с заданным где-то набором символов (или кодировкой). Т.е. так, как получилось для заголовков вкладок.

Вот смотри:

http://imgs.su/tmp/2012-11-25/1353853466-590.jpg

Формат документа "Unicode", а эта строка "Registry differences:" в Radialix'e имеет формат windows-1252. После перевода её на русский, я подставлял различные кодировки, создавал файл и проверял в работе - эффект ноль - все время идут кракозябры.

Замена кодовой страницы в реестре тоже ничего не дает. Значит мы снова имеем дело со шрифтом. А может в программе используется функция, что-то типа ANSItoUnicode, и вот в её аргументах прописан набор символов (или кодовая страница).

Я в основном файле нашел еще шрифт MS Shell Dlg, но какой набор символов он использует не знаю.

Думаю, что на данный момент мы уже сделали более чем достаточно и переводить атрибуты файла необязательно.

0

62

Я, конечно, может и похож на ламера, но как этой прогой пользоваться? :D

0

63

Horna,
этого румына уже придушить хочется!  %-)

Nexus

... но как этой прогой пользоваться? :D

:D  :D  :D  развеселил )))

По пунктам:
1 - жмем кнопку Сделать снимок
2 - выбираем какие ветки реестра и папки \ диски мониторить  ->  жмем Старт (прога делает снимок системы)
3 - устанавливаем любую Супер-Пупер прогу, настраиваем ее и закрываем.
4 - делаем еще один снимок с такими же настройками (см. пункт № 2)
5 - выделяем мышкой (Ctrl + ЛКМ) сделанные снимки и жмем Сравнить  -> прога показывает различия в
     состоянии реестра и файлов до и после установки проги.

     Ее удобно использовать для создания репаков, продления триала, корректного удаления софта и т.д...
     В контекстном меню, при клике на ветки реестра, есть опция экспорта различий в
     *.reg файл Восстановления или Изменения.

Отредактировано dan8888 (2012-11-26 12:03:52)

0

64

Ага, понятно, просто не дошло до меня...

0

65

Рассмешило то, что ты ее в отладчике излазил вдоль и поперек и добрался до самых сокровенных тайн кодировок, а саму ее так толком и не тестил :)
Прога действительно толковая!

0

66

to All
Вроде бы добил экзешник... там конечно еще попадаются строки, которые можно перевести... но думаю, что это стоит отложить до появления баг-репортов от юзеров...
Просто не хочется лезть туда, т.к. не знаю как вызвать эти диалоги из программы. (ну нету у меня сетевых ПК дома  :dontknow: )
Большей частью это касается Удаленного сканирования ПК...

Файл, Версия, Атрибуты, Компания и т.д - перевел  :blush: и вроде без кракозябр )))
В общем, если и у вас на компах этот файл будет корректно работать, значит мы победили румына!  :flag:

Ссылка на файл
в очередной раз пофиксил пару досадных ошибок ))))

Отредактировано dan8888 (2012-11-26 15:09:06)

0

67

dan8888, а как же это (то, с чего все началось):

dan8888 написал(а):

В программе имеются вкладки и даже переведя HEX редактором все встречающиеся слова Snapshots, вкладка остается на буржуйском.
Snapshots   Registry   Files   Applications   Remote scan   Help & Register

аналогичная проблема и с разделом помощи, в программе имеется встроенная справка, но ни HEX редактор ни Radialix
не видят этих ресурсов!


Мы тут такое исследование завернули, а ты не воспользовался его результатами.  :huh:

В общем dan8888, я взял на себя смелость чуть-чуть подкорректировать твою работу, чуточку больше перевел в жестко-закодированных строках (кроме тех, что касаются удаленного сканирования) и добавил переведенный оверлей. В таком варианте, я думаю, можно всесторонне протестировать программу. Вот ссылка на загрузку (32-бит версия) : скачать.

Если программу необходимо установить, просто переименуйте файл SysTracer.exe, например в SysTracer1.exe и запустите. Перед вами должно появится такое диалоговое окно:

Скриншот

http://imgs.su/tmp/2012-11-26/1353943309-538.jpg

Если кого-то обидел или забыл, не обессудьте.

Отредактировано Horna (2012-11-26 19:35:15)

0

68

Вот еще версия для 64-бит систем: скачать.

_Александр, я вообще думал, что оформлением  :writing:  занимаются модераторы.

0

69

Мы тут такое исследование завернули, а ты не воспользовался его результатами.

Horna, если честно, когда вы с Nexus подключились к работе, я был очень рад этому, т.к. один бы я не справился.
И я прекрасно отдаю себе отчет, что вы вдвоем выполнили самую сложную часть работы (и так скромно упомянули про себя в "эбауте").
Без вашей совместной работы ничего бы не получилось.
У меня конечно есть отладчик и мануал от Рикардо Нарваха, но для меня это пока - "темный лес".
И я почему то с самого начала думал, что каждый сделает свою часть перевода, а потом соберем все это в кучу и получим полный перевод. Надеюсь, что вы меня простите за такую самонадеянность  :)
И на роль главного переводчика программы я не тяну  :no: , поэтому будет уместнее как-то попроще меня там обозвать  :blush:

небольшой офтоп

Для меня комп и все что с ним связано - это одно большое хобби, т.к. моя основная работа не имеет к нему никакого отношения и в рабочее время я не сижу в офисе перед монитором.
Все что я знаю и умею - это метод научного тыка "И опыт, сын ошибок трудных" ©
Это я к тому, что может быть я и смог бы сделать перевод справки и вкладок, но тогда эта тема превратилась бы в мои сплошные почемучки ))) и администрация бы меня забанила нафик за излишнее любопытство и кучу несуразных вопросов ))) (шучу)
А если серьезно, то я очень вам благодарен, что вы поддержали этот проект своими знаниями и своим свободным временем.
Ну вот, как то так..
Простите, если кого задел или обидел.

P.S. в теме неоднократно поднимался вопрос о том, что надо бы сделать мануал - поддерживаю эту идею!
Ведь если будет подробное описание работы, да еще и с картинками... ему цены не будет!

0

70

dan8888
Ха! Ну ты сказанул. Вот у меня работа тоже не связана с компами, а со стройматериалами, и на компы находится только 2-3 часа вечером + кое-что на выходных. + Я не женат :D .Просто с компами дружу со времен ZX Spectrum... Как говорили здесь, просто в жизни поменялись приоритеты.

0

71

Nexus
почти коллеги, я отделкой занимаюсь  http://s15.rimg.info/5b445819209d5db49391fb2da0b9f0cc.gif
а начал с Pentium 4

P.S. на офф-сайте, 50% новогодние скидки  :crazyfun:

Special promotional pricing
from Black Friday to Cyber Monday
50% off until November 26, 2012

Отредактировано dan8888 (2012-11-27 11:52:52)

0

72

Есть предложение автору проги закинуть переведенный вариант его творения. Как он отреагирует...

0

73

Да можно... лишь бы протектор потом на прогу не повесил  8-)
Что на этот счет думают другие форумчане?

0

74

Nexus написал(а):

Есть предложение автору проги закинуть переведенный вариант его творения. Как он отреагирует...

Не знаю...  Не знаю...
Скорее автор расстроится и обидится  :rofl: что прогу расковыряли.
(Он ведь не просто такой гемор замутил  :rofl: )

Тем более лицензию на программу никто не покупал.  :whistle:

Если бы автор хотел что бы программа была и на других языках,
он бы сделал возможность локализации через дополнительные файлы или плаги. ;)
ИМХО.
Но можно конечно попробовать... :yep:

0

75

Тем более лицензию на программу никто не покупал.

так экзешник то не ломали... прога все так же просит ключ...
может ему сперва просто написать и спросить что он об этом думает?
вдруг парень окажется адекватным?

0

76

Nexus написал(а):

Есть предложение автору проги закинуть переведенный вариант его творения. Как он отреагирует...

dan8888 написал(а):

так экзешник то не ломали... прога все так же просит ключ...

Tekton написал(а):

Но можно конечно попробовать...


Ребята! Не морочьте голову! Вы лицензионное соглашение читали??? :mad:

Там черным по белому написано: "ЗАПРЕЩАЕТСЯ декомпилировать, дизассемблировать, модифицировать, изменять программу, а также создавать видоизмененные копии, включая локализации."

Зачем нам эти неприятности? Мы и так уже нарушили все пункты этой лицензии (тем более я её из программы удалил!) и автор нас за это по головке не погладит, а навесит кучу защит и еще чего похуже.

0

77

Horna написал(а):

Кстати, Solenij, у меня есть предложения по доработке вашей программы 1251 to HEX:1) отображение количество байт получаемого текста, особенно это актуально для кодировки Unicode. А то наберешь предложение, и не знаешь поместится оно или нет, приходится копировать байты в новый документ НЕХ и потом сравнивать с оригиналом. А так бы сразу было понятно, что требуется видоизменить перевод таким образом, чтобы он не превысил определенное количество байт.2) добавить для каждого поля кнопку копировать содержимое в буфер обмена. Иначе приходится вручную выделять содержимое всего поля и потом копировать в буфер обмена.

Ok. Позже попробую доделать.

Horna написал(а):

я вообще думал, что оформлением    занимаются модераторы.

У нас форум открытый - каждый может создать тему, главное в правильном разделе.

Tekton написал(а):

Не знаю...  Не знаю...Скорее автор расстроится и обидится   что прогу расковыряли.

Я тоже так думаю. Если он не делал локаль на русскоязычное население значит продавать программу русским он и не рассчитывал.

0

78

Вы лицензионное соглашение читали???

Тыкни пальцем в того, кто его вообще читает (кроме тебя) :rofl:

Кстати, это уже окончательный вариант перевода? То есть уже ничего не нужно править, добавлять? Если нужна помощь, то чем смогу помогу, а то я как-то подзабросил перевод одного игрового редактора (TES V Skyrim)...

0

79

Horna,
Если сделать один снимок, а потом нажать на Просмотр снимка и во вкладке Реестр и Файлы воспользоваться Поиском, то там есть пара не переведенных строк в контекстном меню результатов поиска.

Скрины

http://s3.uploads.ru/eIYqA.gif
http://s2.uploads.ru/95ZlN.gif

И во вкладке Приложения есть три строки на инглише (в настройках снимка надо поставить галку на приложениях).

Скриншот

http://s2.uploads.ru/P2QOE.gif

И во вкладке Справка есть один нюанс

Скриншот

http://s3.uploads.ru/zH0mU.gif

В данный момент у вас максимально полный проект перевода, поэтому и не стал сам туда лезть...

0

80

dan8888, твоя правда, недоглядел и буду исправлять.

dan8888 написал(а):

В данный момент у вас максимально полный проект перевода, поэтому и не стал сам туда лезть...

Если есть желание, потренируйся доставать из файла ZLIB-архив, потом распаковать его и извлечь оверлей. При выходе новой версии, если ты планируешь поддерживать перевод, твоей задачей будет как раз извлечь архив, распаковать его, заменить оверлей на переведенный, затем запаковать и вставить обратно в файл. Тут ничего сложного нет, тем более я не думаю что оверлей будет меняться от версии к версии (я сравнил его с двумя предыдущими релизами - он один и тот же). Поэтому попробуй извлечь оверлей из моего файла.

Nexus написал(а):

Тыкни пальцем в того, кто его вообще читает (кроме тебя)

Я не считаю чем-то неприличным или зазорным ознакомиться с текстом лицензии. Там иногда такие перлы бывают, что волосы дыбом становятся. Например есть программы, которые не запакованы и никак не защищены, но таблетки для них нет. Почему? И дело не в том, что программа не интересна рядовому пользователю или не популярна, как раз наоборот. А все дело в лицензии. Там вполне серьезно пишут, что при обнаружении факта нарушения хоть одного пункта соглашения, первоочередной задачей фирмы становится поиск и наказание виновного. Если лет десять назад на это можно было закрыть глаза, то сегодня защита авторских прав добралась и до наших бескрайних просторов. Одно дело, когда ты делаешь это для себя и своих друзей, и совсем другая картина, когда в лоб заявишь автору, что мол смотри как я поиздевался над твоей программой. Я вас не пугаю, просто высказал свое мнение.

Nexus написал(а):

Кстати, это уже окончательный вариант перевода? То есть уже ничего не нужно править, добавлять?

Думаю, что окончательный. Я проанализировал каким макаром программа выполняет конвертацию кодировки из ANSI в Unicode (при генерации отчетов HTML) и сделал вывод, что тут мы бессильны. При конвертации символы берутся только из верхней половины таблицы ASCII:

http://savepic.ru/3351716m.png

Если значение символа более 7F, то он просто копируется в документ. Ну а символы кириллицы находятся во второй половине таблицы (смотрите рисунок). А в юникоде для русских букв совсем другие значения, поэтому и получается в итоге ерудна. Например, код русской буквы "Р" - D0 в таблице ASCII. Значение D0 больше 7F, поэтому оно просто копируется. Но в юникоде русские символы кодируются двумя байтами и для буквы "Р" это будет 2004:

http://imgs.su/tmp/2012-11-28/1354100571-419.jpg

Так как значение символа выпадает за пределы верхней половины таблицы, то еще по какому-то алгоритму к нему добавляется второй байт FF. В итоге в юникоде для русской буквы "Р" получается значение D0FF, что никак не является 2004:

http://imgs.su/tmp/2012-11-28/1354100859-419.jpg

Вы видите, что в юникодном документе идут русские символы из второй половины таблицы ASCII, что не соответствует кодированию кириллицы в формат юникода. Вот мы и наблюдаем такую картину:

http://imgs.su/tmp/2012-11-28/1354101027-419.jpg

Там написано "Различия в реестре" и в юникоде должно быть вот так

http://imgs.su/tmp/2012-11-28/1354101199-419.jpg

Не знаю может как-то можно изменить логику работы, но это уже высший пилотаж, который мне не подвластен, да и наверное он и не стоит того. Поэтому я считаю, что на этом можно и закончить.

-----
Исправил 32-бит версию программы: скачать.
Судя по тому, что из присутствующих здесь на форуме 64-бит версию программы никто не качал, то я пока не стал давать на неё ссылку.

Отредактировано Horna (2012-11-28 18:34:14)

0

81

Horna
Точь в точь такая хрень была и в проге Winhex. Надо подкорректировать некоторые API функции в коде проги... А вообще то слишком много заморочек для этой проги.

Там вполне серьезно пишут, что при обнаружении факта нарушения хоть одного пункта соглашения, первоочередной задачей фирмы становится поиск и наказание виновного

А есть пример таких прог? Просто интересно.

Кхе... Номер с API функциями не прокатил, значит остается опять задротство... Но прога уже порядком надоела! :mad: Поэтому пока пускай все так остается, а там посмотрим.

Отредактировано Nexus (2012-11-28 22:32:16)

0

82

Horna

Если есть желание, потренируйся доставать из файла ZLIB-архив, потом распаковать его и извлечь оверлей.

С удовольствием! Только подскажите хоть с чего начать, а то я смутно представляю как к нему подобраться  :dontknow:

0

83

dan8888 написал(а):

Только подскажите хоть с чего начать

Внимательно читай тему с начала. :)
Особенно посты от Horna

0

84

До недавних пор я не знал (да и вы наверное тоже), что при программировании ПО можно воспользоваться услугами архиватора ZLIB. Это свободная кроссплатформенная библиотека для сжатия данных, которая поставляется вместе с различными пакетами разработки программного обеспечения. Используется в основном для для сжатия сетевых протоколов передачи потоковых данных между Клиентом и Сервером. Особенностью архиватора ZLIB является возможность быстрой (на лету) работы с данными в памяти ПК (сжатие-распаковка) и очень малая загрузка процессора на выполнение этих операций. Некоторые программисты используют его для сжатия ресурсов программы. При запуске данные распаковываются в память ПК и уже оттуда программа считывает необходимые ей данные. Этот факт можно использовать как простейшую защиту от любопытных глаз.

Чем полезна эта информация для нас?

Вам, наверное, уже неоднократно попадались программы, которые вроде как и не защищены ничем, не запакованы, но ресурсы их недоступны. Ярким примером, например, является программа SysTracer. Вот теперь, зная про архивацию данных, можно выполнить проверку таких программ на наличие в них архивов ZLIB.

Сигнатура архива ZLIB - 78DAEC. Эти три байта всегда и везде одинаковы (я в этом убедился на других программах) и указывают на начало потока. Особенностью ZLIB является то, что ему не нужно знать окончание архива, он работает только с потоком данных. Встретив сигнатуру архива, движок просто начинает распаковку данных до следующей сигнатуры, если она есть, или пока распаковывать станет нечего. Если, к примеру, поток будет обрезанным, то он все равно будет распакован, но открыть полученный после распаковки файл не получится, т.к. он будет просто неполным.

Итак, технология поиска и извлечения данных из ZLIB-архива, которые находятся в интересуемой нас программе, мне видится такой. Для начала инструменты:

1) НЕХ-редактор. Подойдет любой, в котором вы себя уверенно чувствуете. У меня это WinHex и далее, в примерах, я буду использовать его.
2) Программа для работы с архивами Zlib - Simplyzip, оффсайт - http://www.paehl.de/cms/simplyzip.

На примере программы SysTracer (уже русифицированной) начнем.

Откройте программу в НЕХ-редакторе и задайте поиск сигнатуры ZLIB-архива - 78DAEC:

http://imgs.su/tmp/2012-11-30/1354268175-315.jpg

Если эта сигнатура в файле есть, то она будет показана. Если нет, то и архива в файле такого нет. В нашем случае, с программой SysTracer, редактор перейдет к началу сигнатуры, вот она:

http://imgs.su/tmp/2012-11-30/1354268355-315.jpg

Теперь наша задача скопировать все данные архива в отдельный файл. Начало у нас есть, это байт 78, а вот конца архива нет. Ничего страшного, мы уже знаем, что при распаковке архиватору не нужно знать конец архива. Если размер потока превышает размер запакованных данных, то лишние байты просто игнорируются и вы получите чистый файл. Поэтому можно поступить так: выделить в НЕХ-редакторе все байты начиная с байта 78 и до самого последнего байта программы. Это можно сделать вручную, установите курсор на байт 78, нажмите левую кнопку мышки и поведите курсор вниз, до самого последнего байта, а затем отпустите кнопку. Но можно это проще, представьте, что файл большой, тогда выделять байты будет утомительно. Поэтому, поставьте курсор в позицию байта 78 и нажмите правую кнопку мышки. В контекстном меню выберите команду "Beginning of block":

http://imgs.su/tmp/2012-11-30/1354268973-315.jpg

Готово. Теперь прокрутите листинг в самый конец, установите курсор на последний байт программы и нажмите правую кнопку мышки. В контекстном меню выберите команду "End of block":

http://imgs.su/tmp/2012-11-30/1354269089-315.jpg

У нас получился выделенный блок с данными. Теперь необходимо их скопировать в новый файл. Копировать необходимо значения HEX! Для этого в меню редактора "Edit" надо выбрать команду "Copy Block -> Hex Values":

http://imgs.su/tmp/2012-11-30/1354269263-315.jpg

Блок НЕХ-значений мы скопировали в буфер обмена. Теперь, тут же в НЕХ-редакторе, создадим новый файл, а размер файла укажем 1 байт:

http://imgs.su/tmp/2012-11-30/1354269380-315.jpg

В полученный файл необходимо записать данные из буфера обмена. обращаю ваше внимание, что НЕ вставить, а ЗАПИСАТЬ. Для этого в меню "Edit" выберите команду "Clipboard Data -> Write":

http://imgs.su/tmp/2012-11-30/1354269516-315.jpg

Редактор переспросит о ваших намерениях - подтвердите их, нажав ОК. Проверьте, чтобы в нулевой позиции, по адресу 00000000, находился байт 78. Теперь сохраним наш новый файл. По сути говоря, это архив ZLIB, но еще "грязный", ведь мы не знаем какого размера в нем запакованные данные. Итак, сохраняем:

http://imgs.su/tmp/2012-11-30/1354269743-315.jpg

Желательно давайте названия архивам по имени программы, из которой вы его извлекли. Указываете имя и место сохранения, а расширение файл обязательно zlp, иначе программа Simplyzip не будет с ним работать. Готово.
Займемся излечением данных из архива. Окно НЕХ-редактора не закрывайте, оно еще пригодится, просто сверните его пока.

Откройте программу Simplyzip. Она поддерживает русский язык, правда перевод оставляет желать лучшего. В меню "Внешние прогр." выберите пункт "ZLIB (pack/unpack)" (упаковка/распаковка ZLIB):

http://imgs.su/tmp/2012-11-30/1354270074-315.jpg

Откроется небольшое окошко, где необходимо указать путь к файлу. В нашем случае это файл SysTracer_Pack.zlp. Выберите опцию Decompress и нажмите Start:

http://imgs.su/tmp/2012-11-30/1354270301-315.jpg

После распаковки мы получим файл SysTracer_Pack без расширения. На самом деле мы не знаем, что из себя представляет этот файл, или это ЕХЕ, или DLL. Это можно выяснить в том же НЕХ-редакторе по сигнатуре файла.Я например давал этому файлу расширение DLL, но оказалось, что это ЕХЕ. Я думаю вы разберетесь, что вы получили. Сейчас не это важно. Необходимо выяснить сколько места этот файл занимает в нашей программе, когда он запакован. Нам это необходимо знать, чтобы после его модификации можно было вставить его обратно. Если размер архива получится больше, то на не удастся сделать эту операцию. Для этого полученному файлу дайте расширение, загрузите его в программу Simplyzip, вызвав инструмент ZLIB, выберите опцию Compress и нажмите Start. Получим архив. Вы хорошо увидите, что его размер намного меньше объема тех данных, которые мы извлекли первоначально.

Вернемся к редактору НЕХ. Откройте в нем полученный файл архива. Будем искать в файле программы конец нашего архива. На первой позиции вы увидите уже знакомые нам три байта - сигнатура ZLIB-архива. Перейдите в конец файла и выделите несколько последних байт. Скопируйте их как НЕХ-значения:

http://imgs.su/tmp/2012-11-30/1354271101-315.jpg

Переключитесь на вкладку с программой SysTracer.exe и вызовите инструмент поиска НЕХ-данных. Скопированные нами НЕХ-значения автоматически подставятся в окошко поиска. Останется только нажать кнопку ОК:

http://imgs.su/tmp/2012-11-30/1354271275-315.jpg

Мы тут же окажемся там, где находятся эти значения:

http://imgs.su/tmp/2012-11-30/1354271388-315.jpg

Если помните, то последний байт нашего архива в этой последовательности - 49. Если вы не закрывали НЕХ-редактора и вкладку с программой, то там осталась выделенной часть байт с начальной позиции архива и до последнего байта программы. Теперь установите курсор на байт 49, нажмите левую кнопку мышки и выберите в контекстном меню команду "End of block":

http://imgs.su/tmp/2012-11-30/1354271618-315.jpg

После этого мы точно знаем позицию архива в теле программы - начальный и конечные адреса:

http://imgs.su/tmp/2012-11-30/1354271699-315.jpg

Теперь от вашего мастерства зависит модификация данных таким образом, чтобы после сжатия они поместились в найденных границах.

0

85

Horna, хорошая статья! Можно и отдельно опубликовать!?  :cool:
Единственное, я бы заменил вот это всё:

Horna написал(а):

У нас получился выделенный блок с данными. Теперь необходимо их скопировать в новый файл. Копировать необходимо значения HEX! Для этого в меню редактора "Edit" надо выбрать команду "Copy Block -> Hex Values"
Блок НЕХ-значений мы скопировали в буфер обмена. Теперь, тут же в НЕХ-редакторе, создадим новый файл, а размер файла укажем 1 байт
В полученный файл необходимо записать данные из буфера обмена. обращаю ваше внимание, что НЕ вставить, а ЗАПИСАТЬ. Для этого в меню "Edit" выберите команду "Clipboard Data -> Write"

командой Copy Block -> Into New File. Так просто гораздо проще.

0

86

Horna, спасибо за статью. Очень познавательно и доступно  :cool:

0

87

_Александр
Да, чувак видно взвинчен или набухан :D ПРОТРЕЗВИСЬ!!! Ты же сам такой же.

0

88

Nexus написал(а):

Да, чувак видно взвинчен или набухан :D ПРОТРЕЗВИСЬ!!! Ты же сам такой же.

Я зол, вот верное определение. :crazy: Я не пью :crazyfun:
Не могу сделать патч dup2 к InstantDemo,  вот такие вот дела( это другая тема)

0

89

Ну тогда это все объясняет. Я никогда не умел делать патчеры :crazyfun:

0

90

_Александр написал(а):

Здесь не кто и не чем не занимается, все любят валить всё в кучу и ждут что кто то её разгребёт.

Почему все дружно должны подгребать за тобой ?
Ты как всегда в своём репертуаре начинаешь постить всюкую ерунду типа

_Александр написал(а):

Я зол, вот верное определение.

Это твои проблемы.

_Александр написал(а):

Не могу сделать патч dup2 к InstantDemo

Это тоже твои личные проблемы.
Нафига своими переживаниями тему забивать?
Которая к твоим проблемам не имеет никакого отношения...

0


Вы здесь » BlackStar Localizations Studio » Проблемы с переводом » SysTracer. HEX редактор и Radialix не видят часть ресурсов