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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Como cambiar el tamaño de una String (Item.string)?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como cambiar el tamaño de una String (Item.string)?  (Leído 6,090 veces)
02k0

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Como cambiar el tamaño de una String (Item.string)?
« en: 22 Agosto 2015, 07:18 am »

Buenas Noche yo no hablo castellano(yo soy del Brasil).

La duda...

Cómo cambiar una String (Item.string from a delphi form Listbox) por otra más grande?

Ejemplo...

Original: "Mensagem"
Cambiada: "Mostrar Mensagem"
 
buenos yo estoy estudiando los manuales del Maestro -Ricardo Narvaja-
------------------------------------------
Portuguese version:

Boa noite amigos, eu não falo castellano(porque sou brasieliro).

Minha dúvida...
------------------------------------------
Como alterar o tamanho de uma String?
(esta string é do tipo Item.String e é de um Listbox de um "Delphi Form")
------------------------------------------
exemplo:

String original: "Mensagem"
String Modificada: "Mostrar Mensagem"

como posso fazer?

*Detalhes adicionais:

O software em questão é o "RPG Maker 2000 v1.52 Value+!" e que eu traduzir ele 100% do Japonês pra o Português
------------------------------------------

how to relocate strings?

Example:

Original: Message
Changed: Show Message

How to?
(this strings of type items.strings from a delphi form listbox)

Ollydbg? a Hex editor? Or Add Pe Bytes 0.1.1?

Please help-me ;(
« Última modificación: 22 Agosto 2015, 07:20 am por 02k0 » En línea

Lo que no fue impreso, sigue siendo escrito a la mano.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #1 en: 22 Agosto 2015, 21:50 pm »

Hola!

Viendo que estás realmente interesado en el tema, te voy a dar la secuencia de pasos que yo usaría, para lograr lo que quieres hacer. En español (sorry man, não falam Português  :P)

Vas a necesitar las siguientes herramientas:

1) El programa (RPG Maker 2000) :P
2) IDR: http://kpnc.org/idr32/en/
3) ResEdit: http://www.resedit.net/
4) Editor Hexadecimal (yo uso Hex Workshop, pero usa el que quieras).

El programa (RPG Maker 2000) que tengo, está en inglés (fue traducido por Don Miguel aka Doraemon, según el "Help"-"About" del programa).

El siguiente ejemplo será para, por ejemplo, traducir al español la opción de menú "Project"-"Create new project" y el texto "Hint" correspondiente: "Create a new game starting from scratch".

En otras palabras:

"Create new project..." ==> "Crear nuevo proyecto..." (21 chars ==> 23 chars)

"Create a new game starting from scratch" ==> "Crear un nuevo juego comenzando desde cero" (39 chars ==> 42 chars)

Como vez, la traducción ocupará más espacio, que es lo mismo que quieres lograr.

Así que, empezamos:

Cargamos el programa y miramos lo que queremos cambiar:


En IDR, buscamos en el código el lugar donde se carga el form, para saber cuál es el id del mismo (1). Vamos a la vista de forms (2), seleccionamos para ver los datos como form (3) y ubicamos el id en el listado (4).


Para ver el formulario, hacemos doble-click sobre el que hemos ubicado en el listado:


Hacemos una copia de seguridad del exe (rpg2000.exe.org es tan bueno como cualquier otro).
Abrimos el exe con ResEdit, ubicamos el recurso según el id que ya hemos visto, le hacemos "click derecho"-"Save as" y guardamos como "fmain.bin" en el mismo directorio del programa:


Abrimos el recurso exportado con nuestro editor hexadecimal (yo usaré Hex Workshop) y buscamos las cadenas a editar:


Cuando las encontramos, vemos que las mismas están guardadas de la siguiente forma:

largo = 1 byte
cadena = 1 byte * largo


Con ésto, vemos que sólo debemos editar la cadena, quitar/agregar los bytes necesarios y luego actualizar el byte de largo de la misma:


Una vez que terminamos nuestra edición, es hora de integrar los cambios en el exe.
En ResEdit, usamos F2 para copiar la información del recurso anterior:


Lo quitamos:


Y agregamos nuestro recurso:


En el diálogo de apertura, seleccionamos nuestro archivo: fmain.bin

Una vez que seleccionamos el archivo, el recurso se agrega. Lo renombramos para que quede igual que el anterior:


