diff --git a/level09/source.c b/level09/source.c new file mode 100644 index 0000000..31c3408 --- /dev/null +++ b/level09/source.c @@ -0,0 +1,59 @@ +#include +#include +#include +#include + +char *set_msg(char *msg, int len); +int set_username(char *username); + +int secret_backdoor(void) +{ + char s[128]; + + fgets(s, 128, stdin); + return system(s); +} + +int handle_msg(void) +{ + char msg[140]; + char username[40]; + int len = 140; + + set_username(username); + set_msg(msg, len); + return puts(">: Msg sent!"); +} + +char *set_msg(char *msg, int len) +{ + char s[1024]; + + memset(s, 0, sizeof(s)); + puts(">: Msg @Unix-Dude"); + printf(">>: "); + fgets(s, 1024, stdin); + return strncpy((char *)msg, s, len); +} + +int set_username(char *username) +{ + char s[140]; + + memset(s, 0, 128); + puts(">: Enter your username"); + printf(">>: "); + fgets(s, 128, stdin); + for (int i = 0; i <= 40 && s[i]; ++i) + username[i] = s[i]; + return printf(">: Welcome, %s", username); +} + +int main(void) +{ + puts("--------------------------------------------\n" + "| ~Welcome to l33t-m$n ~ v1337 |\n" + "--------------------------------------------"); + handle_msg(); + return 0; +}