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 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ... 98
261  Programación / ASM / Adquirir manuales de Intel en: 4 Noviembre 2014, 01:18 am
Hola

Pues eso, donde puede adquirir impresos (logico), los manules de Intel desde el volumen 1 al 3C? Pregunto esto porque solo encontre el manual 1 de arquitectura basica por Amazon y una web llamada Lulu. La verdad me gustaria tenerlos impresos ya que leer por  el ordenador se hace pesado.

Y no me gustaria tener que ir a una imprenta ya que me saldria mas caro y todo, es muy raro que no tengan todos los manuales.

Un saludo.
262  Programación / Programación C/C++ / Re: Encontrar EBP dirección con c++ en: 2 Noviembre 2014, 22:04 pm
Claro que puedes hacer eso, quieres pasar el offset a la variable? lea estaria bien, recuerda usar Inline ASM.


Un saludo.
263  Foros Generales / Foro Libre / Re: Alguien sabe programar aplicaciones para MAC? en: 26 Octubre 2014, 14:19 pm
Instalando Xcode y la CLI de este, puedes usar GCC e incluso GAS, no tienes porque programar en Objetive-C ni lenguajes de ese tipo.

Y su API es casi como la de Unix-Like, asi que por esa regla de 3, podrias empezar como cualquier otro usuario de Linux o BSD, si programas bajo C/C++ o ASM claro.

Un saludo.
264  Sistemas Operativos / Unix/Unix-Like / Re: Algun sabe que pasa con ugen2.0 en: 22 Octubre 2014, 08:52 am
Ugen es un controlador generico para USB, no se si luego tendras problemas con los dispositivos, yo por ejemplo en mi OpenBSD lo tengo en el kernel, pero nunca carga.

Si quieres eliminarlo del arranque como bien dijiste puedes usar loader.conf, con la directiva load, si te fijas cuando lees un man estilo man usb, en Synopsis aparecen cosas como esta:

Citar
Alternatively, to load the   driver as a module at boot time, place the
following line in loader.conf(5):

      usb_load="YES"

Lo que sucede con ugen, es que es su manpage dice que esta integrado en el modulo de usb, asi que no se si podras desactivarlo, yo por ejemplo en OpenBSD lo tengo aparte, y en la configuracion del kernel lo tengo como modulo, si comparas Synopsis mejor.

Un saludo.
265  Seguridad Informática / Análisis y Diseño de Malware / Re: Como usar la pila. en: 19 Octubre 2014, 12:14 pm
Gracias, abajo del todo la tienes en la de Intel, ya que algunos usuarios de este y otros foros no les gusta la de AT&T.

Sobre el lenjuage que mata el alma y la envenena, supongo que te referiras VB6, es cuestion de lo que tengas que hacer, esta claro de que si programas en este no tienes que saber mucho el funcionamiento de las cosas, ASM es lo contrario te obliga a saberlo, de lo contrario no haces nada.

Te digo esto porque desde que estoy con ASM, casi desde siempre, solo programo algoritmos de encryptacion y de ofuscacion para Malware, simplemente por aprendizaje, pero te lleva por esos caminos la mayoria de veces...

Y si yo uso AT&T, por que ensamblo con GAS.

Bueno nada mas que decir, creo que tendrias que poner un resuelto al hilo, ya que con esta charla se esta desviando.

Un saludo.
266  Seguridad Informática / Análisis y Diseño de Malware / Re: Como usar la pila. en: 19 Octubre 2014, 11:40 am
De nada hombre, sabia que ese link te ayudaria mejor que mis propias palabras.

Y sobre la API desde mi punto de vista sin comentarios... No estoy acostumbrado a esa clase de programacion. Y como dijiste control ninguno.

Yo estoy acostumbrado a ASM como este:

Código:
http://foro.elhacker.net/criptografia/aes_128_bits_encrypt_asm_bit_slice-t414536.0.html

Es uno de mis codes.

Un saludo.
267  Seguridad Informática / Análisis y Diseño de Malware / Re: Como usar la pila. en: 19 Octubre 2014, 11:24 am
No la vi...

Se supone que MyWndProc es llamada cuando se ejecuta RegisterClassEx?

Un saludo.

P.D: Increible la API de Windows, cada vez me gusta menos...
268  Seguridad Informática / Análisis y Diseño de Malware / Re: Como usar la pila. en: 19 Octubre 2014, 10:03 am
Ya veo que se trata de Win y la sintaxis de Intel, yo soy todo lo contrario Unix y AT&T sintaxis.

Código
  1. push ebp
  2. mov ebp, esp
  3. sub esp, 96

Si lo extrae al final, como dijiste esa es la funcion de leave, restaurar esp y ebp. Bien se decremeta el stack en 4 se guarda el valor de ebp, luego se el offset de esp a ebp y se substrae esp en 96 bytes.

Si te das cuenta se deja ebp (arriba "base"), y esp apuntando abajo donde sigue este.

Bien sobre lo de reservar 96 bytes, yo tampoco le veo, en la funcion start solamente se usan 72 bytes lo de las estructuras WNDCLASSEX y MSG nada mas, ya que en su ejecucion no llama a MyWndProc y al finalizar restaura el stack.


Código
  1. push DWORD PTR [ebp+20]
  2. push DWORD PTR [ebp+16]
  3. push DWORD PTR [ebp+12]
  4. push DWORD PTR [ebp+8]                     ;Aqui no entiendo porque hWnd apunta deste 8, que hay de primero  entonces
  5.                                           ;No deberia apuntar desde el byte 0
  6.                                           ;Ha y no entiendo porque aqui es ebp+direccion y arriba es ebp-direccion
  7. call DefWindowProc

Mejor que leas esto:

Código:
http://www.unixwiz.net/techtips/win32-callconv-asm.html

Mirate los diagramas.

Pero una cosa cuando se llama a MyWndProc? No sera una funcion aparte?

Un saludo.
269  Seguridad Informática / Análisis y Diseño de Malware / Re: Como usar la pila. en: 19 Octubre 2014, 03:13 am
Citar
Y también sobre el direccionamiento indirecto, se como se direcciona pero siempre que trato de hacerlo el programa crashea. Necesito un ejemplo práctico porque siempre ponen:
 mov eax,byte ptr [ebp+ebx*2+4] ;ejemplo si entiendo lo de byte ptr

pero si luego trato de acceder a esa posición de memoria no puedo, y yo creí que a partir del 386 se podían direccionar 4gb de memoria.

Vale, estas calculando una direccion compleja, podrias decir los valores de ebp, ebx, simplemente es para saber donde esta apuntando el offset que generas.

Que tengas 4GB de memoria, no significa que puedas acceder por completo a esta, algunas direcciones estan protegidas contra escritura y lectura, depende del modo en el que estes CPL, Ring 0-3 no se si te sonara esto, pues depende de los privilegios que tengas no podras acceder a determinado offset.

Si quieres tener el control de todo, por asi decirlo tendrias que estas en Ring 0, pero como estas empezando con esto, olvidate de momento.

Tambien ayudaria mucho que dijeras que clase de error que esta dando.

Citar
Y sobre la pila me gustaría ver como se obtienen las variables, como se reserva espacio y como se manejan estructuras(sin identificador) osea no:
lea eax,structura
push eax

sino acceder a posiciones de memoria en donde se encuentre cada elemento.

ASM en un lenjuage de programacion "libre", me refiero a que puedes hacer muchas cosas de diferentes maneras, no hay una forma establecida. Algunas de las iintrucciones que van ligadas con el stack son estas: enter, leave, push, pop...

Pero tambien puedes usar add o sub para reservar o privar la pila, y puedes hacerlo de mil formas mas por asi decirlo.

Sobre las variables te invito que busques informacion, eso ya esta mas que hablado, pero yo usaria fastcall, lo de cargar los parametros en el stack esta algo pasado, pero ojo fastcall tiene un numero limitado de parametros si quieres pasar mas tendras que usar la pila.

Y sobre las estructuras, supongo que quieres saber como se crea una a mano durante la ejecucion del code no? Si quieres dime alguna estructura y te dejo el ejemplo. Y sobre acceder a sus elemento todo depende de que posicion este.

Un saludo.
270  Programación / Programación C/C++ / Re: [Ayuda] Programando socke cliente y servidor en C en: 16 Octubre 2014, 07:43 am
ivancea96 lo que me estás diciendo del char ya lo se, yo lo que quiero saber es cual es la IP que el sistema operativo le asigna al server ¿Como puedo obtener esa IP del server? Y por qué el cliente almacena la IP del server en un array de 16 elemento? específicamente por qué el array es de 16 elementos? es todo.

Buscando un poco en los manuales de Linux encontraras las funciones que necesitas, no sera por falta de documentacion, algunas de las que te digo son estas, igualmente no se que necesitas al 100%.

getsockname, getaddrinfo, gethostbyaddr etc...

Estan todas muy bien documentadas, lee los manuales que estan perfectamente comentados y sabras cual es la que te conviene.


Sobre el tema del vector, cuando llamas a scanf y pasa las direccion esta esta en formato ASCII, igualemnte no ves que se solicita una cadena en scanf.

El simple motivo de porque tiene 16 bytes el vector ip es este. Si sabiendo que una direccion IPv4 puede estar en el rango 255.255.255.255 y que los numeros o simbolos que introduces para crear esa direccion son un byte se queda en 15 bytes el sobrante sera por la basura que deja scanf, o el byte nulo.

Pero tu necesitas un entero de 4 bytes en el rango 0 - 255, no 15 bytes en formato ASCII, lo que hace inet_addr es pasar la direccion en formato string a un int de 4 byes. Seria esto 127.0.0.1 (string) == 0x100007f, ese numero en HEX estaria  bien, se entiende?

Si quieres ser mas PRO, utiliza argv (linea de comando) y dejate de funciones como esa, para tomar valores por parte del usuario, argv el ultimo byte seria un 0, supongo que sabras que siginifica el 0 cuando estas trabajando con cadenas.

Y otra cosa, en el code CLIENTE solicitas el puerto, pero estas usando una previeamente establecido.

Un saludo.
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ... 98
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines