|
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
|
|||||||||||
Перехват MessageBox в dll10.08.2017, 22:45. Показов 3693. Ответов 4
Недавно нашёл исходник dll перехватывающей ф-цию MessageBoxW:
Кликните здесь для просмотра всего текста
Всё хорошо работает, но как только я попытался криво, но добавить перехват ещё и MessageBoxA, то стал работать только перехват MessageBoxA, а при вызове MessageBoxW программа вылетает. Вопрос: как в эту длл добавить ещё один хук на MessageBoxA? Добавлено через 3 часа 55 минут Кстати, попытался изменить на: Кликните здесь для просмотра всего текста
Скажите, где ошибка...
0
|
|||||||||||
| 10.08.2017, 22:45 | |
|
Ответы с готовыми решениями:
4
Инжектор dll, не выполняется вызов MessageBox При загрузке Dll MessageBox срабатывает 2 раза
|
|
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
|
|
| 11.08.2017, 08:12 | |
|
Zagadohnik37, дак у тебе между твоими хуками глобальные переменные используются. Конечно будет падать. Т.е. к примеру ты ставишь хук на Func1 (oldBytes, JMP, etc инциализируются), затем на Func2 (oldBytes, JMP, etc затираются новыми данными). Затем вызываешь Func1 и программа падает, т.к. в переменных данные для Func2.
И вообще код ужасный. Где ты его взял? Как так можно, патчить, вызывать оригинал, и опять патчить. В многопоточном приложении, с таким кодом, будут вызовы мимо хука и падения. Да и, многопоточность, это не единственная проблема при перехватах. Лучше возьми, что-нибудь готовое (MinHook etc).
0
|
|
|
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
|
||
| 11.08.2017, 12:57 [ТС] | ||
|
Мой код конечно ужасный, т.к. я раньше не работал с хуками, да и вообще на с++ недавно перешёл. А код, который я взял за основу вроде-как норм... С minHook я ещё посмотрю, а вот как к этому коду(тот что был изначально) добавить ещё один хук? Только что-бы всё норм работало... Добавлено через 2 минуты Или если всё криво, то можно пример перехвата двух апи (MessageBoxW и MessageBoxA), только с MinHook плиз ![]() Ну что-бы можно было выбирать, что изменять, а что нет, как в первом примере, где result = Mess... . Добавлено через 1 час 30 минут И я уже 2 часа не могу понять, как впихнуть этот minhook в мой проект! Кстати, может кто-нибудь знает видео, или сайт, где написано, как это сделать?
0
|
||
|
232 / 135 / 19
Регистрация: 10.11.2015
Сообщений: 305
|
||
| 11.08.2017, 17:16 | ||
|
0
|
||
|
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
|
||||||
| 11.08.2017, 18:08 [ТС] | ||||||
|
Пока вы отвечали, я уже всё нашёл и сделал
А теперь мини-вопрос: C MessageBox и MessageBoxEx всё легко, а вот как быть с MessageBoxIndirect?Вот пример перехвата простых msgBox'ов:
Просто вдруг загорелась идея перехватывать все виды MsgBox'ов.
0
|
||||||
| 11.08.2017, 18:08 | |
|
Помогаю со студенческими работами здесь
5
Dll в MessageBox
Перехват сообщения от DLL Перехват Send(ws2_32.dll) как заHOOKать MessageBox в другом приложение из моего DLL? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|