elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 [100] 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 ... 123
991  Programación / Programación C/C++ / Re: Socket en: 21 Noviembre 2011, 19:14 pm
Para no hacer 40 post sobre el poner el código o no, te respondo  mas o menos una orientación...

aqui tienes un tutorial de winsock creado por mazard:

https://www.underground.org.mx/index.php?topic=20773.0

y para enviar datos se usa la api send:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms740149%28v=vs.85%29.aspx

saludos.
992  Programación / Programación C/C++ / Re: Socket en: 21 Noviembre 2011, 13:48 pm
Pon el código que llevas desarrollado y te ayudamos  :P
993  Foros Generales / Foro Libre / Re: [Debate] Dios o Bin Bang(¿Qué había antes del antes?) en: 9 Noviembre 2011, 20:40 pm
¡Buenas!

Si os interesa el tema, he aqui un documental que me parecio bastante interesante:La paradoja de Hawking

No se de que año es, ahora lo miro, pero no creo que sea demasiado antiguo.

¡Saludos!

Por lo que acabo de leer, en 2004 fue cuando dijo que podria estar equibocado con la paradoja de la informacion, por lo que creo que el documental pudo haber sido hecho hacia el 2005.

¡Saludos de nuevo!

Interesantísimo  :D :D :D
994  Seguridad Informática / Análisis y Diseño de Malware / Re: a que se referia Ferchu con redondear VirtualAddres? en: 9 Noviembre 2011, 19:45 pm
Para redondear el VirtualAddress de una nueva sección hay que hacer VirtualAddress + VirtualSize alineado a SectionAlignment.

*El VirtualAddress y el Virtualsize de la última sección.
995  Seguridad Informática / Análisis y Diseño de Malware / Re: Intento de agregar sección a ejecutable en: 7 Octubre 2011, 16:42 pm
Si añado datos... añado una pequeña cadena  :P. el problema está en que genera el ejecutable con menos peso y cambia datos de las secciones (osea el contenido) pero nose porque lo hace  :-\

saludos.
996  Seguridad Informática / Análisis y Diseño de Malware / Re: Intento de agregar sección a ejecutable en: 6 Octubre 2011, 00:37 am
Tras seguir intentando y intentando no logro arreglarlo del todo (aunque lo otro ya lo arregle), aora parece que todo esta bien pero ejecuto el exe y no me funciona :S de seguro es un error tonto y minúsculo pero no logro dar con él.

