Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.

Интерфейс для прослушивания событий запущенного Internet Explorer.


Авторы: Venu Vemula & Robert Walker.

Требования: Internet Explorer 4 (или выше)

Приконнектиться к запущенному браузеру из Вашего приложения всегда было проблематично. Обычно для это цели нужно писать "Browser Helper Object". Есть множество реализаций решения данной проблемы, но они либо слишком упрощены либо имеют массу ошибок. Приводимый ниже пример не имеет всех этих недостатков.

После некоторых исследований, я набрёл на интефейс, который позволяет следить за оболочками всех браузеров (как Windows Explorer так и Internet Explorer!).

Причём данный интерфейс не только хранит информацию о всех запущенных копий проводника, а ещё и посылает сообщение, когда новая копия браузера была запущена или удалена.

Если просматривать запущенные копии Проводника, то можно сделать запрос - поддерживается ли вход через интерфейс IWebBrowser. Если да, то это либо WebBrowser либо ShellBrowser. Если же используется интерфейс IWebBrowser2, то Вы можете производить манипуляции с (и коннектиться с) Проводником либо можно отслеживать события используя DWebBrowserEvents.

Для начала, необходимо в Ваш проект включить две строки:

#import "mshtml.tlb" // Internet Explorer 5
 
 #import "shdocvw.dll"
 
 

Следующая функция показывает, как можно подключиться к запущенному Web браузеру

void CIEEnumWindowsDlg::ConnectToShell()
 
 {
 
  CoInitialize(NULL);
 
 
 
  if(m_spSHWinds == 0)
 
  {
 
   //
 
   // Получаем указатель на интерфейс ShellWindows
 
   //
 
   if(m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) == S_OK)
 
   {
 
    // Каркас события 
 
    //
 
    LPCONNECTIONPOINTCONTAINER pConnPtCont;
 
 
 
    if ((m_spSHWinds != NULL) &&
 
    SUCCEEDED(m_spSHWinds->QueryInterface(IID_IConnectionPointContainer,
 
    (LPVOID*)&pConnPtCont)))
 
    {
 
     ASSERT(pConnPtCont != NULL);
 
     LPCONNECTIONPOINT pConnPt = NULL;
 
     DWORD dwCookie = 0;
 
 
 
     if (SUCCEEDED(pConnPtCont->FindConnectionPoint(
 
      __uuidof(SHDocVw::DShellWindowsEvents), &pConnPt)))
 
     {
 
      ASSERT(pConnPt != NULL);
 
      pConnPt->Advise( this->GetIDispatch(FALSE), &dwCookie);
 
      pConnPt->Release();
 
     }
 
 
 
     pConnPtCont->Release();
 
    }
 
   }
 
   else
 
   {
 
    AfxMessageBox("Shell Windows interface is not avilable");
 
   }
 
  }
 
 }
 
 

Downloads

Скачать исходник - 15 Kb



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS