Мне нужна помощь по программе на C - это обратная оболочка (https://github.com/arturgontijo/remoteShell/blob/master/reverseShell.c) Я внес несколько изменений, например, поместил все в цикл и некоторую схему ожидания + поставил аргумент для прямой передачи IP и PORT сейчасэта штука работает очень хорошо, она стабильна (проблема, которая не может выполнить автозаполнение с помощью TAB, мне все равно) НО, что меня действительно волнует, так это то, что эта штука сломается, если на целевой машине я нажму CTRL + C программупросто завершается сам. Теперь я использовал этот пример, чтобы заблокировать CTRL + C вызовы:
/* Signal Handler for SIGINT */
void sigintHandler(int sig_num)
{
/* Reset handler to catch SIGINT next time.
Refer http://en.cppreference.com/w/c/program/signal */
signal(SIGINT, sigintHandler);
printf("\n Cannot be terminated using Ctrl+C \n");
fflush(stdout);
}
signal(SIGINT, sigintHandler);
Я получил этот пример онлайн и также включил его в свой цикл, но все еще от нажатия клиента ctrl + C ломает программу. Интересно, dup2()
отвечает за это или что-то еще, потому что на простой программе на Си это на самом деле работало нормально.