martes, 5 de enero de 2021

Ojamajo Doremi 16 - Capítulo 1, parte 1

 


 


DESCARGO DE RESPOSABILIDAD: La obra aquí traducida sigue siendo propiedad de su propietario legal original. Está aquí traducida sin ánimo de lucro con el único propósito de hacerlo llegar a personas de habla hispana que no entienden su idioma original. Si en algún momento llegase a ser licenciada por cualquier empresa de habla hispana, por favor, deja de compartirla. Si deseas enviarme algún comentario puedes hacerlo en nvska1989@gmail.com


 


Capítulo 1: Primavera en plena floración

 

Cabalgando sobre la suave brisa, un solitario pétalo de flor de cerezo revoloteó en mi habitación y aterrizó en mi hombro izquierdo.

Debe haber  volado desde el cerezo, que estaba mudando ahora en el patio del vecino. Seguramente.

Realmente es un sentimiento genial.

- ¡No hay tiempo para esto ahora!

Regañando a mi reflejo en el espejo, contemplé mi pelo “odango” (1), del cual solo un lado estaba arreglado y suspiré.

Ah, no es pelo “odango”.

Mi peinado se llama moño. ¿Lo sabías?

“Y yo solía ser capaz de hacérmelo en sólo cinco minutos cuando estaba en el colegio de primaria…”

Me quejé a mí misma, pero mi rostro aún se iluminaba con una sonrisa.

Hoy, podría encontrarme con toda la gente del Colegio de Primaria de Misora. Simplemente eso era capaz de hacerme feliz.

Sí, todos los graduados de sexto curso de la clase 1 y 2 del Colegio de Primaria de Misora se juntarían hoy para una reunión.

Ah, pero esto no servirá.

Puede que algunas personas hayan estado leyendo esto hasta aquí, pero no me conozcan, ¿verdad?

 

1: El pelo Odango se refiere a un tipo específico de peinado que se ata en bolas que se asemejan a  bolas redondas de masa hervida. Otro personaje famoso con este peinado es Tsukino Usagi de Sailor Moon.

Simplemente haré una auto presentación. Oh, aquellos que ya conozcan todo esto pueden saltarse esta parte.

Saludos, encantada de conoceros. ¡Soy Doremi Harukaze!

El mes pasado, me gradué en el Instituto municipal de educación secundaria de Misora con maravillosos resultados, y fui aceptada en el Instituto de bachillerato de la prefectura de Misora. ¡Soy la bishoujo(2) de 15 años más feliz del mundo! 

Y a pesar de que soy una estudiante normal de bachillerato ahora, solía ser algo llamado “aprendiz de bruja”.

Una “aprendiz de bruja” es alguien que se somete a una formación para convertirse en una bruja.

En cuanto a cómo me convertí en “aprendiz de bruja”, ocurrió cuando me topé con el MAHO-do, una tienda que vendía productos mágicos, durante mi tercer año de colegio de primaria. Allí, expuse a la dueña, Rika-san Makihatayama o Majorika, como una bruja.

A causa de eso, Majorika se convirtió en una “bruja-rana”, un tipo de criatura misteriosa que recuerda, pero que no es, a una rana o a un insecto.

Y de acuerdo con la "maldición de la bruja-rana" impuesta  por la Reina del mundo de las brujas hace dos reinados, el humano que expone a la bruja como tal se convertirá en una "aprendiz de bruja". A continuación deberá realizar los exámenes de aprendiz, empezando desde el nivel 9 y aprobando hasta el nivel más alto, el 1, para romper la maldición. Si no es capaz de convertirse en una bruja completa, la maldición no puede romperse.

 

2: chica bonita

 

 

 

Pasaron cosas, y yo obtuve el derecho a convertirme en aprendiz para devolverle a Majorika su forma original. Aun así, después de discutirlo con mis mejores amigas y compañeras aprendices Hazuki-chan Fujiwara, Aiko-chan Senoo, Onpu-chan Segawa, Momoko-chan Asuka y mi hermana pequeña Pop-chan, decidimos no convertirnos en brujas completas.

Teníamos razones para elegir no convertirnos en brujas, que poseen poderes mágicos completos. En cuanto a eso…

- “¡Doremi! ¿¡Qué estás haciendo!? ¡Si no te das prisa, llegarás tarde a la reunión!”

La fuerte voz de mamá llegó desde abajo. En estado de shock, eché un vistazo a mi reloj-alarma. Eran las 10:40 am.

Oh no~, ¡la reunión comienza a las 11!

Me enfrenté de nuevo al espejo y comencé a hacer mi otro moño.

Otra sonrisa apareció en mi rostro.

Espero ver a todo el mundo pronto.

Había muchos a los que no había visto desde la ceremonia de graduación. Había varios que habían ido a institutos de secundaria distintos, y otros que se habían mudado totalmente fuera de la ciudad de Misora.

También, mi mejor amiga Hazuki-chan, que había sido aceptada en la Academia Femenina Karen y yo, fuimos a institutos de secundaria diferentes. Sin embargo, nos encontrábamos cada sábado en la casa de la otra o en la biblioteca, por lo que la veo bastante.

Ai-chan regresó a Osaka y, el año pasado, vino en una excursión escolar con su instituto de secundaria a Shikoku. A pesar de que su abuelo estaba enfermo por aquel entonces, ella vino a la estación de Shin-Osaka y pudimos reunirnos.

Después de eso, la familia de Ai-chan comenzó a cuidar de su abuelo, y creo que desde entonces ya se habrá ido de viaje al cielo.

Fue un momento con un destino inevitable, y la familia completa fue capaz de permanecer unida gracias a los esfuerzo de Ai-chan, pero él murió en menos de dos años. Realmente no entiendo la vida.

Sin embargo, Ai-chan dijo que:

“Ha estado muy tranquilo, y se le ve muy bien últimamente”

Por eso, su madre lo cuidó hasta el final, cumpliendo con su deber familiar y para que no se sintiesen demasiado deprimidos con su muerte.

Por supuesto, no he visto a Momo-chan, que se marchó a Nueva York hace ya casi 3 años. Sin embargo, nos enviamos correos una vez cada dos días.

Es una lástima que no venga hoy.

Y con respecto a Onpu-chan Segawa… Hemos mantenido el contacto hasta hace medio año, pero cuando comenzó el nuevo año, de algún modo lo perdimos. La última vez que nos encontramos en persona fue hace un año también.

 

3: Shikoku es la más pequeña y menos poblada de las cuatro islas principales de Japón, ubicada al sur de Honshu y al este de la isla de Kyushu.

lunes, 25 de abril de 2016



Primera parte - la fuerza bruta

Etapa preparatoria - nuestro primer intento donde tratamos de atacar a fuerza bruta un escenario.

NV hacking: Este es un tema muy interesante y amplio, sobretodo por esos rompecabezas que a veces hacen trabajar mucho a nuestro cerebro :) Trataré de mostrarte las bases de la Ingeniería Inversa y  el hacking en general en este capítulo.

El intérprete de script de prueba está aquí. Descárgalo ahora pero trata de no mirar el código fuente todavía :)

Lo que necesitamos ahora es un editor hexadecimal. Si no tienes ninguno te sugiero el 010 editor (la versión trial vale por ahora) - hace tiempo usaba WinHex pero es pésimo cuando trabaja en la configuración japonesa - casi se hacía inservible. Probé esta herramienta y resultó ser bastante buena.

Así que, comencemos.

¿Ves runme.dat en el directorio de Scenario Runner? Eso es un "escenario" que funciona. Abre el EXE. El escenario es simple, así como el propio intérprete - genera una cadena, después te hace una pregunta y dependiendo de tu respuesta volverá a hacer la misma pregunta o emitirá un mensaje y saldrá.

Tu trabajo consiste en cambiar las cadenas que muestra - eso es lo que hacemos cuando tenemos que traducir un juego, por ejemplo.

Para comenzar usaremos la fuerza bruta: Abre runme.dat en un editor hexadecimal. Puedes ver claramente algunas cadenas como "Make me laugh!" y otras. ¿Qué tal si cambiamos una de ellas?

Edita la primera cadena  - Yo puse "Do not cry..." - en este caso tenemos una "!" extra a la izquierda de la anterior cadena - bórrala. El archivo tendrá 1 byte menos.

Cuando editas con un editor hexadecimal hay dos áreas donde puedes hacerlo - a la izquierda debes introducir valores hexadecimales (0-9, a-f) mientras que a la derecha puedes introducir letras y otros símbolos normalmente. Dado que necesitamos introducir una cadena "humana" es más conveniente que lo hagamos en el lado derecho.
De todos modos, puedes alternar entre los dos lados  pulsando Tab.
También, fíjate en que hay dos maneras - sobrescribir e insertar. Puedes cambiar de uno a otro como sueles hacerlo en los editores de texto normales - pulsando la tecla Insert.


Abre el exe. Oh oh,  tenemos una excepción y también vemos que han salido algunos "☺" - aunque es importante ser positivo no es exactamente lo que esperábamos ver :)

Probablemente olvidamos actualizar algo, por ejemplo, la longitud de una cadena.  Naturalmente, la aplicación debe saber cuan larga es la cadena. ¿Cómo podrá saberlo?

Recordemos algo sobre dos tipos generales de cadenas - Estilo-C y estilo-Pascal. Como sabrás, el estilo-C no tiene ningún campo de longitud, la longitud es determinada en tiempo de ejecución mediante la búsqueda de un caracter con código #0: 32 33 34 00. El estilo-Pascal no utiliza caracteres nulos, más bien incluye la longitud de la cadena antes de la cadena actual, lo que hace que  la cadena sea procesada más rápido (a costa de tener un campo de longitud adicional, pero es un coste muy bajo) :
03 00 32 33 34. Normalmente, este campo es de 2 (palabra) o de 4(doble palabra) bytes de longitud.

Necesitamos mirar todo para encontrar dónde está el problema. ¿Puedes hacerlo por ti mismo? :)

----------------------------

Esto es lo que tenemos : 0E 00 44 6F 20 6E 6F 74 20 63 72 79 2E 2E 2E.

Esos bytes 0E 00 parecen ser la longitud de la cadena, ¿verdad? Tenemos que hacer una rápida conversión para comprobar esta suposición: presiona F11 (Tools | Converter Base) e introduce 0E en el campo hex - es 14 en notación decimal. Normalmente, también puedes hacer esto mediante el establecimiento de un puntero antes de 0E y mirándolo con el Inspector bajo Unsigned Short.
Si estás usando un editor hexadecimal diferente u otra cosa que te impida usar una herramienta de conversión de notación de escritorio, puedes usar una base de conversión online como esta en i-tools.org.

Una rápida introducción sobre cómo los números se almacenan en la memoria y otros lugares.
Algo que me pareció confuso sobre ellos al principio es que están almacenados en orden contrario, ejemplo, si tenemos un número de 2 bytes y es 255 aparecerá como FF 00 en la representación de máquina, no como 00FF como escribimos. De hecho, esto es llamado little-endian u orden de bytes Intel y también hay un orden de bytes big-endian, que se mostrará como nuestra notación normal, es decir, como 00 FF.
De todos modos, el orden de bytes Intel es el más ampliamente utilizado (un sitio que conozco  que usa  big-endian son las transmisiones de red de área).

Por cierto, antes de hacer nada  con tu proyecto asegúrate de respaldar los archivos originales por si acaso los estropeas demasiado - siempre es un buen hábito que adquirir.

Actualiza la longitud y ejecuta el script. ¡Wow, es genial, tenemos un script funcional! ¡Hurra!
...Bueno, no exactamente después de investigar un poco - el script funciona correctamente cuando se escoge la segunda opción - si no es así, se crasheará. Dice que el bytecode está corrupto...

Ahora te dejo que explores el script con el editor hexadecimal por ti mismo para que intentes encontrar donde está el problema. Cuando hayas usado todas tus deducciones, pasa a la parte más fascinante - ¡la depuración o debugging! :D

miércoles, 23 de marzo de 2016

Pronto estaré de vuelta

Bueno, han pasado casi tres años desde la última entrada que hice en este blog. Por motivos de estudios, personales y demás lo he ido aparcando, pero más que nada, ha sido por desgana en general de seguir con ninguno de mis proyectos de traducción. Ahora que más o menos estoy motivada, regresaré pronto con cositas traducidas de la guía aquella que comentaba en mi otra entrada, por si a alguien le pueden servir de ayuda.
Sin más que decir, me despido ya hasta la próxima entrada :)

jueves, 2 de mayo de 2013

Después de más de un mes de parón con la tradu y eso, tengo que decir que tardará aún un poco más, hasta junio sigo liada con los exámenes. De todos modos informar también de que encontré un tutorial muy completo para aprender a traducir novelas visuales, pero está en inglés. He comenzado a traducirlo porque me consume mucho menos tiempo que estar jugando a Clannad para buscar los textos en inglés. Mandé un link al chico que lo escribió y me ha dado su visto bueno para publicarlo aquí, así que cuando esté lo iré publicando por si alguien se anima a intentar sacar algún proyecto de traducción, que la verdad es que no veo a mucha gente metida en esto por desgracia:S
Dejo un link al tutorial original (en inglés), por si alguien le quiere echar un vistazo.

http://proger.i-forge.net/Stage_Once_-_a_Visual_Novel_hacking_tutorial/IPD