PDA

Ver la versión completa : Añadir Code a ejecutable



agu295
24-10-2010, 21:04
hola bueno quisiera qe me pasen un tutorial de como añadir un code a un ejecutable. osea ya tengo el .exe pero ese .exe no se conecta con el servidor
porq ese .exe no tiene el mismo ip y puerto que mi servidor,
osea hay alguna manera de insertarle algo a ese .exe para qe se conecte con mi servidor
bueno gracias por adelantado :D

Fruit
24-10-2010, 22:27
No me he enterado de nada, la verdad. ¿Qué programa es? ¿Qué hace? ¿Con qué propósito? ¿A dónde conecta? ¿De quién es ese servidor? ¿A dónde debe conectar? ¿De quién es ese servidor?

agu295
24-10-2010, 22:51
el servidor es mio, el archivo.exe (osea cliente ) esta hecho en vb
es un juego osea qe tiene server i cliente..
i el cliente se tiene q conectar al server jaaj
mira eh logrado esto le cambile el ip al cliente con un hex
pero qeda asi mira
http://img413.imageshack.us/img413/7160/conecto.png


PD: en este post dice como insertar pero no lo entiendo ACA! (http://foro.hackhispano.com/showthread.php?t=24943&highlight=Tutorial+insertar+c%F3digo+ejecutable)

Fruit
24-10-2010, 22:58
No sé, no veo el fallo, ¿no va bien así?

agu295
25-10-2010, 00:02
claro men yo tmp le veo fallo, pero no conecta :S
pero osea ucando conecta dice establecido en state

Fruit
25-10-2010, 00:15
Si has redirigido los puertos...

agu295
25-10-2010, 02:17
Si has redirigido los puertos...

no te entiendo :s sorri

Fruit
25-10-2010, 02:48
Si tienes un router para conectarte a Internet, todos tus puertos estarán cerrados. Tendrás que redirigirlos. Busca en Internet sobre el tema.

agu295
25-10-2010, 03:20
osea dice qe si tengo abierto el puerto ?
i si esta abierto yo lo abri pero igual sin conectar :S

hystd
26-10-2010, 13:27
Sólo una cosa, ¿La longitud de la cadena reemplazada es la misma que la longitud de la cadena que has insertado manualmente? De no ser así, puedes que hayas machacado alguna instrucción del código... Comprueba la veracidad de las instrucciones con algún debugger.

Otra cosa, ¿Estás seguro que el servidor funciona? Puede que el problema no sea del cliente. Si con un editor hexadecimal has conseguido cambiar una cadena (IP original) por otra, en principio debería funcionar. Comprueba la conectividad del servidor.

Un saludo.

agu295
26-10-2010, 19:50
la conectividad con el servidor supongo qe esta bien porq hay esta escuchando,
i con respecto a lo del ip cambiado con el hex, solamente estaba asi XX.XX.XXX.XXX
i yo la cambie por la mia qe es asi XXX.XXX.XXX.XXX
osea le agrege 2 numeros :S
i el server se cambia con un archivo .ini qe esta en la carpeta dl server

hystd
26-10-2010, 22:34
¿Supones que la conectividad está bien? Compruebalo! Mira si puedes hacer ping, usa telnet para verificar la conexión al puerto, y todas esas cositas...

Con respecto a lo de la longitud de las cadenas, ya te he comentado que la mejor forma de comprobarlo es traceando con un debugger.

Si el server lo ejecutas en local, prueba a conectarte con la dirección de localhost (127.0.0.1) y no con tu IP externa.

Un saludo.

agu295
27-10-2010, 00:05
sisi el server conecta con la ip local...
bueno el telnet nose como usarlo porq ucando pongo el ip me pide password -.-
i con respecto a lo del debugger voi averirugar

RaidMan
27-10-2010, 01:01
Si estas intentando acceder a un Servidor dentro de tu propia red debes saber que hay ciertos routers que no permiten la redireccion "hacia dentro", es decir, que tendras que usar la IP publica y el puerto para acceder al servidor, y no la de tu red (192.168.X.X)


Un saludo

agu295
27-10-2010, 01:16
i si pobre con la ip publica pero tmp :S

PD: otra pregunta como seria para modificar algo con el olly si esta asi...
http://img826.imageshack.us/img826/8575/dibujovd.png

Fruit
27-10-2010, 01:28
Desempaquetándolo.

hystd
27-10-2010, 03:31
Uso de Telnet: te vas a la consola (cmd.exe) y escribes: [I]telnet "host_servidor" puerto , donde "host_servidor" es la IP del servidor y puerto es el puerto del servidor al que te vas a conectar... y a ver que sale.

Un saludo.

agu295
27-10-2010, 07:25
Desempaquetándolo.
claro men.. pero digo qe para qe aparescan datos o algo como para editar...
i en el PEID me aparece qe esta comprimido en "Microsoft Visual C++ 6.0 [Overlay]"



Uso de Telnet: te vas a la consola (cmd.exe) y escribes: [I]telnet "host_servidor" puerto , donde "host_servidor" es la IP del servidor y puerto es el puerto del servidor al que te vas a conectar... y a ver que sale.

Un saludo.

bueno me aparece conectandoce a xxx.xxx.xxx.xxx...no se pude abrir conexion al host, el puerto 4001: error de conexion
i cuando pongo el ip solo me pone algo para poner un password
gracias por contestar :D

Fruit
27-10-2010, 07:37
Eso no es un compresor...

agu295
27-10-2010, 15:51
Eso no es un compresor...
bueno pero el peid me dice eso :S

Fruit
27-10-2010, 16:54
El Visual C++ 6.0 es un compilador, no un compresor.

hystd
27-10-2010, 17:42
bueno me aparece conectandoce a xxx.xxx.xxx.xxx...no se pude abrir conexion al host, el puerto 4001: error de conexion
i cuando pongo el ip solo me pone algo para poner un password
gracias por contestar

Pues arregla eso, hasta el punto que desde telnet puedas conectarte. Todo apunta a que tu router no está configurado correctamente para hacer esa conexión, y para ello lee el post anterior de Fruit: "Busca en Internet sobre cómo se configura tu router". Y si no, haz la prueba conectándote en local (127.0.0.1), que es donde realmente está ejecutándose el servidor. Mientras no logres hacer una conexión exitosa, de nada sirve estudiar las modificaciones que has hecho a tu cliente.

Si no especificas el puerto, lo que estás haciendo es conectarte al puerto 25 (telnet), cosa que no viene al caso.

Un saludo.

agu295
27-10-2010, 18:28
El Visual C++ 6.0 es un compilador, no un compresor.
asi me aparece con el RDG http://img251.imageshack.us/img251/6493/dibujoblf.png
asi en el PEiD : http://img832.imageshack.us/img832/4559/dibujo1cz.png


Pues arregla eso, hasta el punto que desde telnet puedas conectarte. Todo apunta a que tu router no está configurado correctamente para hacer esa conexión, y para ello lee el post anterior de Fruit: "Busca en Internet sobre cómo se configura tu router". Y si no, haz la prueba conectándote en local (127.0.0.1), que es donde realmente está ejecutándose el servidor. Mientras no logres hacer una conexión exitosa, de nada sirve estudiar las modificaciones que has hecho a tu cliente.

Si no especificas el puerto, lo que estás haciendo es conectarte al puerto 25 (telnet), cosa que no viene al caso.

Un saludo.

bueno ai me pude conectar al telnet.. osea ya se cual es el password toi adentro xD
osea parece qe la coneccion esta bien

Fruit
27-10-2010, 18:47
asi me aparece con el RDG http://img251.imageshack.us/img251/6493/dibujoblf.png
asi en el PEiD : http://img832.imageshack.us/img832/4559/dibujo1cz.pngPues ahí pone MoleBox, nada de VC++.
bueno ai me pude conectar al telnet.. osea ya se cual es el password toi adentro xD
osea parece qe la coneccion esta bien¿Entonces?

agu295
27-10-2010, 19:26
Pues ahí pone MoleBox, nada de VC++.
en el peid dice eso de C++

.¿Entonces?
osea puse la puerta de enlace i aprete enter y puse el pass.. i estaba adentro del router.
tmb abrir el puerto pero sige igual..

hystd
27-10-2010, 21:57
Creo que estás confundiendo todo... Vamos por partes.


Según los datos que te muestra esa aplicación (ojo! no significa que sean los correctos), Visual C++ 6.0 es el compilador con el que fue diseñado el software, y Molebox es el packer utilizado para protegerlo.


Cuando dije que verificaras la conectividad, me refería a la conectividad de la aplicación, y no a que verificaras si podías "acceder al router"... ¬¬

El objetivo de la prueba que te hará descartar fallo en la conexión, es ver si es posible establecer una conexión al servidor desde un cliente telnet y no desde tu cliente modificado.


Describe correctamente y con todo detalle lo que has hecho pues estás haciendo que nadie comprenda bien lo que estás haciendo, como por ejemplo, ¿cómo has configurado los puertos? ¿Dónde se está ejecutando el servidor? Si es en local, ¿por qué pones tu IP pública y no un maldito 127.0.0.1?, Aún así, si has utilizado la IP pública, ¿Has configurado tu router? ¿Qué pasos has seguido para ello? ¿Te has asegurado de que siga siendo la misma IP de ahora?... ¿Cómo funcionaba inicialmente la aplicación?. Vamos, lo que viene siendo detallar la situación.

En fin, no sé por qué la gente se mete en estos berenjenales dando palos de ciego... tu respuesta:

"osea puse la puerta de enlace i aprete enter y puse el pass.. i estaba adentro del router.
tmb abrir el puerto pero sige igual.."

Me ha dejado con cara de WTF? (http://2.bp.blogspot.com/_PIrdvYuxftQ/S0xc1itNjOI/AAAAAAAABLw/W8GWm-Lp4M0/s1600-h/wtf_blog.jpg)

No lo tomes a mal, pero me he quedado sorprendido y creo que es porque no estás entendiendo lo que se te dice.

Un saludo.

agu295
27-10-2010, 23:40
[

Bueno... primero ¿cómo has configurado los puertos? abrir el puerto 4000 del router
¿Dónde se está ejecutando el servidor? el servidor lo estoy ejecutando desde mi pc
¿por qué pones tu IP pública y no un maldito 127.0.0.1?
puse ip publica , porq pense q seria la misma qe la 127.0.0.1
¿Cómo funcionaba inicialmente la aplicación?.
la aplicacion tiene esta ip 82.18.102.203, osea. era la ip del servidor qe tenian antes.
yo tengo el servidor en mi pc pero me falta configurar el cliente. es decir qe el cliente ese se conecte a el servidor qe esta abierto en mi pc
? ¿Te has asegurado de que siga siendo la misma IP de ahora?
si tengo la misma ip, porq no eh reiniciado el modem.

i con respescto ah esto :

Según los datos que te muestra esa aplicación (ojo! no significa que sean los correctos), Visual C++ 6.0 es el compilador con el que fue diseñado el software, y Molebox es el packer utilizado para protegerlo.
es el mismo cliente pero esta empaquetado o compilado (nose como llamarlo)
capas qe es mas facil con este una ves desempaquetar o descomprimido

ahora entiendes.. perdon por no ser un poco mas claro, espero qe ahora entiendas y muchas gracias por todo :D

Fruit
28-10-2010, 00:01
Bueno... primero ¿cómo has configurado los puertos? abrir el puerto 4000 del routerLos puertos no se abren, se redirigen. Y si usas DHCP, te va a servir de poco. Averigua tu dirección IP interna, y asegúrate de que nunca cambie poniéndola estática.

¿por qué pones tu IP pública y no un maldito 127.0.0.1?
puse ip publica , porq pense q seria la misma qe la 127.0.0.1Nada que ver. Los routers cierran todos los puertos al exterior. Hay que redirigirlos a mano siempre.
? ¿Te has asegurado de que siga siendo la misma IP de ahora?
si tengo la misma ip, porq no eh reiniciado el modem.Muy mal, caballerete. Que no hayas reiniciado el módem no te da ninguna seguridad de que no te hayan cambiado la dirección IP. Un microcorte y ya tienes otra.

Lo que tienes que hacer es desempaquetar el ejecutable y cambiar la IP, que debe estar hardcodeada (http://es.wikipedia.org/wiki/Hard_code).

agu295
28-10-2010, 01:19
Los puertos no se abren, se redirigen. Y si usas DHCP, te va a servir de poco. Averigua tu dirección IP interna, y asegúrate de que nunca cambie poniéndola estática.
si, puse mi ip interna para abrir los puerto. osea puse la puerta de enlace en una pag. i entre a la configuracion desde hay.


Nada que ver. Los routers cierran todos los puertos al exterior. Hay que redirigirlos a mano siempre.
bueno voi a probar poner esa ip aver si funciona

Muy mal, caballerete. Que no hayas reiniciado el módem no te da ninguna seguridad de que no te hayan cambiado la dirección IP. Un microcorte y ya tienes otra.
sisi. pero eh revisado la ip externa i siempre esta igual por ahora



Lo que tienes que hacer es desempaquetar el ejecutable y cambiar la IP, que debe estar hardcodeada (http://es.wikipedia.org/wiki/Hard_code).
bueno, no tienes un tutorial para desempaquetar?
gracias por todo men :D

hystd
28-10-2010, 01:19
Ok, también si puedes, explica cómo has configurado el puerto en el router. No pongo en duda tus conocimientos, sólo que nunca se puede fiar uno de lo que dice la gente que ha hecho.

Bueno, entonces sólo queda hacer las cosas bien desde el principio. Te propongo que hagamos lo siguiente, y en este orden:

1º Comprobar que la conexión del servidor funciona bien.
2º Verificar que la conexión desde el cliente que queremos funcione.

Haz lo siguiente y dime qué sale en cada caso. Antes de nada:


Cierra cualquier proceso implicado. (Tanto cliente como servidor). Si los procesos existen y tienes problemas al cerrarlos, para de leer y escribe un post diciendo "Error 000".



i) Ve a las opciones del Firewall de tu PC (icono que está en la bandeja del reloj) y desactiva/elimina el programa que hace referencia al servidor. Si este punto presenta problemas, escribe un post diciendo "Error 001"

ii) Ejecuta el servidor en tu pc. Cuando te salte el firewall de Windows, dale a "desbloquear". Esto hará que se den los correspondientes permisos. Si este punto presenta problemas o hace algo que no es EXACTAMENTE lo que he dicho, escribe un post diciendo "Error 002".

iii) Ve a la consola (inicio - ejecutar - cmd.exe). Y escribe lo siguiente (Si hay problemas en ejecutar cmd.exe, escribe un post diciendo "Error 003"):

$> telnet 127.0.0.1 4001

donde 4001 es el puerto que escucha el servidor, según dices.

Si la conexión te da error para en este punto de leer y escribe un post diciendo "Error 004". La posible causa sea que el puerto 4001 no sea el que debe. Si te conecta, entonces tienes dos opciones:
a) Continuar con el punto iv) si quieres que el cliente del programa se conecte via IP pública.
b) Dejar que la conexión se haga desde 127.0.0.1 y continuar con el punto xii).

