/* Here it is this masterus it displays what operating system you use.. eeeerm... exploit this m*therfucker and get root */ #define max_data 128 #ifdef WIN32 #include #include #define OS "win32" static char* secure_copy(char dst[max_data], char src[max_data], short pos) { unsigned int i=pos,j=0;if (pos > 128) exit(1);while(j!=strlen(src)) dst[pos++]=src[j++];return dst; } #else // compiled on unix boxen #include #include static char* secure_copy(char dst[max_data], char src[max_data], int pos) { unsigned int i=pos,j=0;if (pos > 128) exit(1);while(j!=strlen(src)) dst[pos++]=src[j++];return dst; } #define OS "Unix" #endif int mem_chk(char *buffer,int forbidden,long max) { int i; for (i=0;i < max;i++) if (buffer[i]==forbidden) return -1; return 0; } int main(int argc,char *argv[],char *envp[]){ unsigned int i,ret; char running[40]; char buffer[148]; char alfa[128]=OS; char *me; short pos=0; // im such a bitch for (i=2;i < argc; i++) memset (argv[i],0x00,strlen(argv[i])); fprintf(stdout," * Welcome to masterus for %s *\n\n",alfa); if (argc < 2) {printf("need one arg\n");exit(0);} if (strlen(argv[1]) > 28) { printf("Erm...:\n"); printf("your buffer is way to long my friend\n"); printf("To bitch i will mangle the buffer for you\n"); printf("hacker my ass .. own me if you can fool!!\n\n" ); memset(buffer,0,148); memset(buffer,0x41+(1- rand()%34),28); } if (me=getenv("dsr")) pos=atoi(me); if (strlen(argv[1]) > 128) { printf("Argv[1] to long byebye\n"); exit (0);} secure_copy(argv[1],"hi loosers !",0); secure_copy(buffer,argv[1],pos); buffer[148]=0; if (mem_chk(buffer,0x90,128)==-1) { printf("\n\nYou just dont know when to quit now do u\nI found nops so byebye!"); exit(0); } strcpy(running,alfa); printf("\n\n=====================================\n"); printf("Your running operating system is %s\n",running); }