HookOleObject

Тема в разделе "WASM.HEAP", создана пользователем Velheart, 26 авг 2009.

  1. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Может совсем баян, но вот на что случайно наткнулся. В аттаче код, нужно екзе и длл в один каталог положить. Никто часом не знает, зачем это нужно? Никаких вызовов кроме инит-анити не происходит, гугл на IHookOleObject(возвращается GetHookInterface, в коде просто void**) не выдает ни одной ссылки))
     
  2. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    А никто не отвечает потому что баян, или не интересно?))) можно же типа пролезть вроде каг к (и)эксплореру в ап)) у меня работало на xp\vista =)
     
  3. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    479
    Выглядит как заготовка для чего-то, но для чего именно - непонятно.
    Екзешник просто регистрирует DLL-ку в COM-системе, прописывая зачем то ключ с его гуидом в LC/microsoft/hookoleobject, запускает эксплорер и дерегистрирует длл-ку.
    дллка - ком сервер пустого объекта, реализующего один пустой интерфейс IHkObject.

    Нафуя это надо - одному автору видимо известно. Кодом внедрения во что-то и не пахнет пока.
     
  4. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    так запустить надо было)) код мой, я знаю, что он делает), там фишка в том, что ole32.dll при наличие соответствующего ивента, создаваемого вначале, вычитывает clsid, записанный в соответствующем ключе, ищет ком-объект с таким clsid и загружает эту длл)) Экзешник запускает иэксплорер, и ны видим из него наш мессаджбокс))
     
  5. aa_dav

    aa_dav Active Member

    Публикаций:
    0
    Регистрация:
    24 дек 2008
    Сообщения:
    479
    Аааа.... Ну так бы и говорил что вопрос в том что ole32.dll пытается загрузить объект из соответствующего ключа. =)
    По идее он может быть и пытается что-то с ним делать, но не получая нужный IID просто отлупливается...
    Так что может и была бы какая ценность в инжекте DLL-ки, но в эксплорере есть другие способы заинжектится в этом виде - обычные хуки, надстройки и т.п.

    А по поводу поста - почему ты решил что интерфейс называется именно IHookOleObject? Попробуй как нибудь перехватить что в QueryIntreface тебе эксплорер в объект пытается передать как IID и поищи в инете такой GUID.
     
  6. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Не пытается, он получает адреса функций, которые описаны в HkDll.cpp, сохраняет их в глобальных переменных, и экспортирует(!) обертки вокруг них)) никакие функции кроме (Un)InitHookOle не вызываются, по всему system32 искал строчки с названиями -- нигде нет, кроме самой ole32.dll, из нее же тоже ничего кроме (Un)InitHookOle не вызывается)) это все можно посмотреть недалеко от длл-мэйна

    из символов -- там прототипы функций есть))

    Не, я понимаю, что не ахти какая клевая штука, но может кому будет полезно, и вообще странно, что никаких упоминаний нигде об этом нет)
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Velheart
    Зачем это нужно ?
     
  8. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Clerk
    Просто еще один способ пролезть в ап некоторых процессов, более слабый аналог AppInit_DLLs из user32 для ole32, т.к. нужно иметь установленный ивент.
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Velheart
    Прот запалит это, даже более - любую подгрузку(рассматривайте как проецирование файловых секций) модулей, так что смысла нет.