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

 eXeL@B —› Вопросы новичков —› Поиск текстовых строк
Посл.ответ Сообщение

Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

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

Добрый день. У меня несколько вопросов, если нетрудно, дайте совет.
1. Есть некая софта (программу не указываю пока, просто сталкивался с таким несколько раз). PEID говорит MS Visual С++ 7. Ищу в Олле строки - одна билибердаю. Открываю в Рестораторе - все нужные строки есть. Скажите, как мне найти эти строки через Оллю, чтобы поставить бряк?

2. Как поставить бряк на кнопку, то есть на нажимание кнопки?

3. Запускаю программу через Оллю, нахожу необходимое место для бряка (вызов строки, например), хочу поставить бряк, а Олля говорит "You want to place breakpoint outside the code section. INT3 breakpoint set on data will not execute and may have disastrous influence on the debugger program...". Бряк, в принципе ставится, но что это такое, и как с этим боротся?

Спасибо.



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

Создано: 14 сентября 2009 14:14 · Поправил: user_
· Личное сообщение · #2

1. Строки, видимо, на русском. Поменяй шрифт в настройках Оли на какой-нибудь системный.
2. www.wasm.ru/article.php?article=ollydbg12" target="_blank">«Введение в крэкинг с нуля, используя OllyDbg» Глава 12
3.

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

Создано: 14 сентября 2009 14:36
· Личное сообщение · #3

3. Это означает, что бряк ставится вне секции кода. Скорее всего прога защищена. В этом случае надежнее ставить hardware break, т.к. защита может обнаружить бряк. Возможно также, что ты просто ошибся и тогда испортишь данные - о чем тебя олли и предупреждает..



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

Создано: 14 сентября 2009 16:05 · Поправил: Neo32
· Личное сообщение · #4

2. Как поставить бряк на кнопку, то есть на нажимание кнопки?

если кнопка есть в ресурсах(в диалоге) то надо зная номер кнопки в функции MainDlgProc (DialogBox(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, (DLGPROC)MainDlgProc);) найти место где сравнивается этот номер в WM_COMMAND со младшим словом wParam(в старшем должно быть BN_CLICKED=0) вот описание static INT_PTR CALLBACK MainDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)

если кнопка в окне то отлавливай создание кнопки. а дальше аналогично выше написанному только функции другие. лучше прочитай туторы ICZELION'a



Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

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

Спасибо за советы, буду пробовать. user_по поводу строк (вопрос №1), я имел ввиду, что там билиберда не в смысле кракозябры, а их (строк) - нету вообще.




Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

Создано: 14 сентября 2009 18:19 · Поправил: SER[G]ANT
· Личное сообщение · #6

yorri пишет:
по поводу строк (вопрос №1), я имел ввиду, что там билиберда не в смысле кракозябры, а их (строк) - нету вообще.

Значит строки находятся в ресурсах файла и от туда беруться, поэтому в отладчике их и не видно. Попробуй нажать на кнопку "W" (Windows)



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 14 сентября 2009 20:06
· Личное сообщение · #7

1. Например в рестораторе строка выглядит так 1234 Unregistered ищи в ольке PUSH 4D2 (4D2h=1234d), это и будет ссылка на эту строку.



Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 сентября 2009 11:37 · Поправил: yorri
· Личное сообщение · #8

Vovan666 этот способ сработал, но только так я нашел 3 строчки из тех, что уже нашел раньше (они как раз относятся к этому месту где проиходит вывод сообщения о шобке регистации), просто подтвердилось, а остальных найти не могу.

Кстати, этот кусок - где я нашел строчки (через PUSH ****), находится в том месте где Олля говорит: "You want to place breakpoint outside the code section. INT3 breakpoint set on data will not execute and may have disastrous influence on the debugger program..."
Возможно в этом проблема? Осмелюсь предположить, может эти строчки достаются из ресурсов файла по мере необходимости - както динамически?



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

Создано: 15 сентября 2009 14:28
· Личное сообщение · #9

yorri пишет:
Осмелюсь предположить, может эти строчки достаются из ресурсов файла по мере необходимости - както динамически?

Строчки достаются динамически, но это неважно. Важно то, что сама программа проверки строится динамически. Если конечно это не выверт самого С++.



Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 сентября 2009 19:52
· Личное сообщение · #10

tundra37 а есть какие-то особенности в этом случае?



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

Создано: 16 сентября 2009 13:05
· Личное сообщение · #11

yorri пишет:
tundra37 а есть какие-то особенности в этом случае?

Глупый вопрос - любые, там может быть любой протектор, который не отдетектился(это я про первый пост). Может быть самодельная защита.
Про С++ врать не буду - не знаю.



Ранг: 114.8 (ветеран), 41thx
Активность: 0.10
Статус: Участник

Создано: 16 сентября 2009 21:22
· Личное сообщение · #12

yorri пишет:
Кстати, этот кусок - где я нашел строчки (через PUSH ****), находится в том месте где Олля говорит: "You want to place breakpoint outside the code section. INT3 breakpoint set on data will not execute and may have disastrous influence on the debugger program..."

Ты имеешь в виду то место где сами строки находятся или где push?



Ранг: 2.5 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 сентября 2009 10:04
· Личное сообщение · #13

_ruzmaz_ в том месте PUSH


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


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