Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - XxXMotokoXxX

#1
Bueno señores me he vuelto como loco buscando en nuestro queridísimo Google como detectar todas las teclas del teclado y con su interpretación en el "keystroke" de las mayúsculas pero me he encontrado con un problema en mi código y es que el keylogger me detecta la tecla pulsada dos veces: Una vez cuando la aprieto y otra vez cuando levanto la tecla y solo quiero que me detecte cuando pulso la tecla. Ahí les dejo mi código:

#include <iostream>
#include <Windows.h>
#include <fstream>

HHOOK hHook = NULL;

using namespace std;

LRESULT CALLBACK p**a(int nCode, WPARAM wParam, LPARAM lParam)
{
   cout << "Hola, me pulsaste!\n";
   return CallNextHookEx(hHook, nCode, wParam, lParam);
}

int main ()
{
   hHook = SetWindowsHookEx(WH_KEYBOARD_LLñor, p**a, NULL, 0);
   if (hHook == NULL)
   {
       cout << "Nada de nada, hijo p**a!\n";
   }


   //Esto solo sirve para mantener el cmd abierto
   MSG msg;
   while(GetMessage(&msg, NULL, 0, 0))
   {

   }
   return 0;
}




EI: juntando mensajes, la proxima borro.



Nada señores, ya resolví el problema que tenía con que me detectaba un doble keystroke para cuando pulso la tecla y cuando la dejo de pulsar... pero aún sigo teniendo problemas con la detección de caracteres especiales... quiero que mi Keylogger sea lo suficientemente inteligente como para que me detecte la configuración de teclado que uso y me lea las Ñ's entre otros caracteres españoles... (o de cualquier otro idioma... como si es ruso!! jajaja).

¿Ideas?
#2
Buenas tardes señores,

Me preguntaba si existiría alguna función que sirviera para detectar los "keystrokes" de un teclado pero que sea sensible a los caracteres especiales y a las minúsculas porque si lo intento hacer con la función GetAsyncKeyState() me he dado cuenta de que no me detecta las letras minúsculas ni caracteres especiales, sólo me detecta las mayúsculas y las teclas del teclado.

He leído por ahí que existe una manera de que detecte el lenguaje del teclado y de esta manera traduce las combinaciones de teclas ALT, CTRL y SHIFT a su correspondiente código ASCII pero en este punto me encuentro atascado.

Estoy programando en C++. ¿Me podrían ayudar con este problema? ¿Me podrían ayudar a encontrar un buen tutorial o PDF que me enseñe bien todos los secretos de la "header" <windows.h>? Se agradecería que me pusieran un ejemplo de cómo usar esa mágica función que busco.

Gracias!!

P.D.: Estoy trabajando y programando en y para un SO Windows 7.
#3
Según leí por alli puedes escaparte de los protocolos del ICANN y crear tu propio DNS root.
#4
Quería preguntarles si era posible crearme en casa un servidor DNS tipo root, como los 13 TLD que hay actualmente en funcionamiento (.com, .es, .net, .org....) de tal forma que pueda ser yo mismo el host de mi propio nombre de dominio con mi propio, por llamarlo de alguna manera,  dominio ".com", de tal forma que los usuarios puedan acceder a mi servidor DNS para resolver sus propias IPs.

Al parecer los dominios .tk se escapan de los protocolos "oficiales" DNS. ¿Cómo lo han conseguido para escapar de los famosisimos TLD (DNS root)?

Tengo entendido que esto es posible mediante un caching y DNS hijacking, pero no he investigado mucho estos últimos temas ya que requiere meses de investigación y preparación. Por eso les preguntaba si era posible alcanzar este objetivo antes de hacer un esfuerzo en vano.

Muchas gracias.
#5
Sí, lo comenté anteriormente, el portal alejandra no me deja abrir los puertos: me da un mensaje de error.

¿Cómo puedo romper ese filtro que impide la administración remota del puerto 80?


Gracias.
#6
Gracias por tu respuesta mastercss.

Ya he hecho anteriormente todo esto que me comentas y he modificado el archivo httpd.conf para redirigir el puerto de escucha al 8080 y me funcionó correctamente el server, incluso logré asociarle un nombre de dominio .tk y asocié la IP y el nombre con una empresa de DNS dinámica gratuita (DNSexit.com) y todo hasta allí funciona correctamente.

El problema es que quiero evitar que mi servidor esté activo en el puerto 8080 ya que queda poco elegante escribir en la URL del navegador www.misitio.tk:8080. Sólo quiero ahorrarles a mis visitantes escribir ese indeseado ":8080" quiero que solo recuerden un nombre y no números.

