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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)  (Leído 4,838 veces)
Fera Core

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« en: 20 Abril 2016, 03:34 am »

 :D

Hola tengo un proyecto en cual tengo que modificar el juego que elegi Uniting Barrage Action (Touhou) , quiero traducirlo al español ya que no hay parches, y lo compartire.
tengo que ser mas modificaciones para que me hagan valido el proyecto y quisiera saber algunos consejos, recomendaciones de como abrir un archivo binario , modificarlo y guardarlo para usarlo como un parche.

Gracias por su atencion



En línea

HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #1 en: 20 Abril 2016, 04:08 am »

Tamaño de los archivos a modificar ?

Que has planteado hasta ahora ? muestra algo


En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
MAFUS


Desconectado Desconectado

Mensajes: 1.532



Ver Perfil
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #2 en: 20 Abril 2016, 16:40 pm »

Pregunta en el foro de ingeniería inversa.
Te diran como buscar y modificar cadenas dentro de los binarios.
En línea

Fera Core

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #3 en: 21 Abril 2016, 00:55 am »

Uso turbo c++, lee el archivo .dat no se porque me da error al abrir .bin(ya lo eh probado con  strcat(NombreArchivo, ".bin");) bueno lo que lee y guarda  en texta me sale sibolos codigo ancii y no se como descodificarlos

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5.  
  6.  
  7.  
  8. void limpriarCadena(char cad[], int n) {
  9.  
  10.    for(int i = 0; i < n; i++) {
  11.  
  12.   cad = '\0';
  13.    }
  14. }
  15.  
  16. int main() {
  17.  
  18.    char Unidad[3];
  19.    char Ruta[150];
  20.    char RutaAbsoluta[150];
  21.    char NombreArchivo[50];
  22.    char c=' ';
  23.    FILE *F,*N;
  24.  
  25.  
  26. do {
  27.   clrscr();//limpiar la ubicacion cada vez que se cicle
  28.   limpriarCadena(Unidad, 2);
  29.   limpriarCadena(Ruta, 150);
  30.   limpriarCadena(RutaAbsoluta, 150);
  31.   limpriarCadena(NombreArchivo, 50);
  32.  
  33.   printf("\n -Ingresa la letra de la unidad de tu dispositivo(C,D,F...):\n-> ");
  34.   scanf("%c", &Unidad[0]);
  35.   strcat(Unidad, ":\\");
  36.   strcpy(RutaAbsoluta, Unidad);
  37.  
  38.   printf("\n -Ingresa la ruta del archivo(deja en blanco si esta en la raiz):\n-> %s", Unidad);
  39.   while(getchar()!='\n');
  40.   gets(Ruta);
  41.   if(strlen(Ruta)!=0) {
  42.  
  43.       strcat(RutaAbsoluta, Ruta);
  44.       strcat(RutaAbsoluta, "\\");
  45.   }
  46.  
  47.   printf("\n Ingresa el nombre del archivo binario (.dat) que desea abrir: \n");
  48.   gets(NombreArchivo);
  49.   strcat(NombreArchivo, ".dat");
  50.   strcat(RutaAbsoluta, NombreArchivo);
  51.  
  52.  
  53.   F = fopen("M_juego.txt", "rb");
  54.  
  55.   if(F == NULL) {
  56.  
  57.             printf("\n\n Error al abrir el archivo! Intenta de nuevo...\nPresiona enter para continuar...");
  58.         while(getchar()!='\n');
  59.            }
  60.  
  61.     } while(F == NULL);// cierro ciclo DO WHILE
  62.  
  63.     clrscr();
  64.  
  65.     printf("\n  Texto en:  %s\n\n", RutaAbsoluta);  // imprime la ruta del archivo
  66.   N = fopen("M_juego.txt", "wb");
  67.  
  68.   printf("El respaldo se creo correctamente ");
  69.   while(!feof(F)) {
  70.  
  71.             c = getc(F);
  72.         fprintf(N,"%c",c);
  73.             printf("%c", c);
  74.  
  75.         }
  76.       puts("Copia de seguridad creada con exito");
  77.       fclose(F);
  78.       fclose(N);
  79.  
  80.   getch();
  81.  
  82.   return 0;
  83. }


MOD EDIT: Usar etiquetas GeSHi y no duplicar posts.
« Última modificación: 21 Abril 2016, 01:00 am por MCKSys Argentina » En línea

HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #4 en: 21 Abril 2016, 01:24 am »

Cuanto mide el archivo origen ? cuanto mide el archivo destino ?

Si los ves con un editor...... ves lo mismo ?
En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
Fera Core

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #5 en: 21 Abril 2016, 01:46 am »

soy un estudiante que esta investigando como abrir un archivo bin o dat para modificarlo, pero no se como descodificar el codigo ansii, nesecito buscar donde puedo traducirlo. Ya que hay muchos archivos .dat
« Última modificación: 21 Abril 2016, 01:51 am por Fera Core » En línea

HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #6 en: 21 Abril 2016, 01:57 am »

Simplemente buscas una cadena y la reemplazas por otra del mismo tamaño (si del mismo tamaño)

Y guardas el archivo modificado (puede ser el mismo) o uno nuevo.


PD: si conoces la estructura del archivo, ya puedes hacer otras cosas...... pero sino lo conoces no puedes cambiar el tamaño de los strings (ya que no sabes si son de longitud fija o variable) aunque claro podrias probar (verifica si hay un caracter terminador en las cadenas)
« Última modificación: 21 Abril 2016, 01:59 am por boctulus » En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
MAFUS


Desconectado Desconectado

Mensajes: 1.532



Ver Perfil
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #7 en: 21 Abril 2016, 09:02 am »

A ver: son archivos binarios y guardan los datos de forma binaria. Vas a ver sìmbolos raros porque traduces los bytes a ascii, pero son eso, bytes. Pueden ser enteros, reales, complejos, cadenas, cadenas ofuscadas, código ejecutable, cualquier cosa.

A lo mejor con un desensamblador, tienes suerte, y te puede arrojar el código máquina y puedes llegar a ver las cadenas de texto.

Cómo te dije expon tu consulta en ingeniería inversa, los chicos de allí se dedican a eso.
En línea

HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #8 en: 21 Abril 2016, 11:27 am »

No es necesario desensamblar nada

Obviamente que los caracteres de control (si son interpretados al momento de visualizarse el archivo) no te dejan ver bien las cadenas, pero estan ahi (excepto el archivo esté ofuscado o cifrado) y depende del editor con que las abras.

Una vez que encuentras las cadenas..... las reemplazas por otras de la misma longitud.

(lo he hecho antes)
En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
Fera Core

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: Hola,me gustaria saber como modificar un juego desde un archivo binario(bin,dat)
« Respuesta #9 en: 27 Abril 2016, 08:37 am »

ok gracias , disculpen por no contestar antes estaba haciendo algunas tareas, investigare boctulus, pero hay algo curioso es que en turbo c++ , puedes editarlo directamente desde el dos shell, y nesecitare instalar un xp de 32 bits.
En línea

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

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines