Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Сбор логов
Следующее, что нам нужно, — это забирать лог удаленно. Поскольку мы не
собираемся заниматься промышленным шпионажем, то можно для начала
ограничиться доступом из локальной сети. Для этого будет достаточно
встроить в наш проект минималистичный сервер HTTP. Вот подходящий
исходник, а вот доработанная мной версия.
Использование тоже весьма примитивное: достаточно создать объект нашего
сервера, и он автоматически займет адреса localhost:34000 и
<InternalIP>:34000 под HTTP и на этих же адресах порт 34001. Сервер будет
возвращать список файлов и папок в виде списка или содержимое файла,
если запрошен файл.
В конструктор нужно передать путь к папке, в которую пишутся логи (или
любой другой, которая может понадобиться). По умолчанию логи пишутся в
текущую папку, значит, в конструктор передаем
Environment.CurrentDirectory.
Автозапуск
Есть много способов попасть в автозагрузку: тут и папка «Автозагрузка», и
куча мест в реестре, и установка своего драйвера, и создание службы…
Однако реестр и драйверы отслеживаются любым приличным антивирусом, а
создание службы слишком кривой вариант, который может сломаться в
любой момент, хотя на крайний случай неплохо.
Мы же просто создадим задачу в планировщике заданий и попросим его
запускать наш логгер с нужными параметрами при каждом входе юзера в
систему. Для работы с планировщиком заданий берем пакет
Microsoft.Win32.TaskScheduler из NuGet.
7 слайд
8 слайд