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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22
71  Programación / Ingeniería Inversa / Re: Pointers y offset de World of Warcraft en: 8 Abril 2012, 21:31 pm
lo que estas viendo es una función, parece que esta echo en c++ o algo de eso. los parametros en las funciones se pasan a partir de [ebp+8], el siguiente parámetro estaría en [ebp+0x0C] y asi sucesivamente. el puntero a this se lo están pasando por ecx. Yo lo que haría seria buscar los call a esa función.

Saludos
72  Seguridad Informática / Análisis y Diseño de Malware / Re: Como funciona lo de infectar .exes y .dll ? en: 7 Abril 2012, 18:40 pm
Hay algunas claves que seguro se pueden utilizar par lo que dices, aunque no es muy efectivo, casi la totalidad de los antivirus monitorizan en tiempo real los cambios en el registro, y te harán muy difícil usar una de esas claves. Algo más efectivo es infectar alguna DLL que sepas que se va a cargar, o simplemente infectar todo archivo ejecutable (tanto exes como dll's) que te encuentres. También se que es posible hacer que se ejecute tu código cada vez que se alguien cargue la USER32.DLL (osea, el 99% de las veces que alguien ejecute un ejecutable), pero no recuerdo como hacerlo, el que me lo había comentado creo que era Arkangel :P .

Saludos
esta es la clave:
Código:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"="tuDLL.dll"
"LoadAppInit_DLLs"=dword:00000001
73  Seguridad Informática / Análisis y Diseño de Malware / Re: Como funciona lo de infectar .exes y .dll ? en: 7 Abril 2012, 02:12 am
lo que se hace es agregar secciones al exe o agrandar una ya existente, luego rediriges el punto de entrada y ya lo tienes infectado, para hacerlo con dll seria como con el exe, solo que en este caso podrías enganchar las funciones exportadas de manera permanente. Lo del compilador seria posible, aunque no la he visto todavía. Pero de hacerse e infectar una compañía de desarrollo de software podría tener una gran difusión

Saludos
74  Programación / ASM / Re: Confundiendo IAT, IT y la localizacion? en: 28 Marzo 2012, 02:33 am
jeje  ;-)
que buena informacion la que me mostro. Eternal porque no puedo cargar el exe?
primero intente con el notepad... carge el notepad luego
!dh notepad.exe

y me mostro la informacion, luego intente cargar mi exe de MASM y no me mostraba ni errores ni nada simplemente no
mostraba nada :|


PD. tambie no entiendo porque MASM genera un "pre"-JMP pudiendo hacer el call a la IAT directamente :P
comparando el compilador de VC con MASM no se porque lo hace :P

Lo del jmp puede ser para las reubicaciones, que a la hora de reubicar, no es lo mismo hacerlo en un jmp que en 20 call

Saludos
75  Programación / ASM / Re: DUDA sobre Carry en: 11 Enero 2012, 12:05 pm
Esa bandera no se pone uando se desborda un registro?
Si fuera asi, en tu ejemplo solo saltaría si usaras los registros de 8 bits

Saludos
76  Programación / Programación C/C++ / Re: Acerca de rendimiento de Aplicaciones en: 4 Enero 2012, 15:45 pm
Lo que ocurre es que tu al hacer un algoripmo puedes optar por crear grandes estructuras de datos para guardar lo procesado, o no guardarlo e ir analizando sobre la marcha.

Un ejemple de ello son los parser de xml. Los que usan el metodo SAX usan muy poca memoria, pero no permiten el acceso aleatorio. Los DOM crean un gran arbol que luego permite el acceso a cada uno de los nodos, ocupa mas memoria pero solo se analiza una vez

Saludos
77  Programación / Programación C/C++ / Re: ¿Socket cerrado? en: 23 Diciembre 2011, 21:10 pm
yo detecto la desconexion usando socket asíncronos, lo detecto al usar recv

Código
  1. ulong ReadSZ = 0;
  2. wsock->Ioctlsocket(hSocket,FIONREAD,&ReadSZ);
  3. if(ReadSZ){
  4. //Se recibieron datos
  5. //Codigo de recv
  6. return ReadSZ;
  7. }else{
  8. //No hay datos
  9. ReadSZ = wsock->Recv(hSocket,0,0,MSG_PEEK);
  10. if(!(ReadSZ+1)){
  11. //A habido un error
  12. switch(wsock->WsaGetLastError()){
  13. case WSAEWOULDBLOCK:
  14. break;
  15. case WSAECONNRESET:
  16. //Se cerro la conexion
  17. default:
  18. //errror
  19. return -1;
  20. }
  21. }else{
  22. //Se cerro la conexion
  23. return -1;
  24. }
  25. }
  26.  

La cosa es que si ReadSZ es zero no hay datos para leer, y al usar rcv si la conexio se cierra bien da 0 y si se cierra mal da SOCKET_ERROR y LastError = WSAECONNRESET.
78  Programación / Programación C/C++ / Re: Función que retorna el valor de retorno de otra función en: 7 Diciembre 2011, 23:42 pm
Si, claro. Este efecto es cosa de la implementacion del compilador

Saludos
79  Programación / Programación C/C++ / Re: Función que retorna el valor de retorno de otra función en: 7 Diciembre 2011, 23:17 pm
Entonces es basura y es solo casualidad que agarre el valor de retorno de la otra función?
Casualidad no es. Sale el de la otra función, porque el valor se queda en el registro de la cpu que se usa para devolver valores. y como el ultimo que lo modifico fue esa funcion para devolverte ese valor, al final se queda igual porque no hay nada que lo modifique. y te sale ese valor de retorno. Si el compilador colocara algo entre medias no te daría ese resultado....

Saludos
80  Programación / Programación C/C++ / Re: [DUDA] Acerca de Memoria Virtual Y Memoria Fisica Entre otros... en: 28 Noviembre 2011, 10:51 am
La memoria virtual es una simulación de la memoria real. Se finge tener mas de o que se tiene. Normalmente cada proceso tiene un espacio de memoria virtual independiente. Para ese proceso es como si estuviera solo y tuviera toda la memoria para el solo.

Normalmente se le asigna un espacio tan grande como el espacio máximo direccional por la plataforma. Una dirección virtual no tiene necesariamente que apuntar a la misma dirección física o tener una dirección física asignada. El sistema para poder manejar toda esta memoria que supuestamente tiene, va guardando lo que en ese momento es menos usado en disco para poder poner en memoria lo que hace falta en ese momento.

Mas o menos esto es todo.

Saludos
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines