/* Menel's Brainfuck-AMX Kompilator 2009 Wolver */ #include FILE *script; FILE *result; int PTR=0; //coś tam do zerowania unsigned char vmem[1000]; // jakaś tablica int MM=0; //pojnter int RPT=-1; //pentelka int loopz=0; char chrsinline; int main (int argc, char **argv) { char znk; char *pwnznk; for(PTR=0; PTR < sizeof (vmem); PTR++) { vmem[PTR]=0; } script=fopen(argv[3], "r"); result=fopen("tmp.pwn", "w"); puts ("Brawo, oto twoj skompilowany program:\n--------------------start------------------------"); fputs("#include \r\n#pragma tabsize 0\r\nmain(){print(\"",result); while ((znk=fgetc(script))!=EOF) { switch(znk) { case '+': vmem[MM]++; break; case '-': vmem[MM]--; break; case '>': MM++; break; case '<': MM--; break; case '.': sprintf(pwnznk, "\\x%02x",vmem[MM]); fputs (pwnznk,result); chrsinline++; if(chrsinline>50) { chrsinline=0; fputs("\");\nprint(\"",result); } putc(vmem[MM],stdout); break; case ',': vmem[MM]=getchar(); break; case '[': RPT=ftell(script); break; case ']': if(vmem[MM]!=0 && RPT !=-1) { if(loopz>10000) { puts("\nBlont nieskaczonej pentli. exit"); return 0;} fseek(script,RPT,SEEK_SET); loopz++; } else { RPT=-1; loopz=0; } break; case '\x00': break; default: continue; } } fputs("\");}",result); fclose(result); system("realpawn.exe -;+ -(+ \"tmp.pwn\""); puts("--------------------stop-------------------------\n0 errorsow.\n"); fputs("2009 TMDV x Menel's Brainfuck-PWN Converter\nFajl kompiled: ",stdout); puts(argv[3]); fclose(script); return 0; }