Автор Тема: Как заменить текст в чужой dll  (Прочитано 3166 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SantaJohn

  • Коллежский регистратор
  • *
  • Сообщений: 2
  • Репутация: 0
Как заменить текст в чужой dll
« : јРЩ 29, 2009, 06:49:57 am »
Проблема такая:

- я делаю локализацию программы FsPassengersX, которая содержит все тексты в файле fspassengersx.dll.
- воспользовался программами Sisulizer2008 и ResHacker, с помощью которых заменил все английские тексты на кнопках и на окнах на русские.
- но эти программы (и другие аналогичные редакторы ресурсов dll) не видят тексты, которые содержатся в выпадающих списках, которые содержатся непонятно где (в теле функций, вероятно) и используются для динамической генерации отчетов и т.п. То есть, говоря проще, они не видят часть текста, но я его вижу, если открыть dll в обычном блокноте.

Возможно ли как-то достать и заменить эти тексты тоже? Очень надо. Пока только один вариант вижу: заменять текст прямо в блокноте, подгоняя под размер, но не уверен, что после этого dll заработает.

Если не туда написал - не бейте, поиск не работает совсем, на фразу "замена текста в dll" он говорит "строка должна содержать хотя бы 3 символа", а на фразу "text replacing dll" он говорит "вопрос слишком не информативен".

Оффлайн aks

  • Администратор
  • Тайный советник
  • *****
  • Сообщений: 2836
  • Репутация: 74
  • Пол: Мужской
Re: Как заменить текст в чужой dll
« Ответ #1 : ёоЭм 03, 2009, 02:59:23 pm »
Вобщем все на так просто. Если текст не в ресурсах а захардкоден - скорее всего придется дизассемблировать и править руками строковые константы и код. Если хватит квалиффикации.

Оффлайн SantaJohn

  • Коллежский регистратор
  • *
  • Сообщений: 2
  • Репутация: 0
Re: Как заменить текст в чужой dll
« Ответ #2 : ёоЭм 04, 2009, 04:43:16 am »
Этого я и опасался. В принципе, когда-то я баловался дизассемблером, это для меня не ново. Но трудоемкий это процесс, да и собрать потом снова dll'ку так, чтобы признал модуль защиты, очень вероятно что и не получится у меня. Спасибо, буду пробовать... Наверное...