|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|||||||||||||||||||||
Подмена чужой функции из dll своей31.07.2013, 22:20. Показов 9238. Ответов 16
Метки нет (Все метки)
Здравствуйте Господа !!! Чужая программа использует функцию (название известно) из её dll , требуется эту функцию подменить на свою функцию из dll.
Вот я "нахожу" чужую функцию
Добавлено через 1 час 18 минут Решил глянуть у Рихтера , компилятор не ругается, но и не чего не происходит. Вот функция Рихтера к-ая призвана подменять
0
|
|||||||||||||||||||||
| 31.07.2013, 22:20 | |
|
Ответы с готовыми решениями:
16
Использование чужой dll в своей программе Использование чужой DLL в своей программе Использование функции в своей программе из своей dll |
| 31.07.2013, 22:32 | |
|
0
|
|
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 31.07.2013, 22:35 [ТС] | |
|
я гуглил , поэтому что бы ерундой не страдать я почитал Рихтера , но вот где то заминка не пойму
0
|
|
| 01.08.2013, 00:09 | |
|
Вы уверены, что вам удалась замена в чужом процессе?
Добавлено через 10 минут P.S. Перехват API-функций в Windows NT/2000/XP
0
|
|
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 01.08.2013, 09:24 [ТС] | |
|
gazlan, да да и эту статью я уже читал,я не из тех кто сразу пишет на форум не покапавшись в гугле.
0
|
|
|
Ушел с форума
|
|||
| 01.08.2013, 10:42 | |||
|
тогда вариантов не много - пропатчить начало оригинальной функции, вставив туда "jmp адрес-новой-функции". Если есть контроль над загрузкой приложения-жертвы, особенно над загрузкой его dll-ок, тогда появляются другие варианты. Например, изменение адреса функции в таблице импорта exe или в таблице экспорта dll. Для этого, правда, придется разобрать PE-образ, но это задача почти тривиальная, особенно для таблицы экспорта. Еще есть вариант - заменить оригинальную dll своей. В своей dll, в секции экспорта, прописать форвардинг на соответствующие функции оригинальной dll, кроме той, которую нужно перехватить. Для нее пишется обычная экспорт-сигнатура и своя реализация. Добавлено через 6 минут sizeof (DWORD) и sizeof (указатель) равны только в 32-битных сборках. На 64-битных sizeof (указатель) будет 8 байт, отсюда усечение (без предупреждения компилятора, т.к. каст в стиле С) и непонятные вылеты программы время от времени...
0
|
|||
| 01.08.2013, 10:59 | |
|
В развитие темы Proxy: Generating .DLL Wrappers
0
|
|
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|||||||
| 01.08.2013, 13:57 [ТС] | |||||||
|
Добавлено через 14 минут Вот полный код для подмены MessageBoxA , он не работает , почему ?????????? ![]() ![]() ![]()
0
|
|||||||
|
Ушел с форума
|
|
| 01.08.2013, 14:06 | |
|
Патчить адреса в таблице импорта нужно только во время загрузки dll.
Если сделать это после, есть вероятность, что функция будет вызвана напрямую, мимо "переходника", который патчится. Ну и в коде функции ReplaceIATEntryInOneMod я вижу WriteProcessMemory, но не вижу ни проверки атрибутов страницы (read-only ?), ни проверки ошибок.
0
|
|
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 01.08.2013, 14:57 [ТС] | |
|
ок.посматрю тогда отпишусь.а по поваду длл это как же user32 отследить загрузку?
0
|
|
|
Ушел с форума
|
|
| 01.08.2013, 15:17 | |
|
Когда-то делал так: запускаем процесс c флагом DEBUG_ONLY_THIS_PROCESS.
А потом ловим события с помощью WaitForDebugEvent. Получили LOAD_DLL_DEBUG_EVENT - смотрим, что за dll загрузилась. Как только поймали загрузку нужной dll, выполняем патчинг.
1
|
|
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|||||||
| 01.08.2013, 15:47 [ТС] | |||||||
|
Спасибо конечно , но что то Рихтер даже не словом не полсловом не обмолвился об этом .
Добавлено через 6 минут проверил функцию , почему то выполняется вот это условие и функция завершается -
0
|
|||||||
|
38 / 33 / 6
Регистрация: 17.09.2012
Сообщений: 66
|
||
| 02.08.2013, 11:59 | ||
0
|
||
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 02.08.2013, 12:05 [ТС] | |
|
Kaimi, а по подробней,не очень понял.
0
|
|
|
38 / 33 / 6
Регистрация: 17.09.2012
Сообщений: 66
|
||||||
| 02.08.2013, 12:11 | ||||||
1
|
||||||
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 02.08.2013, 14:15 [ТС] | |
|
Всем спасибо !!! Вопрос решён .
0
|
|
| 02.08.2013, 14:15 | |
|
Помогаю со студенческими работами здесь
17
Задача: подмена адреса функции из DLL.
Как в своей DLL использовать функции из Microsoft.VisualBasic
Отразить во фрейме на своей странице часть чужой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|