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


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 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 116 117 118 119 ... 126
1031  Seguridad Informática / Análisis y Diseño de Malware / Re: [AYUDA] formato PE obtener dirección fisica de secciones y mas cosas en: 5 Septiembre 2011, 16:21 pm
Puedes programar la entrada y salida de ficheros, y básicamente todo el código, con las funciones de la API, así te ahorras la C Runtime Library y reduces el peso del ejecutable.

Cierto pero bueno yo ya lo hice asi ;)
1032  Seguridad Informática / Análisis y Diseño de Malware / Re: [AYUDA] formato PE obtener dirección fisica de secciones y mas cosas en: 5 Septiembre 2011, 13:21 pm
Ya lo e conseguido, muchas gracias a todos...
El código arreglado es el siguiente:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. int main()
  6. {
  7. IMAGE_DOS_HEADER idh;
  8. IMAGE_FILE_HEADER ifh;
  9. IMAGE_OPTIONAL_HEADER ioh;
  10. IMAGE_SECTION_HEADER ish;
  11.  
  12. char ruta[] = "C:\\MS-DOC.exe";
  13.  
  14. FILE * archivo = fopen(ruta,"r+b");
  15. if (archivo == NULL)
  16. { // si no podemos abrri el archivo.
  17. printf("Error al abrir el archivo\n");
  18. system("PAUSE");
  19.  
  20. return 1;
  21. }
  22.  
  23. fread(&idh,0x40,1,archivo); // rellenamos IMAGE_DOS_HEADER
  24. if (idh.e_magic != IMAGE_DOS_SIGNATURE)
  25. { // comprovamos el e_magic para saber si es un EXE
  26. printf("No es un archivo EXE\n");
  27. system("PAUSE");
  28.  
  29. return 1;
  30. }
  31.  
  32. fseek(archivo,idh.e_lfanew + 4,SEEK_SET);
  33. fread(&ifh,0x14,1,archivo); // rellenamos IMAGE_FILE_HEADER
  34. fseek(archivo, idh.e_lfanew + 4 + sizeof(ifh), SEEK_SET);
  35. fread(&ioh,ifh.SizeOfOptionalHeader,1,archivo); // Leemos IMAGE_OPTIONAL_HEADER
  36.  
  37. for (int i=0;i<ifh.NumberOfSections;i++)
  38. {
  39. fread(&ish, sizeof(ish),1,archivo);
  40. printf("%x\n",ish.Misc.PhysicalAddress);
  41. }
  42.  
  43. fclose(archivo);
  44.  
  45. system("PAUSE");
  46.  
  47. return 0;
  48. }

saludos.
1033  Seguridad Informática / Análisis y Diseño de Malware / Re: Reto # Crear malware inofensivo en: 3 Septiembre 2011, 07:31 am
Si se llega a hacer un torneo me apuntooooo!!
1034  Seguridad Informática / Análisis y Diseño de Malware / [AYUDA] formato PE obtener dirección fisica de secciones y mas cosas en: 2 Septiembre 2011, 13:38 pm
Buenas, bueno al fin he decidido meterme de lleno a aprender el formato PE y tenia pensado agrandar  la sección de código par aintroducir un pequeño opcode con un msgbox y tal una chorradilla pero para ensayar no me parece mal  >:D.
El problema viene cuando no puedo detectar el ISH bien de todas las secciones, solo lo detecta bien de la primera, el código que he creado es este:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. int main()
  6. {
  7. IMAGE_DOS_HEADER idh;
  8. IMAGE_FILE_HEADER ifh;
  9. IMAGE_OPTIONAL_HEADER ioh;
  10. IMAGE_SECTION_HEADER ish;
  11.  
  12. char ruta[] = "C:\\MS-DOC.exe";
  13.  
  14. FILE * archivo = fopen(ruta,"r+b");
  15. if (archivo == NULL)
  16. { // si no podemos abrri el archivo.
  17. printf("Error al abrir el archivo\n");
  18. system("PAUSE");
  19.  
  20. return 1;
  21. }
  22.  
  23. fread(&idh,0x40,1,archivo); // rellenamos IMAGE_DOS_HEADER
  24. if (idh.e_magic != IMAGE_DOS_SIGNATURE)
  25. { // comprovamos el e_magic para saber si es un EXE
  26. printf("No es un archivo EXE\n");
  27. system("PAUSE");
  28.  
  29. return 1;
  30. }
  31.  
  32. fseek(archivo,idh.e_lfanew + 4,SEEK_SET);
  33. fread(&ifh,0x14,1,archivo); // rellenamos IMAGE_FILE_HEADER
  34. fseek(archivo, idh.e_lfanew + 4 + sizeof(ifh), SEEK_SET);
  35. fread(&ioh,ifh.SizeOfOptionalHeader,1,archivo); // Leemos IMAGE_OPTIONAL_HEADER
  36.  
  37. int suma = 0;
  38.  
  39. for (int i=0;i<ifh.NumberOfSections;i++)
  40. {
  41. fseek(archivo, idh.e_lfanew + 4 + sizeof(ifh) + ifh.SizeOfOptionalHeader + (sizeof(ish)*(ifh.NumberOfSections-1)) + suma ,SEEK_SET);
  42. fread(&ish, sizeof(ish),1,archivo); // rellenamos IMAGE_SECTION_HEADER
  43.  
  44. printf("%x\n",(&ish)[i].Misc.PhysicalAddress);
  45.  
  46. suma += 0x28; // sumo 0x28 que es lo que ocupa ish para pasar a los datos de la siguiente sección.
  47. }
  48.  
  49. fclose(archivo);
  50.  
  51. system("PAUSE");
  52.  
  53. return 0;
  54. }

