Сейчас на форуме: Adler, asfa, bartolomeo (+8 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Изменение строк в дизасемблированной программе |
Посл.ответ | Сообщение |
|
Создано: 15 июня 2012 17:08 · Личное сообщение · #1 Привет всем ![]() Распаковал программу, снял все защиты, перепаковал ресурсы. Теперь нужно изменить строки в программе. Есть некоторые строки, которые сохраняются в ресурсах файла и их изменить не есть проблемой. А есть строки, которые задаются непосредственно в коде. В функции onCreate формы прорисовываются кнопки - это не особо важно. А вот в onPaint прорисовывается весь текст, мало того, объекты, на которые выводится текст, создаются также динамически. Зашел в IDA Pro и начал искать. Нашел вот это: Code:
Это находится в функции, которая вызывается с onPaint. Эта функция одна и я так понимаю, что это и есть эти строки. Как их можно изменить и как вообще высчитать их местоположение по данной информации? Заранее благодарю ![]() ![]() |
|
Создано: 15 июня 2012 17:11 · Личное сообщение · #2 |
|
Создано: 15 июня 2012 17:21 · Личное сообщение · #3 OKOB, так значит эти строки уже загружены в стек? Тогда как отследить, где он загружает их туда? Мне нужно изменить текст, который выводится при открытии окна. Вот видимо сам вывод текста: Code:
![]() |
|
Создано: 15 июня 2012 17:39 · Личное сообщение · #4 |
|
Создано: 15 июня 2012 17:42 · Поправил: ghaiklor · Личное сообщение · #5 |
|
Создано: 15 июня 2012 18:29 · Личное сообщение · #6 Вроде нашел нужную секцию данных: Code:
И список продолжается. Но так как текст на русском, он конечно же "игнорирует" его. Каким образом можно заставить вывести мне эти строки на русском с нормальной кодировкой? ![]() |
|
Создано: 15 июня 2012 18:50 · Личное сообщение · #7 |
|
Создано: 15 июня 2012 18:56 · Личное сообщение · #8 |
|
Создано: 15 июня 2012 19:24 · Поправил: -=AkaBOSS=- · Личное сообщение · #9 ghaiklor пишет: Как я могу ее найти в коде, если нет представления этих самых русских букв? 1. Отрываешь нужный модуль в хекс-редакторе (например, WinHex) 2. Ищешь нужный текст (там есть два режима: ANSI и Unicode, попробуй оба) 3. Берёшь тулзу типа PeEditor из PETools и преобразуешь смещение в файле в виртуальный адрес Скачал, посмотрел Большой блок русских строк начинается на вирт. адресе 83D4F6 (в файле - 43C4F6). Не оно случаем? ![]() |
|
Создано: 15 июня 2012 20:02 · Личное сообщение · #10 |
|
Создано: 15 июня 2012 20:12 · Личное сообщение · #11 |
|
Создано: 15 июня 2012 20:14 · Личное сообщение · #12 |
|
Создано: 15 июня 2012 20:16 · Личное сообщение · #13 |
|
Создано: 15 июня 2012 20:16 · Личное сообщение · #14 |
|
Создано: 15 июня 2012 20:17 · Поправил: -=AkaBOSS=- · Личное сообщение · #15 ghaiklor пишет: "Внимание! Последнюю версию программы всегда можно скачать абсолютно бесплатно с нашего официального сайта" эта строка зашифрована. лови вызов VirtualAlloc с параметром Size=0x150 в аллоцированный блок копируется код, расшифровывающий строки потом чуть ниже происходит вызов этого кода после чего movsd результат в стэковый буфер NikolayD Да в ольке-то всё нормально отображается, это в Иде кодировка долбанутая. ![]() |
|
Создано: 15 июня 2012 20:28 · Личное сообщение · #16 |
|
Создано: 15 июня 2012 20:56 · Личное сообщение · #17 |
|
Создано: 17 июня 2012 15:22 · Личное сообщение · #18 |
|
Создано: 17 июня 2012 16:07 · Личное сообщение · #19 ghaiklor Программа непростая,видать писал её любитель кодить малварь ![]() ![]() ![]() ![]() ![]() ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 17 июня 2012 18:19 · Поправил: ghaiklor · Личное сообщение · #20 ClockMan, весь прикол в том, что самые обычные строки главного меню тоже закодированные, правда некоторые. То есть процентов 95 приложения переводит нормально, есть доступ. Но остальные 5 процентов втупую нету в ресурсах ![]() Как так?) Ради одной строчки кодировали ее? ![]() P.S. Или может есть другой способ сделать локализацию приложению? ![]() ![]() |
|
Создано: 18 июня 2012 10:48 · Личное сообщение · #21 |
|
Создано: 18 июня 2012 12:02 · Личное сообщение · #22 |
![]() |
eXeL@B —› Вопросы новичков —› Изменение строк в дизасемблированной программе |
Эта тема закрыта. Ответы больше не принимаются. |