Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
KrYpToDeN
3 / 3 / 1
Регистрация: 10.01.2015
Сообщений: 69
#1

Перехват функции - C++

09.02.2016, 13:31. Просмотров 426. Ответов 4
Метки нет (Все метки)

Приветствую всех.

Есть хорошая статья по перехвату API функции.
http://habrahabr.ru/post/90377/

Но есть проблема. Как мне сделать, если я хочу перехватить функцию из другой программы?
Тоесть. Есть exe файл. Я из него выдрал адрес начала функции через ollydbg. Далее как сделать, чтобы не со своей прогой работа шла, а именно с тем процессом, опираясь на статью.

Добавлено через 6 минут
тоесть фактически, как я понимаю, проблема здесь.
JUMP_DATA* checkFunct = reinterpret_cast<JUMP_DATA*>(MEMORY);

MEMORY - моя память, вырванная из другой проги. Но вот система же по идеи считывает данные с моего процесса, а не с того.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2016, 13:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перехват функции (C++):

Перехват функции - GetProcAddress - C++
Здравствуйте. Покажите пожалуйста пример, как перехватит в dll &quot;A&quot; , функцию из dll &quot;Б&quot; В интернете только базовые примеры по...

Выполнить перехват API вызова методом сплайсинга функции - C++
Общий! :D Как следует из названия темы, хочу выполнить перехват API вызова. Сделать это хочу методом сплайсинга функции. То есть...

перехват исключений - C++
Ввести два числа. Меньшее заменить полсумой, а большее - удвоенным произведением. Выражение должно быть вычислено в отдельной...

Перехват сообщения - C++
Я не уверен, что пишу вопрос в нужный раздел, но все же задам: У меня на компьютере лежит папка. Мне нужно с помощью чего нибудь...

Перехват функций - C++
Я делаю чит для игры, я нашел адрес где вызывается WinApi функция WriteFile которая сохраняет данные в файл конфига игры. Мне надо написать...

Перехват URL - C++
Доброго времени! В общем задача следующая, нужно написать программку, которая сидела бы в трее, а лучше вообще нигде не сидела(ну кроме...

4
SergioO
95 / 184 / 63
Регистрация: 13.12.2015
Сообщений: 995
09.02.2016, 13:37 #2
Цитата Сообщение от KrYpToDeN Посмотреть сообщение
Я из него выдрал адрес начала функции через ollydbg
что вы подразумеваете под адресом?
грузите в память, устанавливаете указатель инструкций epi на нужный адрес и "поехали"

Добавлено через 1 минуту
Цитата Сообщение от KrYpToDeN Посмотреть сообщение
MEMORY - моя память, вырванная из другой проги
0
KrYpToDeN
3 / 3 / 1
Регистрация: 10.01.2015
Сообщений: 69
09.02.2016, 13:38  [ТС] #3
SergioO, 0x4156FC. Это когда прогу запустил в оllydbg, нашёл функцию, что мне нужна. Это её адрес начала. Делал всё, как описано по ссылке. В своем же приложении работает. А вот в другом..(
0
Убежденный
Ушел с форума
Эксперт С++
15937 / 7247 / 1140
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
09.02.2016, 14:14 #4
Цитата Сообщение от KrYpToDeN Посмотреть сообщение
Есть хорошая статья по перехвату API функции.
http://habrahabr.ru/post/90377/
И что же в ней хорошего?
У автора этой статьи косяки через каждое предложение, складывается впечатление,
что он выкопал где-то код с перехватом, покрутил его минут 30 и бегом на Хабр
себе баллы зарабатывать...

Цитата Сообщение от KrYpToDeN Посмотреть сообщение
Как мне сделать, если я хочу перехватить функцию из другой программы?
Загрузи свой код в эту программу и ставь перехват из него.
2
KrYpToDeN
3 / 3 / 1
Регистрация: 10.01.2015
Сообщений: 69
09.02.2016, 16:07  [ТС] #5
Убежденный, вот, буквально минут 10 назад это сделал. Спасибо за совет)
0
09.02.2016, 16:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2016, 16:07
Привет! Вот еще темы с ответами:

Не срабатывает перехват исключений - C++
Решил перехватить открыие файла,но что то не получается.Компилиться без проблем,но не работает: void ReadAutorunscripts() { try ...

Перехват аудио потока - C++
Добрый вечер. Появилась такая задумка, создать графический эквалайзер, который считывает звук со всего компьютера=) Кто может помочь с...

Перехват и подмена вызываемых функций - C++
Здравствуйте. Нужно подменить вызов таких функций как open(), lstat(), stat(), read(), write(), mkdir(), chdir(), getcwd() для...

Перехват stdout графического приложения - C++
ОС Win7. Возможно ли перехватывать stdout графического приложения, и если да, то как?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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