/* b4b0-saver.c * cp4kt (see-packt) & Qytpo (pee-nis) * * special thanks to w00w00 (Shok mainly) for their/his article on console * ioctls. Without that, this would have taken a *lot* longer. * This is 93.42 % Qytpos code. i love u guy. p.s. thnx vol * * greets to #!animalcrackers * */ /* over view -- cp4kt * * basically, its kinda sloppy, but it works. another problem remains however * and that problem is the passwd[] buffer. to compile, do th1z: * * # gcc sscr.c -o sscr -lncurses * * * if that doesn't work, u have a problem. get ncurses fool. * * this is meant for entertainment purposes only. no real dillmonkies were harmed * in the creation of this. thank u. * * ** SIDE NOTE ** to break, hit enter once. do not hold down the enter key. */ #include #include #include #include #include #include #include #include #include #include #include #define NUMWORDS 20 /* number of words in *words[] (not including NULL) */ #define LOCK(x) if (ioctl(fd, VT_LOCKSWITCH, 1) < 0) { \ perror("LOCK malfunction"); \ exit(-1); \ } #define UNLOCK(x) if (ioctl(fd, VT_UNLOCKSWITCH, 1) < 0) { \ perror("UNLOCK malfunction"); \ exit(-1); \ } static char passwd[] = "dillmonkey" ; int fd; int init_all( void ) { initscr(); noecho(); nodelay(stdscr, TRUE); curs_set(0); start_color(); signal(SIGINT, SIG_IGN); signal(SIGTERM, SIG_IGN); signal(SIGQUIT, SIG_IGN); signal(SIGTSTP, SIG_IGN); } int main(int argc, char *argv[]) { WINDOW *w; int randx, randy; int i; char *wordz, pbuf[20]; char *words[] = { "DRUGZ!", "B4B0 ROCKING THE HOUSE!", "NIGGER!", "CRACKHEAD!", "CUNTLIPS!", "FUCKASS!", "DILLMONKEY" "CRACK!", "TWEAK!", "CRANK!", "VODKA!", "PENIS!", "BOOBS!", "SPERM!", "PUSSY!", "BITCH!", "CHINK!", "SKANK!", "WHORE!", "QUEER!", "LAMER!", "LOSER!", "DRUNK!", NULL }; init_all(); if((fd = open("/dev/tty", O_RDWR)) < 0) { perror("cannot open tty"); exit(-1); } LOCK(fd); while(1) { srand(time(0)); wordz = words[rand() % NUMWORDS]; if(strlen(wordz) > 6) { i = (79 - (strlen(wordz) + 2)); randx = rand() % i; randy = rand() % 21; } else { randx = rand() % 71; randy = rand() % 21; } w = newwin(3, strlen(wordz) + 2, randy, randx); mvwprintw(w, 1, 1, "%s", wordz); box(w, ACS_VLINE, ACS_HLINE); wrefresh(w); sleep(1); wclear(w); wrefresh(w); delwin(w); if(getch() > 0) { w = newwin(3, 25, 10, 35); mvwprintw(w, 1, 1, "password: "); box(w, ACS_VLINE, ACS_HLINE); wrefresh(w); wgetstr(w, pbuf); wrefresh(w); if((strcmp(passwd, pbuf)) == 0) break; else { wclear(w); wrefresh(w); delwin(w); continue; } } } endwin(); UNLOCK(fd); return 0; }