iv) ve a la consola cmd.exe (Si hay error abriendo la consola, escribre un post diciendo "Error 003") y escribe:

$> ipconfig

v) Copia la dirección de la puerta de enlace. Si este punto presenta problemas, como por ejemplo, que no te da una salida coherente, o simplemente no sabemos copiar la puerta de enlace, ni siquiera en papel :D, escribe un post diciendo "Error 005".

vi) Abre tu navegador y escribe: http://direccion ip de la puerta de enlace. Si el navegador no te abre, o tienes problemas en copiar la puerta de enlace, escribe un post diciendo "Error 006".

vii) Accederás a la configuración de tu router. Si te pide usuario/password escríbelas para acceder como administrador, si no la sabes, contacta con tu proveedor o busca en internet sobre la clave por defecto de tu modelo de router. En caso de no poder acceder a la configuración del router, escribe un post diciendo "Error 007".

viii) Da permisos de acceso al servidor, indicando el puerto. Si no sabes manejarte bien con las opciones disponibles, busca en google cómo hacerlo. Si no puedes, escribe un post diciendo "Error 008".

ix) Una vez configurado el router, ejecuta de nuevo el servidor (si ya estaba ejecutado, no hace falta que lo lances de nuevo). En caso de presentar problemas con la ejecución del servidor, escribe un post diciendo "Error 009".

x) Dirígete a la página http://www.whatismyip.com y copia la dirección IP. Esa dirección es tu IP pública. Si hay problemas con esta página, o no localizas tu IP, escribe un post diciendo: "Error 010".

xi) Ve a la consola (cmd.exe). (Si hay problemas en abrir la consola, escribe un post diciendo "Error 003") y escribe:

$> telnet tuIPpublica 4001

donde 4001 es el puerto que escucha el servidor. Si te da error, para, y escribe un post diciendo "Error 011". Si no continua con el siguiente punto.

xii) En este punto se considera que la conexión al servidor es fiable y funciona. Ahora vamos a configurar el cliente. Si no entiendes el punto xii) escribe un post diciendo "Error 012"

xiii) Abre tu cliente con un editor hexadecimal, busca y sustitye la cadena IP original por 127.0.0.1. Si no encuentra la cadena IP original, para de leer aquí y escribe un post diciendo "Error 013".

xiv) Guarda los cambios y haz la prueba desde tu cliente modificado. Si te da error, para de leer aquí y escribe un post diciendo "Error 014". Si no, continua con el punto xv) o xvi).

xv) Este paso sólo es obligatorio si deseaste conectarte al servidor a través de tu IP pública. Abre tu cliente modificado con un editor hexadecimal, busca y modifica la cadena 127.0.0.1 por tu IP pública. Si te da error, escribe un post diciendo "Error 015".

