Сейчас на форуме: tyns777, Lohmaty (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Нужна помощь в поиске текстовой строки
Посл.ответ Сообщение

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

Создано: 13 июня 2018 17:53
· Личное сообщение · #1

Многие наверное знают культовую игру заслужившую мировую популярность Dota (точнее это мод карта для Warcraft 3). Есть Iccup Launcher программа через которую запускает сам Warcraft для игры через российский ладдер сервер Iccup. Не могу найти в его exe текстовые строки на кириллице (мало опыта у меня).

А именно строки:
"Враг ушел с линии!"
"Противник вернулся!"
"Вперед!"
"Назад!"

и еще порядка 10 подобных строк. Английские аналоги ищутся запросто, то есть там ничего хитрого это просто я туповат

Лаунчер берется здесь https://iccup.com/files/download/668b839e463d4f24dd7c765307d5add1/iCCup_launcher.html.

Буду благодарен за помощь в поиске адресов этих строк на предмет замены сообщения на свои. В связи с этим вопрос в чем искать, как искать и как заменить? Пробовал Ida, Win32DASM и WinHEX, они эти строки не нашли, может я что то не правильно делаю в поиске кириллицы?



Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

Создано: 13 июня 2018 18:26
· Личное сообщение · #2

Какая программа выдаёт эти строки? Какой язык компиляции. Упакована ли она? Её размер.



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 13 июня 2018 19:57
· Личное сообщение · #3

Free-Man пишет:
В связи с этим вопрос в чем искать, как искать и как заменить

Во-первых, это UNICODE-строка будет, если искать в PE-файлах. Во-вторых действительно нужно определиться для начала, что именно выплевывает фразы - сама игра (по-моему в War3 такой фитчи нативно не было) или резидент Iccup Launcher. По нажатии какой кнопки (комбинации клавиш) это делается? Тамщемта могут быть вариации - фразы могут быть в data файлах в виде текста, могут клиентом-резидентом Iccup Launcher из самого себя распаковываться (в ресурсах лежать).




Ранг: 90.1 (постоянный), 91thx
Активность: 0.290.56
Статус: Участник

Создано: 13 июня 2018 23:22 · Поправил: Boostyq
· Личное сообщение · #4

Строка может храниться в wchar_t или в кодировке UTF-8
Вы можете найти английский аналог и посмотреть если символы разделены нулями, то это wchar_t*, т.е. на каждую букву по два байта, иначе скорее всего UTF-8
Например u8"Враг ушел с линии!" будет D0 92 D1 80 D0 B0 D0 B3 20 D1 83 D1 88 D0 B5 D0 BB 20 D1 81 20 D0 BB D0 B8 D0 BD D0 B8 D0 B8 21 00
А уже L"Враг ушел с линии!" будет 12 04 40 04 30 04 33 04 20 00 43 04 48 04 35 04 3B 04 20 00 41 04 20 00 3B 04 38 04 3D 04 38 04 38 04 21 00 00 00
Еще пара слов о правке: если соберетесь править, то вряд ли выйдет на более длинную, т.к. после первой может идти сразу другая строка, т.е. можете задеть ее

-----
В облачке многоточия




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

Создано: 14 июня 2018 15:08
· Личное сообщение · #5

Извиняюсь за неполный запрос.

Строку в игру выплевывает именно лаунчер (Launcher.exe).
Клавиши назначаются пользователем.
Язык - Microsoft Visual C++ 8.0 [Overlay] *
Вес - 27.97 Мб.

Английские варианты строк записаны прямо в исполняемый фалй, как обычный текст в exe файле (я легко нашел Enemy returned, Missing, Go и прочие и идут одна за другой).




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 14 июня 2018 17:55
· Личное сообщение · #6

Кто же сейчас строки в бинарях ищет то, статик строки обычно нет в софте, только в осевом коде, но он должен быть чистым", ну что бы авер не усомнился. Пытаться строки искать в обычном софте, а он почти всегда накрыт слоем пакера, в случае тс всё равно что искать жизнь на других планетах, возможность самостоятельного решения исключена.

-----
vx




Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

Создано: 14 июня 2018 18:18
· Личное сообщение · #7

Free-Man пишет:
Пробовал Ida, Win32DASM и WinHEX, они эти строки не нашли, может я что то не правильно делаю в поиске кириллицы?

Т. е. вы использовали статический режим . Может попробовать перехватить их.
Конечно, для этого нужно знать чем они выводятся: библиотечной функцией - это легче,
иначе - хуже. Вид сообщения может прояснить это.
Для динамического реверсинга проще использовать отладчик OllyDbg.



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 15 июня 2018 07:18
· Личное сообщение · #8

Вполне очевидно, что ковырять надо файл локализации, коли английские строки в софте есть. Варианта два - потрошить ресурсы, логировать чтение файлов локализации или подправить конфиг и вполне вероятно, что аргументы к функам, выводящим текст на экран, будут заполнены в соответствии с текущим языком, т.е. опять же возврат к коду, содержащему английские строки. Начать c CreateFileA(W)/printf/sprinf/fopen.

-----
TEST YOUR MIGHT


| Сообщение посчитали полезным: Free-Man

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 15 июня 2018 09:07
· Личное сообщение · #9

Free-Man пишет:
Английские варианты строк записаны прямо в исполняемый фалй

Если ref'ы (на английские строки) не перебиты на ref'ы русских строк, то искать собственно русские строки в файле бессмысленно (за исключением ресурсов) - русские, скорее всего, подгружаются с файлов типа ini, dat.

| Сообщение посчитали полезным: Free-Man

Ранг: 89.1 (постоянный), 134thx
Активность: 0.060.07
Статус: Участник

Создано: 15 июня 2018 09:26 · Поправил: LinXP
· Личное сообщение · #10

Free-Man
Resource.dll:
"Враг ушел с линии!" 3BEAFh
"Противник вернулся!" 3BA74h
"Вперед!" 3BB18h
"Назад!" 3BAD6h

https://en.wikipedia.org/wiki/List_of_Unicode_characters#Cyrillic
В - 04 12
р - 04 40
а - 04 30
г - 04 33
пробел - 00 20

| Сообщение посчитали полезным: Free-Man


Ранг: 90.1 (постоянный), 91thx
Активность: 0.290.56
Статус: Участник

Создано: 15 июня 2018 19:04
· Личное сообщение · #11

LinXP пишет:
В - 04 12
р - 04 40
а - 04 30
г - 04 33
пробел - 00 20

Да уж, тс через сообщение читает, видимо

-----
В облачке многоточия



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


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