Luego guardamos los cambios (Ctrl+S), ejecutamos nuestro nuevo exe y verificamos que los cambios se han producido:


Y con ésto hemos logrado nuestro objetivo...  ;D ;D ;D

Saludos!

PD: Hace 3 años que hice mi último tutorial y has logrado sacarme uno hoy...  :xD :xD :xD
« Última modificación: 22 Agosto 2015, 21:56 pm por MCKSys Argentina » En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

02k0

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #2 en: 29 Agosto 2015, 01:20 am »

Bueno amigo, muito interesante tu tutorial, pero yo lo queria cambiar isto:



en el editor hexadecimal:
La color Azul = el limite de los bytes.
la color Rojo = lo que you quiero cambiar.


Como poner más bytes sin que salga un erro?

Cambiado:



Resultado una merda viva: >:D



cómo lo hago sin corromper?
 :P



Bueno, ¿Qué mágia hizo usted?

para cambiar: New Project... en: Crear nuevo proyecto... ? sin corrupt el ejecutable?

how to add more bytes in hexworkshop without corrupt the executable file?

Yo soy muy Noob! :-[

O que eu quero editar não aparece nos Editores de Recursos, apenas podem ser Visualizados/editados com um editor hexadecimal.

O programa se corrompeu:



Resultado final!



cómo insertar los bytes sin corromper el ejecutable?

MOD EDIT: DO NOT MAKE DOUBLE POST!
« Última modificación: 29 Agosto 2015, 05:52 am por MCKSys Argentina » En línea

Lo que no fue impreso, sigue siendo escrito a la mano.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #3 en: 29 Agosto 2015, 06:06 am »

Bueno, iré por partes:

Primero, veo que estás tratando de cambiar algo que no está en los recursos del ejecutable, sinó en la sección de datos del mismo.

Para cambiar el listado de eventos, vas a tener que:

1) Agregar una sección nueva al ejecutable.
2) Cargar el ejecutable el Olly.
3) Ubicar en memoria el string que quieres cambiar (en tu ejemplo, deberías ubicar "<>Mensagem:"). Una vez que lo haz hecho, busca las referencias del código a la misma (normalmente, debería haber sólo 1).
4) En la nueva sección que haz agregado, deja 2 DWORDS de espacio (1 con el valor 0xFFFFFFFF y otro para colocar el largo de la nueva string traducida) y seguido coloca el string ya modificado (en tu ejemplo, deberías colocar "<>Mostrar Mensagem:"). Actualiza el DWORD de largo al nuevo largo de la cadena (en tu ejemplo: 0x13. Recuerda que en memoria los debes colocar al revés.)
5) Una vez agregada la nueva string, modifica el código que hace referencia a la string vieja para que apunte al string agregado (ojo, debe apuntar a la dirección del primer byte del string, no al primer byte del DWORD que tiene el valor 0xFFFFFFFF).
6) Guarda los cambios en Olly y listo.

Deberás repetir los pasos 3 al 5, por cada string a modificar.

Por último, el cambio que hice en el menú: Vas a tener que leer el tutorial que hice. Básicamente, lo que hago es extraer el recurso del ejecutable, editar las strings como muestra el tutorial y reemplazar el recurso extraído por el nuevo (en realidad, borras el viejo y agregas el nuevo).

Y eso es todo. Hay partes que son más complejas, pues éste programa no fue pensado para ser traducido...  :P

Saludos!
« Última modificación: 29 Agosto 2015, 06:33 am por MCKSys Argentina » En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

02k0

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #4 en: 31 Agosto 2015, 22:05 pm »

