Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 08.05.2010, 23:43   #1
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
GoldFinch пока неопределено
По умолчанию

Для реальных ситуаций, надо либо смотреть какие инструкции в начале функции и прописывать их в jmpMessageBoxW() руками,
либо использовать дизассемблер длин инструкций и определять длину и тип копируемых инструкций с его помощью.

Также надо учитывать что когда в начало функции пишется "jmp hook", то если какой-то поток в это время исполняет код в этом месте - прога упадет, по этому либо надо быть уверенным что никакие потоки эту часть кода исполнять не будут, либо замораживать все потоки, проверять это и если надо - переносить eip на новый код.

Дизассемблер длин инструкций, адаптированный для VC++ можно посмотреть тут
http://code.google.com/p/nabla-kb/so...s/rce/hook.cpp
(функция instruction_length, пропустить сложно; остальной код в этом сорце работает только частично)
GoldFinch вне форума   Ответить с цитированием
За это сообщение GoldFinch нажился спасибкой от:
Ответ

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 09:21.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!