Código
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. DWORD align(DWORD number, DWORD alignment)
  6. {
  7.  if(number % alignment == 0)
  8.    return number;
  9.  else
  10.    return (number / alignment) * alignment + alignment;
  11. }
  12.  
  13. int main()
  14. {
  15. IMAGE_DOS_HEADER dh;
  16. IMAGE_NT_HEADERS nth;
  17.  
  18. IMAGE_SECTION_HEADER * sección;
  19. IMAGE_SECTION_HEADER nSeccion;
  20.    // char * stub_dos -> Datos del STUB_DOS
  21.    // char * dSecciones -> Datos de las secciones
  22.    long TamanoSecciones = 0;
  23.    int i;
  24.  
  25. FILE * archivo = fopen("c:\\Mad.exe","r+b");
  26.    if (archivo == NULL)
  27.    {
  28.        printf("Error al leer el archivo\n");
  29.        system("PAUSE");
  30.  
  31.        return 1;
  32.    }
  33.  
  34. fread(&dh,sizeof(dh),1,archivo); // Rellenamos IMAGE_DOS_HEADER
  35.  
  36.    char * stub_dos = (char*)malloc(dh.e_lfanew-0x40);
  37.  
  38.    fread(stub_dos,1,dh.e_lfanew-0x40,archivo); // Leemos el Stub DOS
  39.    fread(&nth,sizeof(nth),1,archivo); // leemos nt headers
  40.  
  41.    sección = (IMAGE_SECTION_HEADER*)malloc(sizeof(IMAGE_SECTION_HEADER)*nth.FileHeader.NumberOfSections);
  42.  
  43.    fread(sección,sizeof(IMAGE_SECTION_HEADER),nth.FileHeader.NumberOfSections,archivo);
  44.  
  45.    for (i=0;i<=nth.FileHeader.NumberOfSections-1;i++)
  46.    {
  47.        printf("%i\n",sección[i].SizeOfRawData);
  48.        TamanoSecciones += sección[i].SizeOfRawData;
  49.    }
  50.  
  51.    printf("%i\n",TamanoSecciones);
  52.  
  53.    char * dSecciones = (char*)malloc(TamanoSecciones);
  54.    fread(dSecciones,TamanoSecciones,1,archivo); //leo todos los datos de las secciones.
  55.  
  56.    fclose(archivo); // terminamos de leer
  57.  
  58.    strcpy((char*)nSeccion.Name,".fary"); // nombre de la nueva sección: .fary
  59.    nSeccion.VirtualAddress = align(sección[nth.FileHeader.NumberOfSections-1].VirtualAddress + sección[nth.FileHeader.NumberOfSections-1].Misc.VirtualSize, nth.OptionalHeader.SectionAlignment);
  60.    nSeccion.SizeOfRawData = align(0x50, nth.OptionalHeader.FileAlignment);
  61.    nSeccion.PointerToRawData = sección[nth.FileHeader.NumberOfSections-1].PointerToRawData + sección[nth.FileHeader.NumberOfSections-1].SizeOfRawData;//align(0x50,nth.OptionalHeader.FileAlignment);
  62.    nSeccion.Characteristics = 0x60000020;
  63.    nSeccion.Misc.VirtualSize = 0x50;
  64.  
  65.    nth.FileHeader.NumberOfSections += 1; // sumamos la nueva sección
  66.    nth.OptionalHeader.SizeOfImage = align(0x50+nSeccion.VirtualAddress,nth.OptionalHeader.SectionAlignment);
  67.    nth.OptionalHeader.SizeOfHeaders += 0x28;
  68.  
  69.  
  70.    FILE * nuevo = fopen("Nuevo.exe","wb+");
  71.  
  72.    fwrite(&dh,sizeof(dh),1,nuevo);
  73.    fwrite(stub_dos,dh.e_lfanew-0x40,1,nuevo);
  74.    fwrite(&nth,sizeof(nth),1,nuevo);
  75.    nth.FileHeader.NumberOfSections -= 1;
  76.    fwrite(sección,sizeof(IMAGE_SECTION_HEADER)*nth.FileHeader.NumberOfSections,1,nuevo);
  77.    fwrite(&nSeccion,sizeof(IMAGE_SECTION_HEADER),1,nuevo);
  78.    fwrite(dSecciones,TamanoSecciones,1,nuevo);
  79.    if (fseek(nuevo,0,SEEK_END) != 0)
  80.    {
  81.        printf("error\n");
  82.    }
  83.  
  84.    char DatosSeccion[] = "Hola yo soy la sección de prueba, y ocupo exactamente la cantidad de 0x50 bytes.";
  85.    fwrite(DatosSeccion,0x50,1,nuevo);
  86.  
  87.    fclose(nuevo);
  88. system("PAUSE");
  89. return 0;
  90. }
  91.  

Si alguien es tan amable de hecharle un ojo y explicarme porque no anda le estaría muy agradecido ;)

saludos.
997  Programación / ASM / Re: Funciones en FASM en: 28 Septiembre 2011, 21:48 pm
Ret Exe corruption

Código
  1. ;///////////////////////////////////////////////////////////////////////////////
  2. ;////  Ret Exe Corruption: corrompe los exe poniendo un 0xC3 (ret) en el    ////
  3. ;////  entry point. Este código no funciona con algunos ejecutables para    ////
  4. ;////  ello habría que hacer algunos modificaciones.                        ////
  5. ;////  Programado por Drinky94 a 13 - Septiembre - 2011                     ////
  6. ;///////////////////////////////////////////////////////////////////////////////
  7.  
  8. include 'win32ax.inc'
  9.  
  10. .data
  11.        manija dd ?
  12.        larchivo dd ?
  13.        espacio dd ?
  14.        bleidos dd ?
  15.  
  16.        PE dd ? ; puntero a NT
  17.  
  18.        EP dd ? ; EntryPoint
  19.        wb dd ?
  20. .code
  21. start:
  22.        invoke CreateFileA,'g:\bowser.exe', GENERIC_READ, FILE_SHARE_READ, 0,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0
  23.        mov [manija],eax
  24.  
  25.        invoke GetFileSize,[manija],0
  26.        mov [larchivo],eax
  27.  
  28.        invoke GlobalAlloc,GPTR,[larchivo]
  29.        mov [espacio],eax
  30.  
  31.        invoke ReadFile,[manija],[espacio],[larchivo],addr bleidos,0
  32.        invoke CloseHandle,[manija]
  33.        leave
  34.  
  35.        mov eax,[espacio]
  36.  
  37.  
  38.        cmp word[eax],'MZ'
  39.        jne salir
  40.  
  41.        mov ecx,eax
  42.  
  43.        add eax,dword[eax+0x3C] ; EAX = PE
  44.        mov [PE],eax
  45.  
  46.        cmp word[eax],'PE'
  47.        jne salir
  48.  
  49.        add eax,0x28
  50.  
  51.        mov ebx,dword[eax]
  52.        mov [EP],ebx ;EP = EntryPoint
  53.  
  54.        mov ebx,ecx ; EAX = puntero inicio
  55.  
  56.        add ecx,[EP]
  57.        mov word[ecx],0xC3
  58.  
  59.        ;// Aquí tendríamos que eliminar el viejo archivo y generar nuestro Exe modificado con el mismo nombre.
  60.  
  61.        invoke CreateFile,"g:\NuevoRET.exe",GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0
  62.        push eax
  63.        invoke WriteFile,eax,ebx,[larchivo],wb,NULL
  64.        pop eax
  65.        invoke CloseHandle,eax
  66.  
  67.        invoke MessageBoxA,0,"FIN",0,0
  68.  
  69.        salir:
  70.        leave
  71.        ret
  72. .end start