xvi) Repite el paso xiv). Si hay éxito, tendrás tu cliente modificado, en cuyo caso escribe un post diciendo "Error null" si no, entonces empezamos a hablar de temas más delicados, y en tal caso escribe un post diciendo "Error 016".




PD1: Es la última vez que hago esto.
PD2: Cualquier respuesta por parte del autor de este hilo, distinta a "Error null" o "Error xxx", seguida opcionalmente por un texto explicativo si el autor lo desea, y donde xxx es un número de 3 cifras comprendido entre 000 y 016, no será admitida y será ignorada por mi, en cuyo caso me retiraré, pasando a ser un usuario pasivo y deseando suerte al autor.

Un saludo.

Fruit
28-10-2010, 02:59
PD1: Es la última vez que hago esto.
PD2: Cualquier respuesta por parte del autor de este hilo, distinta a "Error null" o "Error xxx", seguida opcionalmente por un texto explicativo si el autor lo desea, y donde xxx es un número de 3 cifras comprendido entre 000 y 016, no será admitida y será ignorada por mi, en cuyo caso me retiraré, pasando a ser un usuario pasivo y deseando suerte al autor.Señor, es usted como un gigantesco bloque switch. Genialérrima respuesta.

agu295
28-10-2010, 03:04
bueno men. aca te dejo una imagen de como fue todo :D por lo qe veo el server anda bienn :D
http://img541.imageshack.us/img541/3948/dibujoyq.png

solamente falta un paso.. configurar con el hex, lo configuro pero no conecta
bueno men de antemano te lo agradesco mucho por ser paciente con migo y ayudarme :D

hystd
28-10-2010, 16:59
hystd.Algorithms.Parser Exception on post #32, line 1, column 0.
No es posible interpretar la respuesta. HySTD entrará en modo pasivo y deseará suerte al autor.


Tan difícil no era.

Un saludo.