dll и OllyDbg-вопрос!!

Тема в разделе "WASM.BEGINNERS", создана пользователем CroCop, 3 дек 2009.

  1. CroCop

    CroCop New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2009
    Сообщения:
    23
    Всем доброго времени суток.
    Есть программа,которая ставит системный хук(на клавиатуру,хоть это не так и важно). Процедура обработки хука находится в динамической библиотеке. Дописал код,запустил,но вышло так,что происходит что-то неладное в данном обработчике хука(в той самой процедуре из dll). Казалось бы,надо взять отладчик(я взял на вооружение ольку) и по шагам изучать этот обработчик,но как это сделать,ведь он находится в dll.
    Жду помощи от знатоков.

    P.S Наверное,как всегда окажется,что справиться этим очень просто.!)
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Я бы написал ехе, который бы подгружал твою длл и самостоятельно вызывал обработчик хука. Ну и олькой бы заходил вовнутрь
     
  3. FLASH300

    FLASH300 New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2008
    Сообщения:
    72
    кнопочка м (alt M) выбираем сегмент кода нужной dll и жмем enter ,или поставить бряк на всю секцию кода F2 самоучитель в картинках по Ольге находится здесь
    http://www.wasm.ru/publist.php?list=23
    где то с 9 урока:)
     
  4. CroCop

    CroCop New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2009
    Сообщения:
    23
    FLASH300
    Я,если честно,день как олькой пользуюсь,так что для меня сложновато как-то пока то,что ты дал. Но данный цикл начал читать.Спасибо.
     
  5. CroCop

    CroCop New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2009
    Сообщения:
    23
    Код (Text):
    1. ...так что для меня сложновато как-то пока...
    я про 9 урок. Первые уроки-элементарные вещи)
     
  6. CroCop

    CroCop New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2009
    Сообщения:
    23
    MSoft
    а что передать в качестве параметров стандартных для обработчиков хуков:nCode,wParam,lParam?
     
  7. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    эм... ну ты ж в обработчике ожидаешь какие-то события? ты ж их как-то обрабатываешь? Вот какие обрабатываешь, те и передавай. А если ты параметры просто игнорируешь, то ничего не передавай. Тебе что надо? Проверить, работает ли код при ожидаемых условиях или нет, верно? Вот и содай те условия, которые ожидает твой код.

    Ну если совсем все страшно, то пусть твоя длл просто ведет запись в лог полученных параметров, а там разберешься, что не так ты обрабатываешь
     
  8. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Как это неважно. Если хук неправильный, то ты будешь ловить клавиши из отладчика :)
    Лучше использовать два компьютера и удаленную отладку.
     
  9. FLASH300

    FLASH300 New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2008
    Сообщения:
    72
    Мде а я уж и забыл как работают эти хуки :) система в контексте других процессов даже int 3 глотает. По моему в таких случаях проще выделить место под бряки nop ами (чтоб случайно стек не испортить) и для отладки посылать сообщения клавиатуры в окно того процесса который поставил хук, или воспользоваться WH_KEYBOARD_LL (правда не проверено).
     
  10. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    764
    Как в Olly изобразить такое?:
    DEBUG rshx32.dll
    S 100 8000 74 00 5C 00 4F

    DEBUG will return a line of the form:
    0ADE:0AC0

    E 0AC0 74 00 00 00 4F (use the value returned to you above and not 0AC0!!!)
    W
    Q

    я делал Search for binary string и результата никакого!
     
  11. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    CroCop
    я при отладке хуко-длл писал маленькую ехе, которая вызывает с длл ф-ю установки хука.
    При запуске ехе входил в ф-ю установки хука(F11) и открывался код длл,а там уже ставил бряки на ф-ю обработки хука - чуток напряжно было с хуками на клаву, но все норм - отладка прошла успешно с помощью мыши.)

    пс. выше сказанное происходило в VisualStudio.
     
  12. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    764
    Всё сгребу что спросить хочу...
    Как можно увидеть api ? Дело в том, что асмом мы только подготавливаем поля фунции, push... push...
    А потом приходит call и далее уже не ясно что происходит!? Я это давно не понимаю, но не знаю с какого боку подкраться к этому! Иными словами охота увидеть на чистом асме хотяб MsgBox...
    Или это слишком много коду в действительности и достаточно сложно? Ктонить кодил такое без api ?

    Ещё по правде сказать я не разбираюсь зачем Step Into, Step Over в отладчике, хотя это можно выяснить... Мне Step Over больше нравиться :)

    В чём различие дизассемблера от дебагера? Я боюсь этого страшного IDA, олли хоть и непонятный,
    но не так пугает всётаки. ))) Но что мне непонравилось, то что в отладчике нельзя сохранить изменения в файл. Или можно? Дампом чтоли... кривой не получится? Или для этих дел hiew лучше подходит?
     
  13. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Semiono
    1) MsgBox простой и сложный одновременно. Простой, если надо просто вывести сообщение в окне - это можешь запрограммировать, если конечно не хочешь окна сам рисовать. Без API все равно не обойдешься, даже если будешь все на "десктопе" рисовать линиями и прямоугольниками.
    Но у MsgBox куча опций и кнопки и модальность и ....
    2) Step In тебе позволит узнать, как сложно устроен MsgBox и добраться до ntdll
    3) Дизассемблер - выдает исходник и все. Дебаггер позволяет смотреть процесс "изнутри". Дизассемблер есть и в отладчиках, в Олли он интеллектуальный, в IDA еще более интеллектуальный.
     
  14. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    764