Форум программистов
Реклама:
Гарантия безопасности сети с UTM-системой ИКС.
Защита ПД, межсетевой экран, контроль доступа, фильтрация трафика, система предотвращения вторжений.
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 17.12.2011, 19:52   #11
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 373
Репутация: 181
По умолчанию

Цитата:
Сообщение от StIX-S Посмотреть сообщение
Хотелось бы обойтись без подгрузки лишних dll, а также без модификации файлов сервера.
тут как ни крути одно из двух: лучше всего конечно внедрить свою DLL которая будет перехватывать искомую функцию
__________________
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума   Ответить с цитированием
Старый 17.12.2011, 22:23   #12
StIX-S
Форумчанин
 
Регистрация: 24.06.2011
Адрес: Россия
Сообщений: 69
Репутация: 13

icq: 1774295
Сообщение

Нашел очень хорошую статью по перехвату, по моему то, что мне нужно.
http://www.rsdn.ru/article/baseserv/IntercetionAPI.xml
StIX-S вне форума   Ответить с цитированием
Старый 11.08.2017, 19:39   #13
Zagadohnik37
Новичок
 
Регистрация: 22.03.2015
Сообщений: 3
Репутация: 10
По умолчанию

Вот исход длл для перехвата:

#include "MinHook.h"
#include <string>



#if defined _M_X64
#pragma comment(lib, "MinHook.x64.lib")
#elif defined _M_IX86
#pragma comment(lib, "MinHook.x86.lib")
#endif


typedef int (WINAPI *MESSAGEBOXW)(HWND, LPCWSTR, LPCWSTR, UINT);
typedef int (WINAPI *MESSAGEBOXA)(HWND, LPCSTR, LPCSTR, UINT);

MESSAGEBOXW fpMessageBoxW = NULL;
MESSAGEBOXA fpMessageBoxA = NULL;

int WINAPI DetourMessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType)
{
std::wstring s = lpText;
s = s += L"\n_(HOOK)";
return fpMessageBoxW(hWnd, (LPCWSTR)s.c_str(), lpCaption, uType);
}

int WINAPI DetourMessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType)
{
std::string s = lpText;
s = s + "\n_(HOOK)";
return fpMessageBoxA(hWnd, (LPCSTR)s.c_str(), lpCaption, uType);
}

int init()
{
if (MH_Initialize() != MH_OK)
{
return 1;
}
//##########
if (MH_CreateHook(&MessageBoxW, &DetourMessageBoxW,
reinterpret_cast<void**>(&fpMessage BoxW)) != MH_OK)
{
return 1;
}
if (MH_EnableHook(&MessageBoxW) != MH_OK)
{
return 1;
}
//##########
if (MH_CreateHook(&MessageBoxA, &DetourMessageBoxA,
reinterpret_cast<void**>(&fpMessage BoxA)) != MH_OK)
{
return 1;
}
if (MH_EnableHook(&MessageBoxA) != MH_OK)
{
return 1;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
std::wstring s = L"I hook MessageBox! PID: ";
s = s += (std::to_wstring(GetCurrentProcessI d()));

MessageBoxW(NULL, (LPCWSTR)s.c_str(), L"Hello", MB_OK);

OutputDebugStringA("Attached :D!");
init();
OutputDebugStringA("Initiated Hook!");
}
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

Инжектор сами напишите или скачаете.
Zagadohnik37 вне форума   Ответить с цитированием
Старый 11.08.2017, 19:42   #14
Zagadohnik37
Новичок
 
Регистрация: 22.03.2015
Сообщений: 3
Репутация: 10
По умолчанию

И да, для этого кода нужен MinHook, установка:
Cайт
Zagadohnik37 вне форума   Ответить с цитированием
Старый 11.08.2017, 20:01   #15
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,012
Репутация: 1482
По умолчанию

Думаете через 6 лет это актуально?
waleri вне форума   Ответить с цитированием
Старый 11.08.2017, 20:30   #16
Zagadohnik37
Новичок
 
Регистрация: 22.03.2015
Сообщений: 3
Репутация: 10
По умолчанию

Нет, просто решил написать, вдруг кому-то будет нужно...
Zagadohnik37 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Причины появления ошибок mazzahaker Общие вопросы C/C++ 6 12.12.2011 11:28
Задержка появления строк darkahoy Общие вопросы .NET 6 12.11.2010 22:57
Задержка появления окна. DIMANJ Общие вопросы Delphi 5 09.10.2009 21:05
Рисунок. Метод появления. NSvirus Паскаль 1 23.06.2009 01:40
Плавное появления формы Claster Помощь студентам 4 13.11.2008 00:59




17:39.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru