LINUX.ORG.RU

История изменений

Исправление roof, (текущая версия) :

Добавить можно все, что угодно. Вопрос в том, что должна делать программа, которую ты пишешь. Код, который ты тут выложил может исполнять команды с правами сервера, длиной до восьми однобайтовых символов включительно. Начни с того, чтобы это ограничение сделать более разумным.

Далее есть смысл разобраться с запуском процессов, чтобы запустить шелл и писать команды в его поток ввода, а с его потока вывода читать и отправлять данные клиенту. Учесть, что в обе сторны могут идти не только текстовые данные, научиться это обрабатывать.

Получится шелл-клиент, которым можно и скриншоты делать, и файлы качать и все что угодно, ограниченое лишь правами, с которыми запущен сервер. Это по функциональности.

По коду тоже есть над чем поработать, мягко говоря. g++7.4.0 - C++-компилятор, а код написан на С с использованием new, delete и std::cin неизвестно для чего.

// По наивному коду и вопросам я предполагаю, что это учебный проект под линукс. Если это не так и ты на полном серьезе пишешь программу для удаленного управления компами, убедись, что владельцы компов тебе это разрешили, иначе придет товарищ майор и сделает тебе атата.

Исходная версия roof, :

Добавить можно все, что угодно. Вопрос в том, что должна делать программа, которую ты пишешь. Код, который ты тут выложил может исполнять команды с правами сервера, длиной до восьми однобайтовых символов включительно. Начни с того, чтобы это ограничение сделать более разумным.

Далее есть смысл разобраться с запуском процессов, чтобы запустить шелл и писать команды в его поток ввода, а с его потока вывода читать и отправлять данные клиенту. Учесть, что в обе сторны могут идти не только текстовые данные, научиться это обрабатывать.

Получится шелл-клиент, которым можно и скриншоты делать, и файлы качать и все что угодно, ограниченое лишь правами, с которыми запущен сервер. Это по функциональности.

По коду тоже есть над чем поработать, мягко говоря. g++7.4.0 - C++-компилятор, а код написан на С с использованием new, delete и std::cin неизвестно для чего.