Форум программистов, компьютерный форум CyberForum.ru

Перехват и подмена вызываемых функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программы на C http://www.cyberforum.ru/cpp/thread46395.html
Известно, что такие системы как PHP, MySQL, Apache и многие другие написаны на языке C. Мне любопытно, действительно их пишут на чистом C? И какой при этом компилятор используют? Вообще где можно почитать (книги, статьи) про программирование и архитектуру подобных систем?
C++ определение расшарености(Share) папки програмно Добрые люди, подскажите пожалуйста как определить, что папка расшарена с помощью Win API програмно? http://www.cyberforum.ru/cpp/thread46292.html
определение расшарености(Share) папки програмно C++
Добрые люди, подскажите пожалуйста как определить, что папка расшарена с помощью Win API програмно?
Поиск в файле C++
Есть большое колличество файлов (word и excel). Как написать программу, которая бы искала введенное сочетание слов во всех файлах и в качестве результата - выводила или открывала данные файлы, или путь к ним показывала....?? помогите плиз, очень надо! Добавлено через 3 минуты 20 секунд пролсто я не совсем понимаю, как это реализовать (именно поиск в файле по введенной комбинации слов)
C++ Начать программирование на C++ http://www.cyberforum.ru/cpp/thread46081.html
Подскажите как начать программмировать на c++ ? Подскажите пожалуйста самую подходящую литературу ! Я учу PHP сейчас ( ну это как бы для вэб и не в счет так же как и то что я знаю HTML ))) Знаю только что c++ является самым серьезным языком программирования (ООП) Спасибо !
C++ Русификация консольных приложений Народ, помогите плиз. Есть ли прога, позволяющая русифицировать консольные приложения на с++? Заранее простите за безграмотность. Изучаю с++ всего 2-й день подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17188 / 5442 / 337
Регистрация: 30.03.2009
Сообщений: 14,758
Записей в блоге: 26
09.08.2009, 23:19     Перехват и подмена вызываемых функций
Все системные вызовы реализованы в виде WEAK процедур. Т.е. это означает, что их можно подменать (путём заведения GLOBAL символя с таким же именем). Т.е. пишешь динамическую библиотеку, в которой реализована функция с именем "open", затем в переменную окружения LD_PRELOAD прописываешь полный путь до библиотеки, затем запускаешь программу. Для контроля можешь запустить "ldd <prog_name>" чтобы убедиться, что твоя библиотека реально подцепилась.

При этом остаётся возможность обратиться к "настоящему" системному вызову по имени "__open"
 
Текущее время: 04:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru