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 - eferion

#1001
Pues mira, necesitas que tu aplicación haga de bypass a nivel de red, es decir, que el sistema operativo ( en tu caso windows, seguro ) avise a tu aplicación para los mensajes enviados / recibidos a uno o varios puertos. Sobre este punto busca información en internet porque además creo que para algunas versiones de Windows el proceso cambia.

Por otro lado necesitas conocer el algoritmo de cifrado y, seguramente, la clave de cifrado. De donde sacas esta información ya es cosa tuya.

También tienes que tener en cuenta que, a nada que el servidor del juego esté bien montado, una espera de varios segundos entre el envío y la recepción de una respuesta puede conllevar tu expulsión del juego por trampas o lag, lo que tenga programado antes. Esto te lo comento por lo que dices de darte la opción de editar manualmente la información a enviar.

Una vez echo esto unirlo todo es sencillo.

* Inicializas el bypass y te pones a escuchar.
* Para cada mensaje recibido lo decodificas, lo muestras, das la opción de editarlo, lo vuelves a codificar y se lo reenvías al servidor. Ten en cuenta que para que el servidor acepte la información tienes que reenviarlo usando el mismo puerto que el juego que intentas hackear, por lo que tendrás que valerte del bypass o de alguna función del sistema para inyectar los mensajes en el puerto abierto por el juego.

O bien puedes jugar de forma legal y conforme a las reglas.
#1002
Programación C/C++ / Re: Tildes en C++
2 Septiembre 2013, 09:13 AM
Lo que comentas se produce por problemas en la codificación.

Si has trasteado en algún momento con un editor de código puede que te hayas topado alguna vez con que los archivos los puedes guardar con diferentes codificaciones ( ANSI, UTF8, UCS2, ... ). Estas codificaciones determinan qué secuencia numérica identifica a cada carácter ( No olvidemos que, al final, la información almacenada en el disco duro son datos binarios, es decir, números ).

Las codificaciones más comunes son ANSI y UTF8 y, de hecho, si escribes sin acentos ambas codificaciones son idénticas, al menos en lo que refiere a los caracteres básicos ( A-Z, a-z, 0-9, corchetes, comillas, puntos, comas, operadores matemáticos, etc ).

En lo que se refiere a tu problema, es posible que tu código fuente esté almacenado en ANSI y la consola esté corriendo en UTF8 ( o al revés ), por eso cuando se hace la conversión de número a caracter aparece un símbolo extraño.

Prueba a coger el código fuente y cambiarle la codificación ANSI-UTF8, compila y prueba de nuevo, a ver si te funciona mejor.

La forma de cambiarle la codificación depende del editor, si no está en "guardar como", tendrás que navegar entre las opciones del editor o buscar en internet cómo realizar lo esto con el editor que estás usando.
#1003
"fichero" es un objeto de tipo "ifstream". El problema que tienes es que getline no es una función válida como tal. Tu quieres hacer "fichero.getline".

Código (cpp) [Seleccionar]

    char palabra[50];

    while(!fichero.eof()){

        fichero.getline(palabra, 50, ',');
        cout <<palabra;

    }


Como has podido comprobar, palabra no puede ser un string, la interfaz getline de ifstream no tiene ninguna sobrecarga que admita un string, tiene que ser un array de tipo char.
#1004
FicheroA es un puntero a tipo char no inicializado. Si no quieres complicar te la vida, crea un buffer lo suficientemente grande como para almacenar los archivos de prueba. Si quieres hacerlo bien, calcula el tamaño del archivo y crea un buffer adecuado a su tamaño... luego no te olvides de liberar la memoria reservada.

Además la forma de leer el archivo es lo opuesto a optimización del rendimiento. Por cada carácter que lees del archivo realizas una copia de lo leído anteriormente y luego le añades el caracter leído. Además el buffer no esta inicializado luego lo que resulte de tu código es totalmente aleatorio.

Lo suyo es que leas el archivo del tirón o, si quieres hacerlo carácter a carácter, usa un int para almacenar el la posición en la que va el char y te olvidas de ese código diabólico que tienes.

Para asegurar que la lectura es correcta, saca el buffer por pantalla antes de enviar los datos al servidor.
#1005
Programación C/C++ / Re: Matriz cuarta
29 Agosto 2013, 14:12 PM
printf("El cuadrado de esa matrices es: \n\n");
producto_Matriz(A,A,C,N);
escribe_Matriz(C,N);

printf("La cuarta potencia de esa matrices es: \n\n");
Matriz_cuarta(A,D,N);
escribe_Matriz(C,N);


A ver, analizando tu programa, el código de arriba hace lo siguiente:

* para el producto: C = A * A
* para la cuarta: D = A * A

Si te das cuenta, en la cuarta estas haciendo D = A * A y luego estas imprimiendo C... Cosas del copypaste... Mas bien creo que lo que deberías hacer es D = C * C.

En cualquier caso la función que calcula la cuarta es un poco absurda porque es un calco de la función de producto, la única diferencia es que solo usa una matriz en vez de dos. Si quieres que la función cuarta calcule la cuarta potencia ella sola deberías replante arte el algoritmo.
#1006
Programación C/C++ / Re: Archivos
28 Agosto 2013, 21:28 PM
Tutoriales en internet al respecto tienes a patadas.

Pon en google "tutorial manejo ficheros c" y tendrás resultados de sobra.

Explicártelo a ti en exclusiva es como reinventarse la rueda... Ya esta echo en otro sitio... Es mas cómodo que visites el sitio  :P
#1007
Ante el envió de cualquier comando, el servidor FTP siempre responde con ACK o NACK. Deberías modificar el código para que sea sensible a los errores enviados por el servidor.

En cuanto a tu error... Estas enviando el mensaje "STOR archivo.txt"... Con eso estas diciéndole al servidor que le vas a enviar un archivo con nombre archivo.txt... Pero no le estas enviando el contenido.

Después de enviar ese comando tienes que abrir el archivo y enviarlo al servidor conforme a lo que dicte el estandard de FTP. Tu piensa que el servidor no tiene acceso al sistema de archivos del cliente... Por lo que no puede coger archivos así por las buenas.
#1008
Estas guardando la información en bruto, sin formato. Imagino que lo que te sucede es que una arquitectura es big endian y la otra little endian. Ambas arquitecturas no son compatibles binariamente por cuestiones obvias.

Lo mejor cuando trabajas con diferentes arquitecturas (en resumen, diferentes pcs) es guardar la información en archivos con formato (XML por ejemplo).

La gran ventaja de estos sistemas es que el contenido del archivo se puede leer sin problemas en todas las arquitecturas. El inconveniente es que la lectura y escritura es un poco mas elaborada... Pero nada del otro mundo.
#1009
Cita de: xiruko en 26 Agosto 2013, 21:13 PM
siempre puedes hacer en la linea de comandos:

./programa > output.txt < input.txt

saludos!

Lo que pasa es que imagino que su idea es aprender a manejar ficheros...
#1010
Los algoritmos no funcionan sobre archivos. Tienes que leer el contenido del archivo y almacenarlo en tu programa (usa la clase string en vez de arrays de Chars). Después le aplicas el algoritmo y el resultado lo almacenas en un nuevo fichero.

Para manejar los archivos mira te las clases stream ( istream, ostream, etc. ). Hay muchos ejemplos y tutoriales por internet.