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


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  EXE reciba algo de DLL y se piense que lo ha enviado el servidor
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: EXE reciba algo de DLL y se piense que lo ha enviado el servidor  (Leído 8,408 veces)
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: EXE reciba algo de DLL y se piense que lo ha enviado el servidor
« Respuesta #20 en: 22 Mayo 2010, 14:48 pm »

y dale.

Citar
No he dicho que no tenga el manejador, el manejador lo tengo la cosa es como enviar al cliente por el socket ya abierto puesto que send envía al servidor.

pero repetimos, el cliente te llama a ti y una leve ojeada a la documentacion:

Citar
If no error occurs, recv returns the number of bytes received and the buffer pointed to by the buf parameter will contain this data received. If the connection has been gracefully closed, the return value is zero.

No he dicho que uses send logicamente, tienes que copiar los datos al buffer y devolver el numero de bytes, tal como si llegasen desde el socket (esto no lo sabe el cliente).

Citar
No sé como dices que de la manera que explicas te funcione, posiblemente sigues sin entender el problema que tengo.

perdona, el que no esta entendiendo eres tu.

Citar
Este es la función hookeada, el packet 0x283 es el de cuando el jugador accede al juego, lo que hace es crear otro thread para enviar el broadcast una vez que ha entrado al juego (esto es lo que hice rápido a tu manera pero de la forma que yo quiero).

eso no es ni por asomo como te digo, si fuese como te digo eso volveria al cliente aun sin que llegasen datos y es eso lo que tienes que controlar tu.

Citar
porque habrá que ejecutar la función (la cual no sé cómo será, tal vez estoy hoy espeso) para enviarle los datos al EXE.

No hay que ejecutar nada, lee la definicion de la funcion otra vez.

Citar
P.D: Para que me entiendas, yo no quiero modificar lo que recibe el EXE (esto ya lo hago para otras cosas), lo que quiero es enviar algo nuevo al EXE desde el dll.

hijo mio, es precisamente lo que te estoy explicando. para que lo entiendas, pilla el codigo de la msdn y compilalo tal cual y observa que espera hasta que el servidor responde. ahora bien aplicale lo que te digo y veras que no espera y que deja la espera retornando WSAETIMEDOUT una vez obtienes el timeout si quieres puedes hacer creer al cliente que le a llegado informacion..... y repito copias los datos al buffer y le devuelves el numero de bytes copiados.

Cuando hay timeout quiere decir que el servidor no envio nada, por eso logicamente no pierdes datos. siendo esto asi, tu eres el encargado de decirle al cliente cuando se a cerrado la conexion. para mas datos http://msdn.microsoft.com/en-us/library/ms740668%28v=VS.85%29.aspx


Despues te queda otra que es hacer que el cliente pase por tu aplicacion para conectarse (a modo proxy local) de esta forma tienes mas facil enviarle cuando quieras datos al cliente ya que para el tu eres el servidor.



« Última modificación: 22 Mayo 2010, 15:09 pm por ctlon » En línea

SnakeDrak

Desconectado Desconectado

Mensajes: 243


[GPG: 0x9680A09E]


Ver Perfil
Re: EXE reciba algo de DLL y se piense que lo ha enviado el servidor
« Respuesta #21 en: 22 Mayo 2010, 17:10 pm »

Hola ctlon,

Vale ahora sí creo que te he entendido, con esta línea:

Cita de: ctlon
hijo mio, es precisamente lo que te estoy explicando. para que lo entiendas, pilla el codigo de la msdn y compilalo tal cual y observa que espera hasta que el servidor responde. ahora bien aplicale lo que te digo y veras que no espera y que deja la espera retornando WSAETIMEDOUT una vez obtienes el timeout si quieres puedes hacer creer al cliente que le a llegado informacion..... y repito copias los datos al buffer y le devuelves el numero de bytes copiados.

Pensaba que siempre esperaba, fallo mío, es decir mi fallo era la función que te dije que no conocía y es la que debía aplicar. Pues muchas gracias =D ahora si que me cuadra todo, luego probaré y te comentaré aunque imagino que si funcionará si no espera como yo pensaba (no sabía eso del WSAETIMEDOUT).

Tu idea del Proxy también me ha parecido bastante interesante xD, si en un futuro necesito hacer muchas más operaciones utilizaré al dll como proxy.

Saludos y gracias!


En línea

Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Se puede ver que usuario modifico algo en un Servidor?
Seguridad
Tovenar 1 2,672 Último mensaje 26 Diciembre 2011, 12:55 pm
por adastra
Plantilla que reciba de entrada archivo flash flv??
Desarrollo Web
greenselves 0 1,593 Último mensaje 14 Abril 2012, 16:49 pm
por greenselves
[?]Crear un programa que piense por si mismo? « 1 2 3 »
Programación General
MineHitex 27 11,907 Último mensaje 31 Julio 2013, 14:22 pm
por ctap07b9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines