|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.04.2010, 15:56 | #1 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 24
|
перехват API функций
нужно подменить начальный код api функции не на:
push offset myproc ret (работает как jmp myproc) а на чтонибудь работающее как call myproc (чтоб api функция могла продолжить свою работу) или нужно будет восстанавливать затёртые мною байты и заново её вызывать? Последний раз редактировалось ассемблер123; 22.04.2010 в 16:13. |
22.04.2010, 16:23 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Зависит от ваших целей. Если хотите, чтобы вызывающие эту апи функцию проги работали нормально и не реализуете функциональность этой апи, то восстанавливать нужно.
|
22.04.2010, 16:25 | #3 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 24
|
я имел в виду нужно:
перехватить api и в зависимости от её аргументов разрешить или не разрешить её выполнение |
22.04.2010, 16:26 | #4 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 24
|
второй способ работает, кому интересно
есть окно которое бипает двумя разными звуками и если запустить intercept.exe один из них будет отфильтровываться Последний раз редактировалось ассемблер123; 22.04.2010 в 17:09. |
29.04.2010, 11:53 | #5 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
ну и что тут такого сложного?
да, перехватывается функция.. ну просто аццки паливно перехватывается причем - любое нормальное средство личной гигиены не особо любит всяки "ВрайтыМемыри" если интересна тема можем попереписываться - мой ойсыкю 585999274 или можешь почитать есчо вот туто хорошо написано на енту тему http://wasm.ru/article.php?article=green2red03
Нет, ну правда..
|
29.04.2010, 11:55 | #6 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 24
|
я уже разобрался и уже давно не применяю ReadProcessMemory и т.д так как они очень медленные
|
29.04.2010, 12:00 | #7 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
при перехвате функций не думаю что это создает очень уж большую проблему...
Нет, ну правда..
|
29.04.2010, 12:02 | #8 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 24
|
|
29.04.2010, 12:07 | #9 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
а зачем с такой частотой писать в процесс(-ы)?
ну есть в системе процессов энное количество (уж никак не тысча ) - бабам позаписал тудым сюдым чего надо и готово... количество записываемых байтов в выделенную в чужом процессе памать может быть довольно большим какбе...
Нет, ну правда..
|
29.04.2010, 12:13 | #10 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 24
|
всё что я написал не относится к тому примеру с двумя окнами (то просто демонстрация идеи)
я имел в виду что только в одном процессе тыща перехватов в сек, ладно я разобрался, это у меня алгоритм не очень был, я в своей функции: убирал перехват на апю вызывал апю с нужными параметрами и устанавливал перехват на апю получалось очень много хуков унхуков, сейчас я делаю по другому : один раз хукну и дальше всё в моих руках почему я унхукал и хукал при каждом перехвате а не один раз ? - потому что это наиболее безопасный метод, но наиболее тормозной (даже если применять чистые mov и т.д) Последний раз редактировалось ассемблер123; 29.04.2010 в 12:32. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Внедрение DLL и перехват API-функций | Doom_Rooster | Win Api | 4 | 01.04.2010 03:37 |
Перехват функций | 123321 | Общие вопросы C/C++ | 5 | 15.02.2009 10:54 |
обновление в блоге - Перехват API функций. Основы | Pblog | Обсуждение статей | 0 | 20.01.2009 10:40 |
API перехват | Irat | Помощь студентам | 13 | 11.02.2008 12:04 |
Перехват API функций | satana | Win Api | 4 | 21.08.2007 20:12 |