Member
Статус: Не в сети Регистрация: 12.03.2003 Откуда: Израиль
Цитата:
Но ... что мешает сделать несколько не так - заменить в стеке 'label' на свой 'восстановитель' patch'а?
Я уже предлагал это в реплике от 21.02.2005 13:19
Проблема в том, что не все функции возвращаются туда, откуда их вызвали...
Но "правильных" функций все-таки большинство.
_________________ Более мощный компьютер глючит быстрее и точнее.
_________________ ruSpiegel.net - русское зеркало дотнета
Ваши любимые статьи и блоги, посвященные Microsoft .NET Framework, теперь и на русском языке.
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
eisernWolf Ну так об этой системе я и писал в начале поста 1. Метод и есть тот самый с функцией трамплином
2. Через таблицу импорта не подходит так как очень часто .dll грузиться в runtime, линковка не статичная
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Вот опять вернулся к этому вопросу так ак были всеже глюки, но я сделал так. Может кому и помощет в будущем.
1. Запоминаю 5 байт оригинальной функции
2. Прописываю туда JMP на мою функцию, оформленную как аналог заменяемой.
3. Идет вызов, JMP отправляет выполнение ко мне, я делаю так
- востанавливаю 5 байт оригинала
- сам вызываю оригинал и получают результат вызова
- опять подменяю 5 байт
- и возвращаю результат из свой функции
Об этом вроде обсуждалось, но я почемуто боялся применить это. Но вроде все прошло гладко .
____
Пока пашет...
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
serj_ При общей процедуре сохранения и востановления или точнее скажать инжектирование в чужую процедуру, большой разницы не будет 5 байт или 2 dword, там как большу часть процедуры занимают вызовы VirtualProtect. ио проверки на всякие други штуки .
Главное , что пока пашет! И даже с fraps почти подружилась процедура
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения