Здравствуйте, DTB, Вы писали:
DTB>и дальше проблема stack overflow, из за бесконечной рекурсии (прыгает не в оригинал, а сам в себя)
DTB>вообще еще будет много проблем:) не проще для обычных функций использовать перехват через таблицу экспорт/импорта? (по рихтеру, статья есть даже где-то тут на сайте)
Хм... Сейчас пройдусь в олле. через IAT не легче — во первых орет проактивка, что мешает работать, во вторых не все программы используют IAT, если к примеру мы вызываем функцию по GetProcAddress. Рихтера пролистал, устаревший код, который даже не работает. (поддержка win9x\me не нужна в моей либе)
Этот пример брался с INTEL`овского сайта,
http://software.intel.com/en-us/articles/intercepting-system-api-calls/
Ед. проблема, вроде, которая может возникнуть — это если другой тред процесса вызовет функцию раньше чем мы ее заменим — но этого можно избежать стопнув все треды, до выполнения слайса с трамплином.
PS: извиняюсь за инклуды детурса ) забыл удалить, он естесвенно не нужен. Пробовал и его, но размер в 100+кб раздражает. То же самое что стрелять из пушки по комарам.