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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Enviar datos a una ventana en remoto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Enviar datos a una ventana en remoto  (Leído 2,531 veces)
WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
Enviar datos a una ventana en remoto
« en: 5 Marzo 2012, 20:19 pm »

Hola! Tengo un servidor remoto de un juego corriendo en un CMD o bien con una interfaz gráfica. Mi objetivo es, desde un ordenador remoto, enviar una cadena de texto, así como kick jugador, preferiblemente a través de NetCat, y que esta cadena se escriba en una ventana ya abierta. He encontrado esto, para escribir algo en el bloc de notas:
Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3. int main()
  4. {
  5.  HWND ventana,ventana1;
  6.  char texto[]="hola";
  7.  ventana=FindWindow(NULL,"Sin título - Bloc de notas");
  8.  SetForegroundWindow(ventana);
  9.  ventana1=FindWindowEx(ventana, 0, "Edit", 0);
  10.  SendMessage(ventana1,WM_SETTEXT,0,(long)texto);
  11. }
Esto escribe "hola" en el bloc de notas.
Debe ser remoto, así que debe escuchar mediante sockets o bien leer de un archivo :P
Código
  1. #include <winsock2.h> //la cabezera para usar las funciones de winsock
  2. #include <stdio.h>
  3. /*linkamos a la libreria del winsock, también puedes hacerlo desde
  4. project->settings->link si usas ms visual c++ */
  5. #pragma comment(lib,"ws2_32.lib")
  6. int main()
  7. {
  8. WSADATA wsa;
  9. SOCKET sock;
  10. struct sockaddr_in local;
  11. int len=0;
  12. char Buffer[1024];
  13. //Inicializamos
  14. WSAStartup(MAKEWORD(2,0),&wsa);
  15. //Creamos el socket
  16. sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  17. //defnimos dirección por defecto, ipv4 y el puerto 9999
  18. local.sin_family = AF_INET;
  19. local.sin_addr.s_addr = INADDR_ANY;
  20. local.sin_port = htons(9999);
  21. //asociamos el socket al puerto
  22. if (bind(sock, (SOCKADDR*) &local, sizeof(local))==-1)
  23. {
  24. printf("error en el bind\n");
  25. return -1;
  26. }
  27. //ponemos el socket a la escucha
  28. if (listen(sock,1)==-1)
  29. {
  30. printf("error en el listen\n");
  31. return -1;
  32. }
  33. len=sizeof(struct sockaddr);
  34. //hay una conexión entrante y la aceptamos
  35. sock=accept(sock,(sockaddr*)&local,&len);
  36. printf("[SERVIDOR MiniXat para tutorial de sockets MazarDZone Foro]\n");
  37. printf("[Cuando se vaya recibiendo texto aparecera en pantalla ]\n");
  38. while (len!=0) //mientras estemos conectados con el otro pc
  39. { len=recv(sock,Buffer,1023,0); //recibimos los datos que envie
  40. if (len>0) //si seguimos conectados
  41. {
  42. Buffer[len]=0; //le ponemos el final de cadena
  43. printf("Texto recibido:%s",Buffer); //imprimimos la cadena recibida
  44. }
  45. }
  46. return 0;
  47. }
Es sacado de un tutorial de MazarD.
Ahora: alguien puede ayudarme con esto de escribir en la ventana del CMD? O... cómo puedo encontrar el nombre de una ventana hija (un InputBox o algo así) ???

Muchísimas gracias...


En línea

La cacatúa yoyó es nueva en el zoo!
soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Re: Enviar datos a una ventana en remoto
« Respuesta #1 en: 5 Marzo 2012, 22:40 pm »

¡Buenas WaAYa HaCK!

CMD es una consola no un lenguaje de programacion, asi que necesitaras ayudas de programas externos. Tu problema se solucionaria facilmente si hicieras un programa en C con sockets como bien comentas, pero si lo que quieres es hacerlo con instrucciones de ms-dos, deberias ir a la sección de SCRIPTING que es donde realmente te van a saber aconsejar bien sobre el cmd.

Un saludo.


En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
Re: Enviar datos a una ventana en remoto
« Respuesta #2 en: 5 Marzo 2012, 22:41 pm »

Dicho servidor, tengo la opción de usarlo sin CMD, con GUI. El problema que tengo es a la hora de enviar una cadena a la ventana hija, puesto que no sé cómo se llama...
En línea

La cacatúa yoyó es nueva en el zoo!
naderST


Desconectado Desconectado

Mensajes: 625



Ver Perfil WWW
Re: Enviar datos a una ventana en remoto
« Respuesta #3 en: 5 Marzo 2012, 22:59 pm »

Pues para conseguir la clase de una ventana y sus ventanas hijas puedes usar una aplicación llamada Microsoft Spy++ viene con el paquete de Visual Studio. También puedes listar las ventanas y sus hijas con EnumWindows y EnumChildWindows
En línea

WaAYa HaCK

Desconectado Desconectado

Mensajes: 292


Arduino, Android and music


Ver Perfil
Re: Enviar datos a una ventana en remoto
« Respuesta #4 en: 6 Marzo 2012, 09:02 am »

Hm. He encontrado esto de EnumChildWindows, pero no sé aplicarlo a mi código...
Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3. int main()
  4. {
  5.  HWND ventana,ventana1;
  6.  char texto[]="hola";
  7.  ventana=FindWindow(NULL,"Sin título - Bloc de notas");
  8.  SetForegroundWindow(ventana);
  9.  SendMessage(ventana1,WM_SETTEXT,0,(long)texto);
  10. }
En línea

La cacatúa yoyó es nueva en el zoo!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Enviar Instrucciones a una ventana « 1 2 »
Programación Visual Basic
Xephiro 16 4,651 Último mensaje 29 Marzo 2009, 01:15 am
por jorkaes
[Vbscript] ¿Se puede enviar mensajes a una ventana?
Scripting
0x0309 1 4,082 Último mensaje 17 Agosto 2009, 13:34 pm
por Novlucker
Enviar Ctrl+c a una ventana de windows para copiar un texto seleccionado
.NET (C#, VB.NET, ASP)
arenoide 3 5,559 Último mensaje 16 Agosto 2011, 00:55 am
por Meta
ventana popup depues de enviar datos
Desarrollo Web
itsukisekaiakiba 0 1,607 Último mensaje 5 Diciembre 2012, 00:04 am
por itsukisekaiakiba
Enviar eventos a una ventana oculta con SW_HIDE
Programación C/C++
patilanz 0 1,119 Último mensaje 23 Septiembre 2015, 07:49 am
por patilanz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines