| |
Mostrar Mensajes
|
|
Páginas: [1] 2
|
|
1
|
Programación / Desarrollo Web / Tematica anuncio adsense
|
en: 27 Julio 2008, 23:08
|
Hola, tengo una web y esta tiene propagandas de adsense pero el problema es que la propaganda que sale es de cualquier cosa y en cualquier idioma. Si alguien me podria decir como hacer para que las propagandas tengan la tematica de mi sitio o por lo menos esten en español  . Gracias. Chau.
|
|
|
|
|
2
|
Programación / Programación C/C++ / Timer con Allegro
|
en: 16 Mayo 2008, 19:58
|
|
Buenas, escribo porque estaba leyendo manuales de Allegro y se me complico un poco con el timer. Entendi para que se usa y como se usa, pero no entiendo como funciona el timer en si. Nose si se entiende lo que quiero decir, lo que quiero saber es como funciona el timer relacionado con el cpu mas que con el code. Desde ya, muchas gracias, si necesitan que aclare algo (o todo xD) pregunten.
CHAU.
|
|
|
|
|
3
|
Programación / Programación C/C++ / Re: Formato PE
|
en: 22 Abril 2008, 17:42
|
Buenas de nuevo, estuve probando el crypter de ferchu y no me funciona, no me ejecuta el programa encriptado. Probe cambiando fseek(fp, 0x80,0); // empieza cabecera "PE..." fread(&ntheader, sizeof(ntheader), 1, fp); por fseek(fp, dosheader.e_lfanew,0); // empieza cabecera "PE..." fread(&ntheader, sizeof(ntheader), 1, fp); pero tampoco funciona. Puede ser que no haya lugar para escribir en la sección y tenga que mover las direcciones de las otras secciones? Gracias,chau
|
|
|
|
|
4
|
Programación / Programación C/C++ / Re: Problema CreateFile y WriteFile
|
en: 22 Abril 2008, 06:27
|
Bueno, despues de leer lo que me recomendo EON, estuve leyendo el codigo del crypter que hizo ferchu( http://foro.elhacker.net/index.php/topic,204227.0.html), logre entender todo, pero se me complico en esta parte: final=ntheader.OptionalHeader.ImageBase+section.VirtualAddress+section.Misc.VirtualSize; *((unsigned long *)p)=final; buffer[pos]=0x68; // opcode de push pos++; for(i=0;i<4;i++,pos++)buffer[pos]=p[i]; inicio = ntheader.OptionalHeader.ImageBase + section.VirtualAddress; *((unsigned long *)p)=inicio; buffer[pos]=0x68; // push pos++; for(i=0;i<4;i++,pos++)buffer[pos]=p[i]; oep=ntheader.OptionalHeader.ImageBase+ntheader.OptionalHeader.AddressOfEntryPoint; *((unsigned long *)p)=oep; buffer[pos]=0x68; // push pos++; for(i=0;i<4;i++,pos++)buffer[pos]=p[i]; // Obtenemos la direccion donde comienza la funcion y la guardamos. func=(unsigned char *) &desencriptar; for(i=0;i<tam;i++,pos++)buffer[pos]=func[i];
Lo que no entiendo es porque se escribe en ese orden en el ejecutable:¿quedaria asi? push final push inicio push oep funcion El push oep es porque cuando termina la funcion saca de la pila la direccion de retorno? Si alguien me podria aclarar eso porque nose mucho ensamblador. Gracias,Chau.
|
|
|
|
|
6
|
Programación / Programación C/C++ / Re: Problema CreateFile y WriteFile
|
en: 12 Abril 2008, 22:17
|
|
Holas, mande fruta mal xD, pasa que estaba leyendo el codigo de un virus y en una parte lo que hacia era agarrar al ejecutable a infectar y lo dejaba asi: Antes de infectar EJECUTABLE NORMAL Despues de infectar VIRUS --> EJECUTABLE NORMAL --> FIRMA Y lo hacia de la misma forma que en el codigo que puse antes, seguro me falto ver la parte que hace esos que dice EON(el primero en ejecutarse extraiga el otro, lo guarde en disco y lo ejecute) o algo parecido. Ya logre hacer que lo extraiga y lo ejecute y funciona, pero como podria hacerlo sin guardarlo en el disco??
Gracias, Chau.
|
|
|
|
|
7
|
Programación / Programación C/C++ / Formato PE
|
en: 12 Abril 2008, 17:00
|
|
Holas, estoy creando un troyano y quise hacer que cuando la victima lo habra busque todos los ejecutables y se agregue a los que encuentre, para hacerlo lo hice con las API's CreateFile, WriteFile y ReadFile. Asi es como lo hice:
Código: #include <windows.h> #include <stdio.h> main() { DWORD writed,MSize,readed,VSize; LPSTR MContent,VContent; HANDLE nuevo,server,nuevor; server=CreateFile("C:\\servidor.exe",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0); if (server!=INVALID_HANDLE_VALUE) { MSize = GetFileSize(server, NULL); MContent = (LPSTR)GlobalAlloc(GPTR,MSize+1); if(MContent!=NULL)
{ ReadFile( server, MContent, MSize, &readed, 0); CloseHandle(server); }
nuevor=CreateFile("C:\\nuevo.exe",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0); if (nuevor!=INVALID_HANDLE_VALUE) { VSize = GetFileSize(nuevor, NULL); VContent = (LPSTR)GlobalAlloc(GPTR,VSize+1); if(VContent!=NULL)
{ ReadFile( nuevor, VContent, VSize, &readed, 0); CloseHandle(nuevor); }
nuevo=CreateFile("C:\\servnue.exe", GENERIC_WRITE,0,0, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0); } if (nuevo!=INVALID_HANDLE_VALUE) { WriteFile( nuevo, VContent, VSize, &writed, 0); WriteFile( nuevo, MContent, MSize, &writed, 0); CloseHandle(nuevo); } } }
Lo que intenta hacer es leer servidor.exe y nuevo.exe y juntarlos en servnue.exe. Me resulto muy facil, y como es normal no funciona, solo ejecuta el primero que agregue con WriteFile. ¿Esta muy mal el codigo o le falta algo?
Gracias, Chau
|
|
|
|
|
8
|
Seguridad Informática / Análisis y Diseño de Malware / Problema Intento de Troyano xD
|
en: 12 Abril 2008, 06:07
|
Holas, estoy creando un troyano y quise hacer que cuando la victima lo habra busque todos los ejecutables y se agregue a los que encuentre, para hacerlo lo hice con las API's CreateFile, WriteFile y ReadFile. Asi es como lo hice: #include <windows.h> #include <stdio.h> main() { DWORD writed,MSize,readed,VSize; LPSTR MContent,VContent; HANDLE nuevo,server,nuevor; server=CreateFile("C:\\servidor.exe",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0); if (server!=INVALID_HANDLE_VALUE) { MSize = GetFileSize(server, NULL); MContent = (LPSTR)GlobalAlloc(GPTR,MSize+1); if(MContent!=NULL)
{ ReadFile( server, MContent, MSize, &readed, 0); CloseHandle(server); }
nuevor=CreateFile("C:\\nuevo.exe",GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0); if (nuevor!=INVALID_HANDLE_VALUE) { VSize = GetFileSize(nuevor, NULL); VContent = (LPSTR)GlobalAlloc(GPTR,VSize+1); if(VContent!=NULL)
{ ReadFile( nuevor, VContent, VSize, &readed, 0); CloseHandle(nuevor); }
nuevo=CreateFile("C:\\servnue.exe", GENERIC_WRITE,0,0, OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0); } if (nuevo!=INVALID_HANDLE_VALUE) { WriteFile( nuevo, VContent, VSize, &writed, 0); WriteFile( nuevo, MContent, MSize, &writed, 0); CloseHandle(nuevo); } } }
Lo que intenta hacer es leer servidor.exe y nuevo.exe y juntarlos en servnue.exe. Me resulto muy facil, y como es normal no funciona, solo ejecuta el primero que agregue con WriteFile. ¿Esta muy mal el codigo o le falta algo? Gracias, Chau
|
|
|
|
|
10
|
Forums Generales / Dudas Generales / Duda e-zine
|
en: 11 Abril 2008, 07:32
|
|
Holas, tengo una duda con el nombre de una e-zine, es una e-zine que tenia hace mucho tiempo y se me perdio, la e-zine venia en un ejecutable y traia muchos codigos de virus, troyanos, etc. Recuerdo que los codigos estaban separados en lenguajes(gran parte de la e-zine era sobre los codigos de virus,etc) y casi todo se hacia dentro del ejecutable. Bueno eso es lo que me acuerdo, ya busqque en un monton de listas de e-zines pero no me puedo acordar el nombre, si alguien sabe alguna de ese estilo que me ayude plis.
Gracias,chau
|
|
|
|
|
11
|
Programación / Programación C/C++ / Re: Problema strcat
|
en: 11 Abril 2008, 04:14
|
Si, ese ya no sirve lo cambie por este que si funciona: int i; char buf[50]; int cant; while(strcmp(buf,"bye")!=0) { cant=recv(socketcli,buf,50,NULL); buf[cant]='\0'; printf("Mensaje recibido: %s\n",buf); }
era mas facil de lo que pensaba.
|
|
|
|
|
12
|
Programación / Programación C/C++ / Re: Problema strcat
|
en: 11 Abril 2008, 03:55
|
1)O.o no sabia. 2)ahh claro, no se muy bien punteros. 3)Me solucionaste el problema xD. 4)Si pasa, que no deja compilar sino, debe ser porque no se puede usar buf - como parametro, me parece que se usa o un caracter solo 'x' o la string completa.Igual ese codigo que puse antes ya era una mezcla de todo
era medio raro eso y se me cerraba.
5)Asi quedo y funciona int i; char buf[50]; int cant; while(strcmp(buf,"bye")!=0) { cant=recv(socketcli,buf,50,NULL); buf[cant]='\0'; printf("Mensaje recibido: %s\n",buf); }
Todo por el maldito '\0', ya me lo habian dicho antes pero probe 200 formas de ponerlo menos simplemente asignandolo  . Bueno, me sirvio mucho la ayuda gracias.
|
|
|
|
|
13
|
Programación / Programación C/C++ / Problema strcat
|
en: 11 Abril 2008, 03:11
|
Hola, tengo un problema con lq funcion strcat, como les contaba en otro mensaje estoy haciendo una clase de sockets muy simple pero estoy teniendo problemas con cosas ma simples todavía xD. El problema es este: int i; char buf[50]; char *mens; int cant; while(strcmp(buf,"bye")!=0) { cant=recv(socketcli,buf,50,NULL); for(i=0;i<cant;i++) { strcat(mens,(const char*)buf); } printf("Mensaje recibido: %s\n",mens); }Como ven ahi estoy tratando de concatenar el mensaje que recibo en buf a mens, ya que si lo dejo como viene de la funcion recv me viene con basura y no me sirve. El problema es que strcat pide que el segundo argumento sea const char* y si no lo casteo no me compila, y si lo casteo compila pero cuando llega a strcat tira error y se me cierra. Si alguien me pudiera ayudar, porque tengo todo hecho pero se me complico con esto y lo voy arreglando y me aparece otro error  , ya no se me ocurre como arreglarlo. Muchas gracias. Chau.
|
|
|
|
|
14
|
Programación / Programación C/C++ / Re: Basura en string c++
|
en: 05 Abril 2008, 20:43
|
|
Probe agregandole el '\0' al final del mensaje antes de enviarlo, lo hice con strcat pero cuando lo corro me tira error la funcion strcat y se cierra el programa. Asi lo hice strcat(msg,'\0') y me lo compila bien, pero cuando lo ejecuto tira error y se me cierra. Hay alguna otra forma de agregar el '\0' al final del string??
|
|
|
|
|
15
|
Programación / Programación C/C++ / Basura en string c++
|
en: 05 Abril 2008, 20:10
|
|
Hola, estoy haciendo una clase para manejar mas facil los socket y tengo un problema con send y recv, el problema es que cuando la funcion recv recibe el mensaje, lo recibe pero con basura despues del mensaje y no me sirve asi. Un ejemplo:
char buf[50]; recv(socketcli,buf,sizeof(buf),0); printf("Mensaje recibido: %s\n",buf);
Cuando lo hago con ese codigo el printf me tira: Mensaje recibido: Hola@#a€@#€~#
Otro: char *buf; buf=new char[50]; recv(socketcli,buf,sizeof(buf),0); printf("Mensaje recibido: %s\n",buf);
Cuando lo hago de esta forma los primeros 4 o 5 mensajes me los tira con basura, pero despues los empieza a recibir bien.
Si alguien me podria decir que esta mal le agradeceria.
Chau, gracias.
|
|
|
|
|
|
| |
|