Os passos acima são bastante complexos para mim, por acaso você não conhece alguns tutoriais que possam me ajudar nesta tarefa?  :P :P :-(

GOOGLE voz:   :D

¿Los pasos más arriba son bastante complicados para mí, usted no sabe some por tutoriais casuales que puede ayudarme en esta tarea?


por último un Pequeña duda: Sería muy complicado de color los items.stings?

Ejemplo:

La version que yo traduje:



the version that a German one translated and it used reverse engineering and he/she is selling in Steam:




gracias  :P
En línea

Lo que no fue impreso, sigue siendo escrito a la mano.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #5 en: 1 Septiembre 2015, 07:00 am »

Os passos acima são bastante complexos para mim, por acaso você não conhece alguns tutoriais que possam me ajudar nesta tarefa?  :P :P :-(

GOOGLE voz:   :D

¿Los pasos más arriba son bastante complicados para mí, usted no sabe some por tutoriais casuales que puede ayudarme en esta tarea?

No creo que exista un tutorial específico sobre el tema. La práctica es tu mejor alidado aquí.

Google translator:
Eu não acho que há um tutorial específico sobre o assunto. A prática é o seu melhor alidado aqui.



Con el tema del color de los items: En control donde agregas los items, debe soportar color. No programo en Delphi, pero seguro existe una propiedad para cambiarle el color. Dicha propiedad, deberás cambiarla en el código, de la misma forma que modificarías los strings.
No creo que exista una forma "sencilla" de hacerlo. Nuevamente, vas a tener que probar y probar hasta que te salga.

Google translator:
Com a cor do tema dos itens: In Control onde você adicionar itens, você deve apoiar cor. Não programar em Delphi, mas não há certeza de uma propriedade para alterar a cor. Tal propriedade, você deve alterar o código, da mesma forma que modificarías cordas.
Eu não acho que há uma maneira "simples" para fazê-lo. Mais uma vez, você vai ter que tentar e tentar até conseguir.



the version that a German one translated and it used reverse engineering and he/she is selling in Steam:

I guess you want to translate it to Portuguese and then sell it?
If you do that, donate!!!!  :xD :xD :xD

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

02k0

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #6 en: 1 Septiembre 2015, 22:32 pm »

La voz del GOOGLE:  :D

No no ... lo tienes mal!
No estoy traduciendo este software para venderlo, decidí traducirlo para distribuir gratis en las comunidades de "RPG Maker" que participo  :¬¬....

1.http://www.condadobraveheart.com/forum/
2.http://centrorpg.com/

Tuve la idea de cambiar el color de items.strings, después de ver el anuncio en Steam.


aca: http://store.steampowered.com/app/362870

esta captura de pantalla es el RPG Maker 2003 (Lo compré  ::)).



El programador utilizado ingeniería inversa (debido a que el código fuente del programa se pierde con el tiempo)

http://s2.postimg.org/gfm9sdcrd/assd.png

Más bien yo sólo quería aclarar este malentendido  ;D


Continuando....

Para cambiar el listado de eventos, vas a tener que:

1) Agregar una sección nueva al ejecutable.
2) Cargar el ejecutable el Olly.
3) Ubicar en memoria el string que quieres cambiar (en tu ejemplo, deberías ubicar "<>Mensagem:"). Una vez que lo haz hecho, busca las referencias del código a la misma (normalmente, debería haber sólo 1).
4) En la nueva sección que haz agregado, deja 2 DWORDS de espacio (1 con el valor 0xFFFFFFFF y otro para colocar el largo de la nueva string traducida) y seguido coloca el string ya modificado (en tu ejemplo, deberías colocar "<>Mostrar Mensagem:"). Actualiza el DWORD de largo al nuevo largo de la cadena (en tu ejemplo: 0x13. Recuerda que en memoria los debes colocar al revés.)
5) Una vez agregada la nueva string, modifica el código que hace referencia a la string vieja para que apunte al string agregado (ojo, debe apuntar a la dirección del primer byte del string, no al primer byte del DWORD que tiene el valor 0xFFFFFFFF).
6) Guarda los cambios en Olly y listo.

Deberás repetir los pasos 3 al 5, por cada string a modificar.



1. el ADD Pe Bytes(By Karmany) me ayudaria?
2.Esto lo sé!  :P
3.Cómo lo hago esto?
4.¿cómo puedo hacer esto? ¿hay algún manual?
5.¿Qué debo estudiar para hacer esto?
6.No es complicado.
8.puedes explicarme a servir a estas opciones?...  :P



 :D
« Última modificación: 1 Septiembre 2015, 23:25 pm por 02k0 » En línea

Lo que no fue impreso, sigue siendo escrito a la mano.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #7 en: 2 Septiembre 2015, 05:27 am »

No estoy traduciendo este software para venderlo, decidí traducirlo para distribuir gratis en las comunidades de "RPG Maker" que participo  :¬¬....

OK. Entiendo.


