Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [C] Доступ к старой функции (https://forum.antichat.xyz/showthread.php?t=201331)

VISTALL 03.05.2010 14:41

[C] Доступ к старой функции
 
Здраствуйте.
У мну есть файлик Test.exe + word.dll. В Test.exe я сначала вывожу с длл-ки word.dll метод Word() вывод:
- "Word from Dll Normal\n"
Потом хукаю метод и опять вывожу
- "Word is Hooked\n"

Вопрос как можно сделать что б я имел доступ к старому методу выво которого - "Word from Dll Normal\n", без снятия хука.

Сам проект: http://dump.ru/file/4561840. VS 2008

Забыл нада юзать чистый Си. не С++

slesh 03.05.2010 14:55

ну так запоминай адрес старого метода и потом когда нужно, то юзай. Хотя смотря как хук ставил.

VISTALL 03.05.2010 15:11

а пример) моно имхо я больше ява и шарп)(совсем другое)

Я пробывал у мну чето вызывалась новая(захуканая)...

VISTALL 03.05.2010 16:17

можно и переписать метод "SetHook", я не силен, но мне нужно. Есть ли знающие люди?)

WNZRS 03.05.2010 18:37

ты покажи свой код, тогда появятся умные люди.

VISTALL 03.05.2010 18:42

интересно вот это
Цитата:

http://dump.ru/file/4561840
что?)))

Цитата:

Сам проект: http://dump.ru/file/4561840. VS 2008

Забыл нада юзать чистый Си. не С++
с первогО:)

WNZRS 03.05.2010 19:06

чтобы вызвать старую функцию тебе надо при хуке запоминать байты
Код:

BYTE old1 = *(BYTE*)pfnDst; // JMP FAR
DWORD old2 =*(DWORD*)((DWORD)pfnDst+1);

и когда надо вызвать старую функцию возвращаешь байты назад...

VISTALL 03.05.2010 19:19

в кратком снимать хук, а если не снимать?

WNZRS 03.05.2010 19:29

чтобы не снимать нужно не джамп делать, а просто поменять адрес в word_h

VISTALL 03.05.2010 19:41

а можно пример ибо для мну указатели и управления памьять - это капец, путаюсь))

Смотри мне нужно хукнуть метод, и с хукнутого иметь доступ к старому, прослойка - как говоря.

Мож помочь?

имхо соображалка работает:) ток опыта мало:)


Время: 05:04