![]() |
eXeL@B —› Вопросы новичков —› С какой стороны подступиться |
Посл.ответ | Сообщение |
|
Создано: 24 октября 2013 17:04 · Поправил: cardiroot · Личное сообщение · #1 Программа ничем не упакована. Имеет триальный период. По истечению триального периода - при запуске открывается окошко, информирующее о том что триал-период закончен. Открываю софтину в OllyDbg. Требуется найти ShowMessage с этим сообщением. Но проблема в том, что заголовок ShowMessage-а пустой, в самом сообщении все на русском. А в ольке не видны русские символы. Т.е. даже не могу найти место куда брейкпоинт всунуть. Натолкните, пожалуйста,на мысль. ![]() |
|
Создано: 24 октября 2013 17:11 · Поправил: deniskore · Личное сообщение · #2 cardiroot пишет: Открываю софтину в OllyDbg. Требуется найти ShowMessage с этим сообщением. Но проблема в том, что заголовок ShowMessage-а пустой, в самом сообщении все на русском. А в ольке не видны русские символы. Ищите хекс код сообщения (можете предварительно его набрать в файлике) и ставьте на него бп. Или ставьте бп на саму апи, и смотрите там буфер, и так же ставите бп. ![]() |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 24 октября 2013 18:47 · Личное сообщение · #3 |
|
Создано: 25 октября 2013 00:00 · Личное сообщение · #4 |
|
Создано: 25 октября 2013 01:52 · Поправил: Dazz · Личное сообщение · #5 |
|
Создано: 25 октября 2013 02:09 · Личное сообщение · #6 |
|
Создано: 25 октября 2013 10:18 · Личное сообщение · #7 |
|
Создано: 25 октября 2013 10:37 · Поправил: deniskore · Личное сообщение · #8 |
|
Создано: 25 октября 2013 11:29 · Поправил: cardiroot · Личное сообщение · #9 ARCHANGEL пишет: Видны, надо шрифт выставить с поддержкой unicode. Т.е. пкм -> Appearance -> Font (all) -> Lucida (UNICODE) Пробовал. Видел данный совет на этом форуме. Не помогло. Djeck пишет: Ставь бряк на ShowWindow затем выходи по F8 потихоньку до начала создания окна. Обычно 2-3 выхода и ты на месте. На главное окно? Там перед сообщением о триалке открывается окно ввода имени и пароля (не регистрационное, а для входа в БД) deniskore пишет: Ищите хекс код сообщения (можете предварительно его набрать в файлике) и ставьте на него бп. Или ставьте бп на саму апи, и смотрите там буфер, и так же ставите бп. Написал... открыл в текстовом файле - скопировал HEX-значения. В проге они найдены не были. Или искал не там, или автор сделал там вместо текста картинку с текстом. To all: Речь о программе для Сервисного центра. Но там Firebird ставить надо чтобы мучать ее. Думаю, не у многих желание появится) Нашел по ключевому слову Trial...но не сильно понятные инструкции. Как понял - пропатчил. Программа запускается, нормально функционирует, но при запуске 3-4 экзепшена выскакивает)) но дальше запускается гуд и работает. Или лишнее занопил, или хз) Пока что продолжаю разбираться дальше) ![]() |
|
Создано: 25 октября 2013 13:11 · Личное сообщение · #10 cardiroot Причем здесь главное окно,ты его хочешь убрать или окно о триале? Ставишь bp ShowWindow Нажимаешь F9 В стеке смотришь, что за окно будет показано (в классе окна обычно пишется TTrial или что-то подобное) Когда дойдешь до своего окна нажимаешь Alt+F9 и по F8 начинаешь выходить из вложенных функций ![]() |
|
Создано: 25 октября 2013 16:08 · Личное сообщение · #11 |
|
Создано: 25 октября 2013 17:33 · Личное сообщение · #12 Djeck пишет: Причем здесь главное окно,ты его хочешь убрать или окно о триале? Ставишь bp ShowWindow В Text strings referenced :CODE не нашел ShowWindow..... Или не там ищу? Или вообще следует это делать с плагином CommandBar ? ![]() DenCoder пишет: В окне (Dump или Stack) ольки нажми на ASCII на хедере, чтобы появился Unicode Сделал, все равно - крякозяблики... ![]() |
|
Создано: 25 октября 2013 18:40 · Поправил: JMPer · Личное сообщение · #13 Шо за театрально-цирковой подход (это и к отвечавшим относится) ![]() Еще обьясните как отладчик запусать. Я за все время реверсинга ни разу не искал русские строки, а тут чуть ли не как основной подход хотят заюзать. cardiroot Конкретно по твоей проге - пляши от даты триального периода, она в проге зашита жестко, преобразуй её в тот вид в котором она хранится в программе. Потом бряки на GetLocalTime ну и ищи классические проверки даты (сравнение чисел с плав.точкой (double)) вида Code:
в твоей программе самое простое - "перезашить дату конца триала" Но как делать - выбирай сам. ![]() |
|
Создано: 25 октября 2013 22:16 · Личное сообщение · #14 cardiroot пишет: В Text strings referenced :CODE не нашел ShowWindow.....Или не там ищу? не там. Это импортируемая функция. ПКМ -> Search for -> Names (Ctrl + N) JMPer пишет: Потом бряки на GetLocalTime ну и ищи классические проверки даты (сравнение чисел с плав.точкой (double)) вида GetLocalTime сама по себе не работает с плавающей с точкой. В Delphi есть функция Now, в которой используется GetLocalTime и суть её преобразовать дни в целое число, а время в дробную часть. Но откуда такая уверенность, что программа писана на дельфях? Телепатия? Firebird можно и в C++ Builder использовать, а программист мог совсем по-другому подойти - GetLocalTime, NtQuerySystemTime, GetSystemTimeAsFileTime, SystemTimeToFileTime ----- IZ.RU ![]() |
|
Создано: 25 октября 2013 22:43 · Личное сообщение · #15 DenCoder пишет: GetLocalTime сама по себе не работает с плавающей с точкой. Я это знаю, может немножко сумбурно высказался. Просто в дельфе type TDateTime = type Double; Ну и собственно, как ты и сказал Code:
DenCoder пишет: Но откуда такая уверенность, что программа писана на дельфях? Телепатия? Да, телепатия ![]() ![]() |
|
Создано: 25 октября 2013 23:44 · Личное сообщение · #16 |
|
Создано: 26 октября 2013 15:12 · Личное сообщение · #17 |
![]() |
eXeL@B —› Вопросы новичков —› С какой стороны подступиться |