Cita de: ctlon en Ayer a las 03:39
tampoco desanimes al chaval , mueve las cadenas de sitio y punto. una cadena tiene una direccion fija, pues tu buscas un espacio para escribir pones ahi lo que necesites y cambias la direccion por la nueva.
Bueno, si no es mucha mestia, me podrias explicar como se hace eso ????
eso se hace para crackear y aparentar estar registrado, etc, es decir para poca cosa, pero para traducir todo un programa es un trabajo de monos, que quizas no valga la pena, seguro que para cuando termines ya han sacado una versión mejor del programa.
Pero te digo mas o menos como se hace con el ollydbg, con el menu desplegable search for all referenced text strings, buscas las cadenas de texto, te fijas en la direccion de memoria donde se encuentra, tambien te fijas en la direccion de memoria donde el programa hace la llamada a la direccion donde esta el texto original, entonces buscas un sitio libre dentro del codigo, donde escribir la nueva cadena traducida, anotas en la direcion offset que empieza, y en el lugar donde se llama a la cadena original le cambias la direcion indicando la de donde se encuentra la nueva cadena, asi llamara siempre a la nueva cadena en vez de la vieja.
Esto a veces tiene un problema añadido, que es que en un programa compilado eficientemente, existen pocos lugares vacios donde escribir muchas cadenas largas. Aunque tambien se pueden hacer injertos de nuevas secciones, pero ya todo esto no es tan facil como con los editores de recursos (mejor es simplificar el texto original para no salirte del espacio original).
Tambien hay veces que con los editores de recursos te dejan insertar nuevos controles de texto dentro de los formularios, para escribir el texto que te falte en la traducción.