Nose que andará mal por ahi si me peuden hechar una mano sería de gran ayuda >:(

un saludo.
1035  Programación / ASM / Re: duda con parametros sin definir y saber su direccion en: 1 Septiembre 2011, 08:22 am
Son diferentes formas de hacerlo... de la forma que yo púse tambien se puede hacer pero si tienes muchos parametros es mas lio obviamente :P

PD: tambien sirve con stdcall y etc.

saludos.
1036  Programación / ASM / Re: duda con parametros sin definir y saber su direccion en: 1 Septiembre 2011, 03:37 am
Hasta donde se, en ASM los params se PUSHean al reves de como los declaras.

Código:
int AgregarRegistro(int param1, int param2)
{
       void* ptrreg;
       void* ptrreg2;
__asm eax, dword ptr [esp+4] //recupera param2
        __asm mov ptrreg, eax
__asm eax, dword ptr [esp+8] //recupera param1
        __asm mov ptrreg2, eax
}

Si no es asi, debe ser al reves...  ;D

Saludos!

no sería asi exactamente, fijate:

Código
  1. include 'win32ax.inc'
  2.  
  3. .data
  4.        cadena1 db 'primero',0
  5.        cadena2 db 'segundo',0
  6.  
  7. .code
  8. start:
  9.        push cadena2
  10.        push cadena1
  11.  
  12.        call Msgbox
  13.  
  14.        invoke MessageBoxA,0,"Sali del proceso",0,0
  15.  
  16.        ret
  17.  
  18.        Msgbox:
  19.             pop eax ; dirección de retorno
  20.  
  21.             pop ecx ;primer parametro
  22.             pop edx ;segundo parametro
  23.  
  24.             push eax
  25.             invoke MessageBoxA,0,edx,ecx,0
  26.             pop eax
  27.  
  28.  
  29.             jmp eax ; retornamos
  30. .end start        


Aunque con las macros de las funciones y tal creo qeu variaria un poco.

saludos.
1037  Programación / ASM / Re: Salto de línea (fasm16) y algo mas je en: 23 Agosto 2011, 13:40 pm
Código
  1. org     100h
  2.  
  3. MOV      AH,9
  4. MOV      DX,Texto
  5. INT       21h             ;Muestro "Hola mundo!"
  6. MOV      AH,1            ;Espero el ingreso de una tecla
  7. INT        21H
  8. INT        20h
  9.  
  10. Texto db 'Hola mundo!',10,13,'Presione una tecla para continuar.',24h
  11.  

1038  Programación / Programación General / Re: inyeccion de dll, pero que debe llevar la dll? en: 19 Agosto 2011, 15:23 pm
En la DLL metes lo que tu quieras. Y eso de como invocarla desde un programa externo no lo entendi xD

1039  Seguridad Informática / Análisis y Diseño de Malware / Re: Creacion troyano? en: 19 Agosto 2011, 15:16 pm
Aver... No es que quiera correr antes de andar... Necesito correr antes de andar. Y ya se que lo mas logico seria aprender a programar, y lo mas bonito, pero no tengo tiempo, y lo que dijistes demon a eso me refiero, aqui no se si ustedes sabrian hacer un juego simple...
Yo si, y tu , y el, y mi hermana pequeña, basicamente siguiendo un tutorial.
Eso es lo que quiero saber, si ustedes alguna vez han echo un troyano con un tuto, y el troyano les ha funcionado bien.

Parece que no te enteras del caso. Porque te copies de un tutorial no va a ser tuyo el troyano  :rolleyes: ademas que de seguro no lo programas ni siguiendo un tutorial. Coje uno hecho anda y no seas tan duro de sesera o aprende a programar y azlo como dios manda no sigas dando la vara que te van a seguir respondiendo igual.

saludos.
1040  Seguridad Informática / Análisis y Diseño de Malware / Re: Error intentando hookear FindNextFileA en: 5 Agosto 2011, 13:13 pm
Para debuggear necesitas usar ollydbg, así este te podría mostrar en que linea se genera el error, es decir si hay algún desbordamiento de la pila o se genera una excepción que no se pueda reparar, saludos

Asta ahí había llegado... yo preguntaba como cargar la dll y etc. Aora cargo mi DLL co LoadLibrary y listo :P

saludos.
Páginas: 1 ... 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 116 117 118 119 ... 126
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines