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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 18
1  Programación / ASM / Re: Duda con acceso a UART mediante ensamblador. en: 3 Abril 2015, 18:55 pm
Gracias por la respuesta, leí la info que me has indicado pero al ver que al principio hablaba de DMA seguí buscando por google. Pero si, efectivamente debo acceder a los registros con las instrucciones IN/OUT ya que de lo contrario estoy accediendo a zonas de memoria protegidas por el SO.

MI problema era que pensaba que IN/OUT tenía que servir solo para leer datos que te envían por el puerto serie o enviarlos tu, pero no configurarlo.

Gracias de nuevo, saludos.

2  Programación / ASM / Re: Duda con acceso a UART mediante ensamblador. en: 2 Abril 2015, 23:36 pm
Lo que se me pide específicamente es acceder a los registros de la UART y mostrar/modificar su contenido, por eso debo hacerlo de esta manera. A menos que haya una mejor.
3  Programación / ASM / [SOLUCIONADO] Duda con acceso a UART mediante ensamblador. en: 2 Abril 2015, 19:49 pm
Hola a todos.

Tengo que acceder a los registros de la UART del puerto com1 mediante ensamblador, trabajo con C++ builder en windows 98.

Lo primero que hago es conseguir la dirección del COM1 leyendo de la zona BIOS, consigo la dirección de memoria 0x3F8, que entiendo que es la dirección base de la UART del COM1.

Con esta dirección base, usando distintos desplazamientos, accederé a los registros de la UART, ¿es correcto?

Mi problema es que al intentar hacer esto, obtengo un error:
Código:
raised Exception class EAccessViolation with message 'Access violation at address 00401300. Read of address FFFFFFFF'
Esto es lo que he intentado:

Código:
[...]
asm{
    push es;
    mov ax, 3f8h;
    mov es, ax;          //ERROR
    mov ax, es:[0h]
}
[...]

También he intentado acceder a esa posición de memoria de más formas, usando el registro bx, escribiendo directamente la dirección (literal) pero no consigo acceder, siempre el mismo error:
Código:
raised Exception class EAccessViolation with message 'Access violation at address 00401300. Read of address FFFFFFFF'

  
4  Programación / Programación C/C++ / Re: crear librerías dinámicas para windows y linux en: 30 Marzo 2015, 16:27 pm
Ok gracias, creo que Optare por la opción a.
Saludos.
5  Programación / Programación C/C++ / crear librerías dinámicas para windows y linux en: 30 Marzo 2015, 15:31 pm
Hola a todos.

Necesito crear una librería dinámica escrita en C++ , pero necesito crear versiones tanto para windows como para linux (.DLL y .so).

Actualmente estoy desarrollándola en windows usando mingw.

Se generar el DLL pero no el .so, como puedo hacerlo? Gracias.
6  Programación / Programación C/C++ / Re: Duda con extern "C" en: 3 Febrero 2015, 12:53 pm
"extern C" obliga al compilador de C++ a generar nombres a la usanza de C, lo que te permite linkar ese código objeto con un compilador de C.

Si siempre vas a generar el código usando un compilador C++ y no vas a reutilizar código precompilado en C++ para generar librerías y/o aplicaciones con un compilador de C puedes ahorrarte el uso de "extern C".

Gracias.

Ok, entonces el uso principal de extern "C" es generar código objeto en C++ que pueda ser utilizado desde C ¿correcto?

¿Por código objeto estamos hablando de código compilado (como .dll, .lib en windows y .o, .so, en linux)?

Saludos.
7  Programación / Programación C/C++ / Duda con extern "C" en: 2 Febrero 2015, 11:20 am
Hola a todos.

Tengo una duda respecto a extern "C", entiendo lo que hace y como funciona, es para forzar el linkado de C aun cuando se intenta compilar en c++.

Mi pregunta es exactamente para qué o en qué situaciones se requiere hacer esto. La única utilidad que le veo es  que los nombres no estén "mangled" a la hora de crear y usar un dll con dichas funciones.

¿Alguien me puede explicar en qué situaciones se debe usar, y por qué/qué problema evita?

Saludos, gracias.
8  Comunicaciones / Redes / Problema con Wake on lan [SOLUCIONADO] en: 21 Diciembre 2014, 20:50 pm
Hola a todos.

Estoy intentando activar el wake on lan en mi pc, para ello de momento envío los magic packets por la red local interna.

En casa tengo 3 PCs, uno de ellos es desde el que mando los magic packets, para los otros 2:

Ya he activado la opción del wake on lan en la BIOS.
Ambos tienen IPs estáticas.
Para mandar los magic packets utilizo WakeMeOnLan.

El problema es que con uno de los 2 PCs ya he conseguido encenderlo, pero el otro no y no entiendo el por qué. El que NO funciona tiene una placa base Asus p5nsli, insisto en que ya he activado el wake on lan en la BIOS.

Ya he probado a encenderlo, mandarle el magic packet y verlo con el wireshark, por eso se que el PC recibe los magic packets.

He probado con 2 IPs de broadcast, 192.168.0.255 y 255.255.255.255.

Para encender remotamente el PC que sí puedo encender, tengo que enviarle varios magic packets (le envío 100). Para el PC que me da problemas he probado a enviarle 1, 100 y 1000.

Nada de lo anterior funciona. ¿Qué puedo hacer?
Saludos, gracias.

EDITO: [SOLUCIONADO]
Ya he encontrado el problema. Además de activar el WOL en la BIOS hay que hacerlo también dentro de las propiedades del adaptador de red. Estas propiedades están en administrador de dispositivos. Ahí buscar el adaptador de red, doble click y avanzadas.
Saludos.
9  Comunicaciones / Redes / Problema con red local [SOLUCIONADO] en: 21 Diciembre 2014, 19:14 pm
Hola a todos.

Tengo un problema con una red local, supongamos que tenemos un pc A (windows 8.1) y otro B (windows 7):

La IP de A es dinámica, no puedo ponerla estática porque al intentar configurarla me da error "Para configurar TCP/IP debe instalar y habilitar una tarjeta adaptadora de red", pero la miro con ipconfig.

Ambos PCs tienen conexión a internet.

IP de A ahora mismo: 192.168.0.195
IP de B siempre: 192.168.0.2

Mi problema es que B ve a A, pero A no ve a B.
Puedo hacer ping de B a A, y de A a sí mismo pero no de A a B. Ya he creado excepciones de entrada y salida para la IP de B, y he probado a deshabilitar el firewall y nada.

¿Qué puede estar pasando?

Saludos, gracias.

EDITO: Ya he conseguido ponerle IP estática al PC A.
Puerta de enlace: 192.168.0.1
PC A: 192.168.0.3 | Máscara: 255.255.255.0
PC B: 192.168.0.2 | Máscara: 255.255.255.0

(*)También he activado en el firewall "Archivos e impresoras compartidos  (petición eco: ICMPv4 de entrada)"

EDITO 2: [SOLUCIONADO]
Ye está hecho, el problema era que la regla de firewall mencionada anteriormente(*) no la había activado en el PC B, solo en el A.
10  Programación / Programación C/C++ / Re: Problema con COMMTIMEOUTS en: 11 Diciembre 2014, 18:25 pm
Hola de nuevo.

Ya he encontrado la respuesta a mi pregunta. Si que lo había entendido bien, aquí dejo un enlace:
http://winapi.conclase.net/curso/?wintip=COMMTIMEOUTS#inicio

En respuesta a por qué no me funcionan las cosas bien, creo que es porque yo el puertyo seria que uso es uno virtual generado por una API de una máquina. Entonces por lo que veo genera un puerto serie justito para leer y escribir, pero no es como un puerto serie de verdad.

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