Сейчас на форуме: Magister Yoda, rtsgreg1989, ==DJ==[ZLO] (+6 невидимых)

 eXeL@B —› Основной форум —› Вызов окон
Посл.ответ Сообщение

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

Создано: 13 марта 2005 10:57
· Личное сообщение · #1

Обьясните пожалуйста как в олле найти где формируется и
вызывается окно .
Желательно по пунктам (извините за наглость ).
Делаю так нахожу окно view --> window
Ставлю бряк toggle breakpoint
Вылетаю в User32.dll
А дальше что . Как пройти до откуда это все вызывалось ?

P.S. Извините за тупость .



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

Создано: 13 марта 2005 11:54
· Личное сообщение · #2

Да и если можно про mesage то же самое .



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

Создано: 13 марта 2005 12:34
· Личное сообщение · #3

dosikus пишет:
Вылетаю в User32.dll
А дальше что .


Хе, а дальше либо Ctrl+F9 либо сразу Alt+F9 и ты в коде своей прожки.
Либо долго и упорно F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 F8..........

а вобще иди статьи почитай лучше. Начни с FAQ



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

Создано: 13 марта 2005 12:59
· Личное сообщение · #4

Вроде начинаю понимать .
А по Execute till user code Alt+F9 я однозначно должен попасть
на место после вызова создания окна или возможны плачевные варианты ?



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

Создано: 13 марта 2005 13:05
· Личное сообщение · #5

На счет почитать .Не мог бы Уважаемый ткнуть меня носом
в статью именно про оллю именно на данную тему.
Про работу с окнами и сообщениями .
Буду весьма признателен.
Извините что отвлекаю ваше драгоценное внимание.



Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 13 марта 2005 13:17
· Личное сообщение · #6

dosikus пишет:
ткнуть меня носом

http://www.exelab.ru/art/ollydbg.php

dosikus пишет:
Про работу с окнами и сообщениями

http://www.exelab.ru/art/

Hyper пишет:
а вобще иди статьи почитай лучше. Начни с FAQ


-----
TBR




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

Создано: 13 марта 2005 13:45 · Поправил: Hyper
· Личное сообщение · #7

dosikus
Ща, подожди немного. Мы уже окончательно хелп дочищаем по Олле. Скоро на тестинг ОКОНЧАТЕЛЬНЫЙ (надеюсь) зальём.
Статьи статьями, а ФСЕ фичи Олли тока из хелпа можно выудить.

dosikus пишет:
А по Execute till user code Alt+F9 я однозначно должен попасть
на место после вызова создания окна


ты попадешь в код программы на адрес сразу после CALL'а, допустим идёт код:

push 0 ; 1 строка
push 0 ; 2 строка
call something1 ; 3 строка
push 0 ; 4 строка
call something2 ; 5 строка

Ты когда на 3 строке нажмешь F7, можешь попасть в свой USER32.dll (если этот колл функ-ю из юзверя вызывает). И будешь ты тусить в юзвере32 до первого RET, который либо кинет тебя в какую нить другую либу, или вернёт в код твоей проги.
Дык вот, если ты даванешь Alt+F9, то с вероятностью 97% окажешься на пуше из 4 строки.
Вот те глава по этому вопросу из хелпа
4360_Выполнить до кода пользователя.rtf



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

Создано: 13 марта 2005 14:25
· Личное сообщение · #8

Вот за это большое спасибо !



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

Создано: 13 марта 2005 18:58
· Личное сообщение · #9

Еще способ который я нигде еще не встречал. Применим только для прог написанных на Delphi или C++ Builder! (их довольно много в % отношении ко всем прогам поэтому способ вполне юзабельный). Многократно опробован на разных прогах и показывает хороший результат по экономии времени.
Основное назначение: вычисление места вызова всяческих нагов.
Ход работы:
1. Сканером окон вычисляем класс окна (например "frmNag").
2. В НЕХ-редакторе заменяем все текстовые включения "frmNag" на что-нибудь произвольное, например "XYZ".
3. Запускаем прогу в OllyDbg.
4. Первая ошибка вывалится в момент создания окна, пропускаем ее (Shift+F9).
5. Вторая ошибка вывалится при попытке показать несуществующее окно. Проходим глючащий участок кода пошагово (Shift+F8) и очень быстро (обычно за 2-3 ret'a) оказываемся чуть ниже места вызова это окна.
6. Записываем адрес функции вызова нага, грузим в отладчик оригинальный файл проги, ставим бряк и проверяем верно ли нашли место вызова окна.
7. Действуем по обстоятельствам - делаем jmp через вызов окна или nop'им его.

З.Ы. Если метод действительно нигде не описывается (в чем я лично сильно сомневаюсь) не буду возражать против помещения его в FAQ



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 14 марта 2005 15:59
· Личное сообщение · #10

Gloomy
Я похожий метод применял и к проге на VC++ да ещё и к zip-ресурсу .
У zip'a ведь тоже открытые имена файлов, только 1-й пункт отпадает, наг нужно искать по-другому.

-----
Всем привет, я вернулся




Ранг: 103.2 (ветеран)
Активность: 0.020
Статус: Участник
Нолик :)

Создано: 14 марта 2005 23:36
· Личное сообщение · #11

Gloomy
довольно извращенный способ - пожалуй проще загрузить прогу в иду, с сигнатурами на д6/д7, найти вызовы CreateForm/ShowForm/ShowModal с нужными параметрами..



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

Создано: 15 марта 2005 16:27 · Поправил: Gloomy
· Личное сообщение · #12

Zer0
Согласен что извращенный но зато быстрый! Например на моем стареньком Целике 1100 файл размером 3 Мб ИДА обрабатывает часа 3 - за это время можно и наг убрать, и кряк с нуля написать, и релиз в Инет выложить.


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


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