Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
#1

VirtualProtect + memcpy - Заблокировать функцию? - C++

11.11.2013, 19:31. Просмотров 293. Ответов 0
Метки нет (Все метки)

Здравствуйте. Мне необходимо в .dll файле заблокировать функцию.

Как это в теории ?

Получить оффсет,можно и сигнатуру,но пускай будет оффсет. Разрешить запись с помощью VirtualProtect. Изменить адрес на nop,чтоб процессор не увидел эту функцию. Вернуть флаги VirtualProtect.

Я получил её оффсет.

.text:1008CEA0 sub_1008CEA0 proc near ; DATA XREF: .rdata:100FBC38o

0x8CEA0 -> 0x8CEA1

Далее я затрудняюсь объяснить почему nop именно такая в 5 байтов:

const unsigned char ret[] = {0x90, 0x90, 0x90, 0x90, 0xE9};

Далее разрешаю запись,изменяю адрес,возвращаю флаги.


DWORD oldflags;
VirtualProtect((void*)GETREALADDR(0x8CEA1), sizeof(ret), PAGE_EXECUTE_READWRITE, &oldflags);
memcpy((void*)GETREALADDR(0x8BC2E), ret, sizeof(ret));
VirtualProtect((void*)GETREALADDR(0x8CEA1), sizeof(ret), oldflags, &oldflags);

В итоге приложение закрывается когда вызывается моя функция. Блок не удался.


Кто может подсказать,что делает инструкция 0xE9 ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2013, 19:31     VirtualProtect + memcpy - Заблокировать функцию?
Посмотрите здесь:
Memcpy, buffer overflow. Может ли возникнуть ошибка в функции memcpy C++
Подскажите функцию аналог memcpy() C++
C++ Не работает memcpy
memset, memcpy C++
2d ---> 1d array и memcpy C++
Объяснить работу Memcpy C++
C++ Насчёт функции memcpy()
Memcpy и динамические массивы C++
C++ Memcpy - вылетает исключение
C++ Работа функции memcpy
Своя реализация memcpy C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru