Autor
|
Tema: DUDA: Traducir un juego (Leído 5,012 veces)
|
Hakkimen
Desconectado
Mensajes: 8
Aprendiz de Front-end dev
|
Buenas, he paseado un rato por este foro y debo admitir que es uno de los más completos y activos que he visto desde hace mucho tiempo en la internet. Mis felicitaciones, no es fácil mantener una comunidad hoy día y menos en referente a programación. Dicho esto, procedo con la duda. Durante mi período de estudio en la U. me quise tomar un descanso de mi carrera, pero sin olvidar conceptos básicos de la misma, (que soy de ese tipo de personas que le dan 2 semanas de vacaciones y hace un reset cerebral a todo lo aprendido en tiempo anterior) así que decidí empezar a jugar Simuladores de Economía. Entre tanto buscar, encontré uno que simplemente me encantó: Capitalism 2 Como su nombre indica, está en inglés, y las traducciones que he buscado son ultra mediocres, por tanto intenté traducir yo mismo el juego. Pasa que cuando intenté hacerlo como lo hacía con otros juegos me encontré con esta joya: En mi vida había visto algo similar, así que recurro a ustedes para saber qué ayuda podéis proporcionarme, pues el juego me gusta muchísimo, y es una joya en cuanto a simuladores de economía. Este juego me impulsó a querer traducirlo, así tarde 100 años. Éste juego los merece. Saludos, y muchísimas gracias de ante mano a cualquier ayuda que puedan prestarme!! * Edito: Cabe resaltar que no tengo mucha experiencia -por no decir casi ninguna- en programación, así que cualquier tutorial que puedan facilitarme se los agradeceré eternamente
|
|
« Última modificación: 31 Diciembre 2016, 03:36 am por Hakkimen »
|
En línea
|
|
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
No tengo idea que tipo de juego es, pero depende de como este hecho hay varias posibilidades: 1)abrir el exe con un editor hexadecimal(tipo ultraedit o winhex) y buscar las cadenas 2) abrir el exe con un editor de recursos(tipo resource hacker o exescope) y buscar las cadenas 3)usar ollydgb y buscar las direcciones de las cadenas a modificar 4) aveces las cadenas no están en el exe sino en algún archivo de recursos(dll,ocx,etc) 5)otras veces simplemente no se ven las cadenas por estar protegido o las cadenas se dibujan sin estar como recursos
|
|
|
En línea
|
|
|
|
Hakkimen
Desconectado
Mensajes: 8
Aprendiz de Front-end dev
|
Vale, gracias por responder!! Pero sigo con la misma interrogante. Hay algunos archivos que son medianamente legibles para mí como esto: y luego están estas cosas que para mí están escritas en mandarín, pues ni sé qué es: Me descargué el block de notas ++ y no sé qué hacer o cómo traducir
|
|
|
En línea
|
|
|
|
apuromafo CLS
|
en resumen lo que te comenta tinconpasan es lo mas indicado:
1)abrir el exe con un editor hexadecimal(tipo ultraedit o winhex) y buscar las cadenas
esto implica buscar la string,pero requiere que el tamaño sea el indicado, si te pasas requerirás modificar desde el lenguaje del programa
2)2) abrir el exe con un editor de recursos(tipo resource hacker o exescope) y buscar las cadenas puedes modificar el programa con recursos, pero dependerá si no está comprimido
3)usar ollydgb y buscar las direcciones de las cadenas a modificar casi todos los programas de 86bytes pueden ser depurados con ollydbg, lo cual debes buscar las referencias, modificar y guardar los cambios, y saber bien si son carácteres Unicode y ascii
4)4) aveces las cadenas no están en el exe sino en algún archivo de recursos(dll,ocx,etc)
en este caso es necesario encontrar el formato el cual tambien trabaja con el tema de editor hexadecimal, se suele usar herramientas codeadas de forma personal o bien inclusive editores como 010 editor
5)otras veces simplemente no se ven las cadenas por estar protegido o las cadenas se dibujan sin estar como recursos
en este caso muchas veces hay imagenes, solo es tema de reemplazar y cambiar..dependiendo del lenguaje que estén
si te gusta saber como es una realidad , realmente es mucho mas facil que aprendas inglés a que traducir sin saber como funciona un programa sin conocimiento...te sugiero leer el faq del sitio (de foro el hacker sección de ing.inversa)
ahora bien pensando cuando termines de leer el faq, como algo mas específico
entiendo la necesidad de aprender a traducir programas, pero no seria mas facil aprender el lenguaje inglés para no tener que tocar el tema?bueno entiendo que quieres traducirlo si o si
los enlaces de taringa estan vivos, por lo que veo que no quieres bajar algo traducido y verificar que han hecho, si modificaron los recursos, si modificaron un exe, o bien si solo cambiaron algunos archivos...
1) los programas no son textos, tienen un formato desde pe/header configurado por windows, todo depende del sistema operativo, una vez que lees el faq y depuras programas comprenderás que lo más rapido para ver como esta hecho un programa es con un editor hexadecimal, dado que no confundiran los espacios ni simbolos raros..todo tendrá con su formato hexadecimal, por otro lado..aunque sepas donde modificar (cambiar por ejemplo mode por modo) hay palabras mas breves o abreviadas que requerirán otro esfuerzo mayor ejemplo "die" se traduce en morir, deceso etc, entonces podemos decir que si modificas hexadecimalmente tendras 3 valores en vez de las 5 que necesitas, para ello pueden usar un editor de recursos y verás que hay cadenas asociadas
el recurso ejemplo 1 tiene direcciones 4010 que dice "die",3 , puedes modificar por "morir",5 haciendo una traduccion mas o menos de alcance, el tema es que cualquier editor de recurso requiere que el programa no esté empacado/protegido
entonces para ello volvemos al mismo discurso, como se puede saber que está o no protegido?, con un programa que analiza el pe/header para verificar si tiene alguna signatura conocida de packer, para esto usan rdg detector o PID, luego de ello si tiene algo conocido ,basta leer del tema para saber que hacer
ahora bien, pensamos que leiste el faq, practicaste reversing a nivel inicial, sabrás usar un depurador y usar el lenguaje assembler a nivel básico que sabras cambiar aunque sea una instruccion jne a je o jmp a nop entre otras
te darás cuenta que en un depurador puedes manipular cualquier direccion, puedes crear a gusto, y dependerás de nuevas herramientas ( editores que permitan agregar secciones) entre otras
entonces luego puedes mirar básicamente que una string que dice die realmente es algo asi
push 425055 "die"
puedes en tu codigo colocar una string llamada morir y luego eso está en 481055
cambias la instruccion de Push 425055 a push 481055 y listo , guardas los cambios y estás listo...
pero si el programa está empacado, no guardará los cambios dado que estás en runtime, puedes usar herramientas para usar parches/inline y tambien lograr el resultado esperado
esto está al nivel de cualquier persona, cuando te lo propones, el tema real es que no todos disponemos del mismo tiempo e interés
modificar un archivo con notepad ++ es como mirar un documento de zip con un block de notas y no con winzip/winrar/7zip, algo ilegible cuando no usas su "formato " en que fue creado o que se usará
saludos Cordiales Apuromafo
|
|
|
En línea
|
Apuromafo
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
una duda con el juego GTA 3
Juegos y Consolas
|
M-a-t-d
|
0
|
1,766
|
1 Noviembre 2004, 00:53 am
por M-a-t-d
|
|
|
Duda al crear juego
Programación Visual Basic
|
kakinets
|
5
|
2,534
|
19 Enero 2006, 05:26 am
por Grimble Grumble
|
|
|
[duda]Traducir un programa
Software
|
martinssj4
|
2
|
2,434
|
23 Febrero 2011, 17:11 pm
por martinssj4
|
|
|
[duda] Sobre un juego online de juego flash
Juegos y Consolas
|
Senior++
|
6
|
6,317
|
28 Junio 2011, 08:49 am
por тαптяα
|
|
|
duda con juego en lan
Redes
|
elezekiel
|
2
|
2,029
|
11 Agosto 2014, 08:54 am
por elezekiel
|
|