Y allí es cuando interviene el problema del router. El muy "condenado" no me deja usar el puerto 80 para ahorrarles a mis visitantes escribir ese molesto ":8080" que le queda muy poco profesional....

Gracias nuevamente por tu atención.
#7
Yo creo que si lo he hecho bien pero no pasará nada si lo reviso dos veces. Repasaré ese tutorial que leí y veré si lo he hecho correctamente. Si no leeré algún artículo en inglés que me enseñe como mapear esos puertos desde un router Zyxel.

Gracias, Spider-net.
#8
Más agradecimientos e introducción

Antes que nada: muchísimas gracias Spider-Net y todos aquellos que me estaán ayudando. Lo agradezco muchísimo.

Me he puesto a investigar inmediatamente después de preguntar en este foro sobre el problema que comentaba Spider-Net de que probablemente mi servidor Apache no funcionaba porque el panel de administración remoto del router estaba ejecutándose en el puerto 80, impidiendo que mi Apache se pusiera a "trabajar" en la red.

Me leí algunos tutoriales sobre como redirigir el puerto de "trabajo" del panel de administración de mi router (puerto 80 es el predefinido) a otro diferente (en mi caso, lo redirigí al puerto 8080).

Usando Telnet

¿Cómo lo hice? Hice telnet a la dirección IP de mi router y cambié el puerto del panel del router al 8080 dejando totalmente libre el puerto 80 para que trabajara mi Apache.

Además aproveché para desactivar el bloqueo del puerto 80 y 21 (ya que pienso usar ambos).

Los problemas vuelven...

Ahora, cuando pruebo el Apache desde un proxy sigue sin funcionar el dichoso server. Pero luego pensé: "Bueno, a lo mejor configuré mal el último paso (cuando hice telnet a mi router".

Así que decidí antes de actuar comprobar si realmente mis puertos 80 y 21 están cerrados y, efectivamente, la página web que me ofrece ese servicio me decía que "la respuesta es tardía" y no-se-qué, ¡¡¡vamos que los puertos no funcionan correctamente!!!

Una vez comprobado que no funcionó para nada lo que hice decidí tomar el consejo de el-brujo desde el portal alejandra. Configuro el puerto 80 (tanto TCP y UDP) para que se habrán exclusivamente a mi IP estática de mi ordenador/servidor y cuando le doy a "modficar"..... ¡PUF! El servicio del portal alejandra me dice que lo intente más tarde y no sólo eso sino que cuando voy a intentarlo con el puerto 21, el portal alejandra me dice: "Ni hablar chiquillo: no puedes abrir el puerto 21 ni el ¿69? ni...". Vamos que me lo prohíbe, así que el portal alejandra me cayó muy mal... es muy restrictivo...

Conclusiones y posibles soluciones a debatir con ustedes...
Al parecer los puertos 80 y 21 SI están bloqueados para mi router. ¿Tendrán razón las fuentes inglesas que leí sobre que el contrato de las ISP bloquean los puertos "magnos" para cualquier servidor web?

El puerto 8080 sigue funcionando con normalidad y mis amigos pueden ver mi server online, sólo tienen que escribir: www.misitio.tk:8080 pero eso queda muy hortera.

Soluciones que se me ocurren:
1.- Crear mi propio router con otro ordenador viejo: creo que eso necesitará horas y horas de investigación pero es un reto interesante.
2.- ¿Acceder al sistema operativo de mi router y modificar el Firewall? ---> ¿Es esto posible? ¿Cómo se hace?
3.- Buscar algún programa para que cuando hagan una petición desde el navegador (puerto 80 predeterminado) dicho programa los redirija al puerto 8080 o sea, el que me funciona----> ¿Es eso posible?

Gracias. Espero vuestra respuesta.
#9
Ya me he dado cuenta de cual es el error. Me dejé llevar por la emoción y probé el nombre de dominio desde el navegador del ordenador donde tengo el webserver. Eso significa que no estaba viendo la página www.misitio.tk desde Internet sino que lo visitaba localmente, gran error...

Ahora sigo como al principio. Spider-net, cuentame como abrir mi puerto 80. ¿Uso el server alejandra? No entiendo lo que pretendes decir con lo de que intento conectar al panel del router remotamente...

Gracias.
#10
Muchas gracias por la primera información, me es de mucha utilidad.

Lo segundo, ¿aunque este mi server funcionando en Apache eso no significa que sea el Host de mi propia web a no ser que tenga mi propio servidor DNS? ¿Me puedes contar resumidamente en que consiste el ContactAdmin?

Gracias por vuestra atención.