1. el ADD Pe Bytes(By Karmany) me ayudaria?
2.Esto lo sé!  :P
3.Cómo lo hago esto?
4.¿cómo puedo hacer esto? ¿hay algún manual?
5.¿Qué debo estudiar para hacer esto?
6.No es complicado.

3. Hacer eso es muy básico. Tendrás que hacer el curso de Ricardo Narvaja (en portugués) para aprender cómo hacerlo.
4. Si hay un manual: el curso de Ricardo Narvaja.
5. Debes estudiar el curso de Ricardo Narvaja.

8.puedes explicarme a servir a estas opciones?...  :P[/b][/size][/color]



Si vas a usar una herramienta, asegúrate de saber cómo se usa la misma. Normalmente viene con un archivo de ayuda adjunto o un tutorial.
También puedes buscar en la web de Ricardo Narvaja, si hay algún tutorial que explique su uso.

Creo que vas a tener que estudiar más, antes de seguir con éste tema.

Una cosa es hacer preguntas concretas, lo cual está muy bien; pero otra cosa es hacer preguntas acerca de todo (aún cuando se te dan instrucciones sencillas).

Por lo pronto, seguiré respondiéndote a preguntas que tengan un "cierto nivel". No a cosas que aprenderías haciendo el curso de Ricardo.

Lo anterior es sólo por mi cuenta, si hay alguien más dispuesto a ayudarte en estos temas sencillos, bienvenido.

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #8 en: 2 Septiembre 2015, 07:57 am »

Todo bom, vc ta com boa sorte, eu sei falar português, mais eu escrevo muito ruim, em fim o que vc tem que façer é adicionar um novo segmento ao ejecutable, para isso eu te recomendo usar a ferramenta Topo que você pode baixar no neste site:

http://ricardonarvaja.info/WEB/buscador.php

Procura pelo nome de "TOPO", com aquela ferramenta você tem que apertar a opção de adicionar um novo segmento (EM NIUM CASO VC DEBE ADICIONAR COM CERTOS BYTES UM SEGMENTE EXISTENTE) em fim com isso y de forma automática crear o novo segmento, para olear si vc teve êxito, so debe abrir o novo .exe com OllyDbg e depois apertar Alt+M

O nome do segmento é .topo0

boa sorte cara, me disculpa pela tardança mais eu nao tenho tanto tempo y so posso te ajudar como pequenas coisas

vai com deus
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
02k0

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: Como cambiar el tamaño de una String (Item.string)?
« Respuesta #9 en: 3 Septiembre 2015, 20:11 pm »

Citar
Si vas a usar una herramienta, asegúrate de saber cómo se usa la misma. Normalmente viene con un archivo de ayuda adjunto o un tutorial.
También puedes buscar en la web de Ricardo Narvaja, si hay algún tutorial que explique su uso.

Creo que vas a tener que estudiar más, antes de seguir con éste tema.

Una cosa es hacer preguntas concretas, lo cual está muy bien; pero otra cosa es hacer preguntas acerca de todo (aún cuando se te dan instrucciones sencillas).

Por lo pronto, seguiré respondiéndote a preguntas que tengan un "cierto nivel". No a cosas que aprenderías haciendo el curso de Ricardo.

Lo anterior es sólo por mi cuenta, si hay alguien más dispuesto a ayudarte en estos temas sencillos, bienvenido.

Saludos!

Bueno lo pregute a ustede por que el Add Pe Bytes no tiene el manual, por qué el Karmany dije que el era muy fácil de usarlo. pero lo sé que you debo estudiar más e és lo que estoy haciendo.
Bueno de qualquier modo yo estoy a Aprender mucho con ustede.  ;-)
Gracias hermano...
::)

Citar
"Todo bom, vc ta com boa sorte, eu sei falar português, mais eu escrevo muito ruim,"

Quanto ao seu português... não é perfeito, mais dá pra entender perfeitamente :P.


 :laugh: Bom saber que você fala português!!! ;-)
Eu só tenho uma pequena dúvida...
Quantos bytes eu debo adicionar no novo segmento? existe algum limite que eu debo respeitar?

 :huh:

 :D Outra dúvida...

E depois que eu adicionar outro segmento no executável, o que eu faço para usar?
como se usa os segmentos no ollybbg?

Obs: Eu estou estudando a "Introdución al cracking Desde Cero by Ricardo Narvaja"



Saludos!
En línea

Lo que no fue impreso, sigue siendo escrito a la mano.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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