998  Programación / Programación C/C++ / Re: Ayuda con Conexión en C en: 25 Septiembre 2011, 16:22 pm
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384180%28v=vs.85%29.aspx

saludos.
999  Programación / Programación C/C++ / Re: Programa para convertir bases numericas en: 25 Septiembre 2011, 13:19 pm
Para convertir números de una base a otra tienes que dividir por la base a la que lo quieres pasar, ejemplo...

125 por ejemplo a octal, lo que tenemos que hacer es dividir sucesivamente el número entre la base (en este caso 8 ya que queremos pasarla a octal) asta que el cociente sea mas pequeño que el dividendo  entonces se colocara el ultimo cociente y los demas restos al revez, me explico mejor  haciendolo:

125/8 = 15 en el cociente  y de resto 5

aora volvemos a dividir pero aora ya dividimos entre el cociente

15/8 = 7 de resto y 1 en el cociente.

Ya acabamos las cuentas ya que el cociente que nos a dado es menor a la base a la que lo queremos pasar aora tenemos que colocar los números

El cociente de la ultima division 1 y el resto de la ultima division 7 y el resto de la penultima division 5 dan 175 y efectivamente 125 en base 10 (decimal) es 175 en base 8 (octal) compruebalo con la calculadora y verás  :P

Aora para hacer la inversa pasarlo a decimal lo que hay que hacer es aplicar esta fórmula:



te lo ago para que lo veas tambien

1·8^2 + 7·8^1 + 5·8^0 = 64 +56 + 5= 125 en decimal. En esta formula los resultados se suman no se colocan.

Es igual para pasarlo a todas las bases y para hacer la inversa :P  espero haberte ayudado.

saludos.
1000  Programación / Programación Visual Basic / Re: [RETO] Sudoku en: 24 Septiembre 2011, 13:02 pm

Matrix inicial.
 0  0  0 | 0  0  5 | 2  0  0 |
 0  6  5 | 0  3  0 | 0  0  0 |
 9  3  0 | 0  0  1 | 0  0  0 |
--------------------------------
 0  9  0 | 4  6  3 | 0  0  0 |
 0  0  0 | 0  0  0 | 0  0  8 |
 0  7  0 | 8  0  0 | 6  0  0 |
--------------------------------
 0  8  0 | 1  0  0 | 0  3  2 |
 0  0  0 | 0  8  0 | 0  0  4 |
 5  0  0 | 0  9  0 | 0  0  0 |
--------------------------------
Sudoku Resuelto
 1  4  8 | 6  7  5 | 2  9  3 |
 2  6  5 | 9  3  8 | 4  1  7 |
 9  3  7 | 2  4  1 | 8  5  6 |
--------------------------------
 8  9  2 | 4  6  3 | 1  7  5 |
 4  5  6 | 7  1  9 | 3  2  8 |
 3  7  1 | 8  5  2 | 6  4  9 |
--------------------------------
 6  8  9 | 1  2  7 | 5  3  2 |
 7  1  3 | 5  8  4 | 9  6  4 |
 5  2  4 | 3  9  6 | 7  8  1 |
--------------------------------


saludos.
Páginas: 1 ... 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 [100] 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 ... 123
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines