Можно ли создать кейлоггер, используя функции, определенные в стандартном C, i.e в c89 или c99, без использования API, предоставленных компилятором?Разработка кейлоггера в стандарте C
ответ
Окончательный ответ не нет и только если вы хотите знать, почему :
C описывается в терминах абстрактной машины. Не вдаваясь в подробности, это машина, которая не существует, но любая реализация C должна выставлять такое же наблюдаемое поведение как эта абстрактная машина. Некоторые свойства этой машины - это функция, вызывающая «стек» (*) и доступ к модели линейной памяти. Для размещенных средах, добавьте входные и выходные потоки.
Вещи абстрактной машины, в частности не включают, включают понятия наличия операционной системы на месте (ее можно реализовать на максимально возможном количестве устройств) или до тех пор, Даже имея какое-то конкретное устройство ввода, такое как клавиатура, выходит за рамки абстрактной машины C, оно знает только о входных потоках, не заботясь о том, откуда поступают данные.
Что нужно для кейлоггера некоторое место крюка кода в это может быть слоем ОС для ввода буферизации, драйвера клавиатуры или даже непосредственно в аппаратных средств (на простых машинах, как старый C64, управление IO-регистрами для клавиатуры). Как бы то ни было, абстрактная машина C никогда не может описать ее независимым от платформы способом.
Примечание: этот ответ еще далек от завершения. Просто попробуйте дать компактное объяснение, содержащее необходимые ключевые слова, чтобы детально исследовать всех, кто заинтересован.
(*) Это не должно быть стеком, это просто общая реализация.
так что делать, если хотите создать один с помощью C? как я видел несколько клавиатурных шпионов в c –
- 1. Вопрос о стандарте C++
- 2. Экспозиция только в стандарте C++?
- 3. Программа секундомера в стандарте C
- 4. IO в стандарте C и C POSIX
- 5. Задача кейлоггера для мониторинга клиентов
- 6. Как не записывать пароли при написании кейлоггера в C#
- 7. Язык программирования для создания кейлоггера
- 8. Удалить символы из строки в стандарте C
- 9. Обоснование для [dcl.constexpr] p5 в стандарте C++
- 10. транзакционных файлов Сохранение в стандарте C++
- 11. Что мне недостает в стандарте C++ 11?
- 12. putchar_unlocked не работает в стандарте C++ 14
- 13. Сколько файлов заголовков существует в стандарте C++?
- 14. Карта различных воспоминаний в стандарте C
- 15. Попытка понять [class.qual]/2 в стандарте C++
- 16. BinaryTree в стандарте API
- 17. Разработка API в C
- 18. Разработка C# в Linux
- 19. Разработка блокнота в C++
- 20. Использование TCP в стандарте ML
- 21. Проверьте указатель точки внутри массива в стандарте C/C++
- 22. Скомпилированный список устаревших функций C++ в стандарте C++ 11
- 23. У кого-нибудь есть дополнительная информация о стандарте и стандарте?
- 24. Незначительный (неважный) дефект в стандарте?
- 25. True QuickSort в стандарте ML
- 26. Ищет в std :: basic_streambuf underspecified в стандарте C++?
- 27. В чем смысл единицы экземпляра в стандарте C++ 11?
- 28. Какова актуальность этого утверждения в 7.1.6.1/1 в стандарте C++?
- 29. Что означает [Замечание] в неопределенном предложении поведения в стандарте C++?
- 30. На каком стандарте C будет базироваться C++ 14?
Нет, это невозможно. В лучшем случае такая программа может читать символы (не нажатие клавиш), введенные в ее консоль. – Davislor
Возможно, вы мотивированы, чтобы посмотреть здесь ... http://codereview.stackexchange.com/questions/46980/windows-keylogger-in-c – LearningCODE
, так что делать, если хотите создать его? используя c –