From 1e1073235796c838d5e1a3255f88ec97575e3582 Mon Sep 17 00:00:00 2001 From: WlodekM Date: Mon, 7 Apr 2025 10:50:14 +0300 Subject: uh --- sbin/fdmaker/fdmaker.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 sbin/fdmaker/fdmaker.c (limited to 'sbin/fdmaker/fdmaker.c') diff --git a/sbin/fdmaker/fdmaker.c b/sbin/fdmaker/fdmaker.c new file mode 100644 index 0000000..c504181 --- /dev/null +++ b/sbin/fdmaker/fdmaker.c @@ -0,0 +1,42 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int main() { + // make process be sigma (why did i think of this) + if (setsid() < 0) { + perror("setsid"); + exit(1); + } + + // >open /dev/tty1 + // >look inside + // >Failed to open /dev/tty1 + int fd = open("/dev/tty1", O_RDWR); + if (fd == -1) { + write(2, "Failed to open /dev/tty1\n", 26); + exit(1); + } + // make tty1 be the displayed tty + if (ioctl(fd, TIOCSCTTY, 0) < 0) { + write(2, "ioctl TIOCSCTTY", 16); + exit(1); + } + char path[128] = {0}; + write(fd, "\nEnter path to shell (nothing for /bin/shel): ", 47); + int len = read(0, path, sizeof(path)); + path[len - 1] = '\0'; + if (len == 1) { + strcpy(path, "/bin/shel"); + } + // write(1, path, strlen(path)); + write(fd, "\e[2J\e[0;0Hwelcome to nyaOS - a distro made by an idiot with no C experience that still somehow works\n\n", 103); + + execve(path, 0, 0); +} \ No newline at end of file -- cgit 1.4.1-2-gfad0