Сейчас на форуме: asfa, _MBK_, Rio (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Как в .exe файле отредактировать Resource?
Посл.ответ Сообщение

Ранг: 3.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 марта 2009 13:32
· Личное сообщение · #1

Использую Resource Editor из PE Explorer’a. В его окне есть все необходимые данные, при этом в разделе Child Type: StringFileInfo можно отредактировать всё, кроме строки
Language/Code Page: В разделе Child Type: VarFileInfo есть эта же строка, но только под названием Translation:, и тоже недоступна.
Как можно отредактировать или убрать эти строки, чтобы язык не прописывался в свойствах файла?
Напрямую с помощью Hex редактора тоже не получается.



Ранг: 28.7 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 13 марта 2009 13:38 · Поправил: Ray
· Личное сообщение · #2

ChVL
Воспользуйся какой-либо из этих программ:
Resource Tuner
XN Resource Editor
Restorator
Resource Hacker



Ранг: 3.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 марта 2009 17:02
· Личное сообщение · #3

Resource Tuner - это редактор, выдраный из PE Explorer’a.
XN Resource Editor - безбожно глючит и только портит. Даже то редактирование, с которым прекрасно справляется PE Explorer, он делать не умеет.
PETools - добирается только до дерева ресурсов, никаких данных не показывает.
Другие пока не пробовал.
Дык, так можно просто перебрать всё, что представлено в разделе Скачать...



Ранг: 9.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 марта 2009 17:52
· Личное сообщение · #4

Качай Resource Hacker . Я его сам использую




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 13 марта 2009 18:06
· Личное сообщение · #5

во-первых, данные о языке ресурса ты сможешь только сменить, но не удалить
во-вторых, установи уже Resource Hacker, он позволяет редактировать данные о версии в виде скрипта

-----
EnJoy!




Ранг: 48.2 (посетитель), 49thx
Активность: 0.040
Статус: Участник

Создано: 13 марта 2009 18:22
· Личное сообщение · #6

ChVL пишет:
Дык, так можно просто перебрать всё, что представлено в разделе Скачать...

Дык, это и нужно сделать, тогда бы и вопросов таких не было




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 13 марта 2009 19:06
· Личное сообщение · #7

Code:
  1. struct StringTable { 
  2.   WORD   wLength;
  3.   WORD   wValueLength;
  4.   WORD   wType;
  5.   WCHAR  szKey[];
  6.   WORD   Padding[];
  7.   String Children[];
  8. };


szKey
Specifies an 8-digit hexadecimal number stored as a Unicode string. The four most significant digits represent the language identifier. The four least significant digits represent the code page for which the data is formatted. Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage.

так что это стандартное поле, удалить ты его не сможешь

-----
EnJoy!




Ранг: 3.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 марта 2009 19:23
· Личное сообщение · #8

LIZARD
Спасибо. Извините за вопрос от новичка.

Jupiter
Так я и не настаивал на удалении. Достаточно изменить на 1251.
Resource Hacker это делает, но изменение не прописывается должным образом в файл. После сохранения в свойствах файла вкладка Версия становится совершенно пустой, в результате при наведении курсора на файл во всплывающей информации остались только Версия файла, Дата создания и Размер. Хотелось бы, чтоб также остались Описание и Производитель.
Где покопать?




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 13 марта 2009 19:31
· Личное сообщение · #9

ChVL пишет:
Достаточно изменить на 1251

1251 - это кодовая страница, относящаяся к кодировке текста, к версии файла отношения не имеет
я специально привёл цитату из MSDN, чтобы ты хотя бы почитал о том, о чём идёт речь, но тебе, видимо, лень

ещё раз:
Each Microsoft Standard Language identifier contains two parts: the low-order 10 bits specify the major language, and the high-order 6 bits specify the sublanguage.
две части: 10 бит major language + 6 бит sublanguage = итого 16 бит

пример:
строка (юникод) 040904E4: 0409h == 1033; 4E4h == 1252

как поменять:
открой файл в hex-редакторе
найди в UNICODE (!!!) строку "StringFileInfo" (без кавычек)
после неё увидишь (также в юникоде) строку с Language identifier

-----
EnJoy!




Ранг: 3.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 13 марта 2009 19:55 · Поправил: ChVL
· Личное сообщение · #10

Jupiter
Спасибо.
Я менял в точном соответствии, что мне предложил Resource Hacker. Об этой строке я упоминал в первом своём посте. Разве нельзя было сразу ответить, как её изменить? - Мне же дружно советовали перебрать все существующие в Галактике редакторы ресурсов.

Добавлено:
Проблему ручная правка не решила. Результат аналогичен тому, как после изменений с помощью Resource Hacker.



Ранг: 48.2 (посетитель), 49thx
Активность: 0.040
Статус: Участник

Создано: 14 марта 2009 04:30
· Личное сообщение · #11

Видать до Restorator'а еще не дошел




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 14 марта 2009 14:30
· Личное сообщение · #12

ChVL пишет:
Результат аналогичен тому, как после изменений с помощью Resource Hacker


во-первых, ты должен понимать, на что конкретно ты меняешь
во-вторых, недостаточно поменять только в одном месте - сменил кодировку для одного элемента - меняй и для другого!

-----
EnJoy!




Ранг: 3.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 14 марта 2009 19:12 · Поправил: ChVL
· Личное сообщение · #13

Jupiter
Да сделал уже, сделал... Спасибо.
Надо было поменять не только в StringFileInfo, но и в VarFileInfo.


 eXeL@B —› Вопросы новичков —› Как в .exe файле отредактировать Resource?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати