Real Hacker
-
y0 h4cK3r 2.0 du n00b
-
Achtung, lieber nicht ausführen. Nicht das nachher noch Dateien gelöscht werden oder so.
-
sh: 1: start: not found

-
Versucht wohl
\0tar\0\0zu starten

-
IhR h4bT 4LLe KeInE AHnunG !!!!!!11111111
-
warner 2.0 schrieb:
Achtung, lieber nicht ausführen. Nicht das nachher noch Dateien gelöscht werden oder so.
Wohl wahr, ein obfuskiertes Programm was system() ist erstmal potentiell gefährlich...
-
system() enthält

-
einfach system() durch eine Ausgabe ersetzen. Dann sieht man: Es wird start calc und start mspaint in einer unendl. Schleife aufgerufen. Kinderkram
-
Hab mir den Code mal angeschaut.
Zuerst von der IDE einrücken und umbrechen lassen.
Dann die Symbole umgenannt.#include <stdio.h> #include <stdlib.h> int main() { char t[]= {115,t[0]+1,t[0]-18,t[0]-1,t[0]+1}; char cmd[64]; char s[]= {t[0]-83,t[0]-6,t[0],t[0]-3,t[2],t[0]-10,t[0]-5,t[4]}; char r[]= {s[0],t[2]+2,t[2],s[1]-1,r[1]}; while(1) { int a=0, b=0, c=0, d=0; for(; a<sizeof(t); ++a)cmd[a]=t[a]; c=a; for(; b<sizeof(r)+1; ++b)cmd[a++]=r[b]; cmd[--a]=0; system(cmd); for(; d<sizeof(s)+1; ++d)cmd[c++]=s[d]; cmd[--c]=0; c=0; for(; c<10; ++z________)system(cmd); } }Beim Auflösen der magic numbers.
#include <cstdlib> #include <iostream> using namespace std; int main() { char t[]= {'s','t','a','r','t'}; char cmd[64]; char s[]= {' ','m','s','p','a','i','n','t'}; char r[]= {s[0],t[2]+2,t[2],s[1]-1,r[1]}; for(int i=0;i<sizeof(r);++i) cout<<r[i]<<' '<<char(r[i])<<'\n'; return 1; while(1) { int a=0, b=0, c=0, d=0; for(; a<sizeof(t); ++a)cmd[a]=t[a]; c=a; for(; b<sizeof(r)+1; ++b)cmd[a++]=r[b]; cmd[--a]=0; system(cmd); for(; d<sizeof(s)+1; ++d)cmd[c++]=s[d]; cmd[--c]=0; c=0; for(; c<10; ++c)system(cmd); } }Und durchkommentiert.
#include <cstdlib> #include <iostream> using namespace std; int main() { char t[]= {'s','t','a','r','t'}; char cmd[64]; char s[]= {' ','m','s','p','a','i','n','t'}; char r[]= {' ','c','a','l','c'}; while(1) { int a=0, b=0, c=0, d=0; //"start"(ohne nullterminator) nach cmd schreiben for(; a<sizeof(t); ++a)cmd[a]=t[a]; //cmd="start..." //merken von schreibpos c=a; //" calc" dranhängen for(; b<sizeof(r)+1; ++b)cmd[a++]=r[b]; cmd[--a]=0; //cmd="start calc\0" //cals starten system(cmd); //auf der gemerkten schreibpos aufsetzen //und "mspaint" dranhängen for(; d<sizeof(s)+1; ++d)cmd[c++]=s[d]; cmd[--c]=0; //zehnmal mspaint starten c=0; for(; c<10; ++c)system(cmd); } }
-
Ich würde nie (wirklich) schadhaften Code posten. Es gab vorher einen Thread von einer anderen Person die den gleichen Code ohne irgendwelche Obfuskation gepostet hat. Davon fühlte ich mich herausgefordert und es war als Gag gemeint.
Die Lösung von Volkard ist jedenfalls korrekt.
Allen ein Frohes Neues Jahr!
