SlideShare una empresa de Scribd logo
Ingeniería Inversa del Software
- Parte III -
Modificación de textos en programas (Editores hexadecimales
y de recursos)
Tradicionalmente, cuando se ha pretendido modificar un texto que se pueda ver en
un programa compilado, se ha utilizado un editor hexadecimal. Últimamente, no
obstante, se han puesto muy de moda los editores de recursos que hacen mucho más
sencillo e intuitivo este acto. No obstante, los editores hexadecimales siguen siendo
mucho más eficaces y no son tan complicados como pueda parecer a simple vista.
El editor hexadecimal es un tipo especial de editor que puede mostrar y modificar
cualquier tipo de carácter, incluso los especiales. Esto lo consigue manejando los
códigos hexadecimales en vez de los ASCII, aunque estos también son mostrados
cuando no son especiales en otra ventana aparte que sirve de referencia. Gracias a esta
característica se puede editar cualquier fichero, incluso ejecutables, sin perder ningún
carácter.
El editor de recursos es otro tipo de editor que solo muestra las cadenas de texto
estáticas que se han definido en tiempo de programación, ocultando de esta manera el
resto de caracteres hexadecimales.
El problema de los editores de recursos es que muchas veces son incapaces de editar
un programa que podría editarse hexadecimalmente. Esto es habitual cuando el
programa contiene pantallas con caracteres en algún lenguaje que no está instalado en el
ordenador, como por ejemplo el chino, japonés, árabe, etc.
La barrera que no puede saltarse ninguno de estos programas (de momento) es la
encriptación. Por tanto, nosotros como programadores que sabemos esto, deberemos
encriptar siempre la información importante contenida en nuestro software. Como
vamos a ver a continuación, es muy fácil cambiar el nombre del creador del programa,
su dirección de email o cualquier otro dato que se pueda proporcionar para cobrar por el
uso del software completo.
Veamos como podría hacerse esto con un editor hexadecimal como el WinHex y con
un editor de recursos como el Resource Hacker:
1. Se abre con el editor el programa (.exe) o la librería (.dll) correspondiente.
2. Se busca el texto que se quiera modificar.
3. Modificar el texto deseado, respetando siempre la longitud de la cadena de
texto original si se hace con editor hexadecimal. Se puede escribir un texto
más corto y rellenar con espacios, pero no se puede sobrepasar el texto
original porque estaríamos sobrescribiendo el código del programa y dejaría
de funcionar correctamente. Como los editores de recursos regeneran el
código para acomodar las nuevas cadenas, esta consideración no es necesaria
si se usa uno de esos programas.
4. Salvar el archivo modificado.
Al ejecutar el programa se puede observar se puede observar el resultado:
A la vista está que no es nada complicado conseguir “retocar” el texto de un
programa si éste no está oculto mediante encriptación, por lo que ésta debe de ser una
de nuestras herramientas esenciales de programación. No cuesta nada encriptar los
textos importantes de la aplicación y nos protege eficazmente contra cualquier ataque de
este tipo.
Jöx€@n Nieto

Más contenido relacionado

La actualidad más candente

Practico 1 taller de software cat.pdf
Practico 1 taller de software cat.pdfPractico 1 taller de software cat.pdf
Practico 1 taller de software cat.pdf
Yuri Salazar
 
Presentación 4ºESO
Presentación 4ºESOPresentación 4ºESO
Presentación 4ºESO
enriquecristian
 
Actividad de Aprendizaje 1
Actividad de Aprendizaje 1Actividad de Aprendizaje 1
Actividad de Aprendizaje 1
Weymar Michell Montero Duarte
 
Software libre
Software libreSoftware libre
Software libre
guest877d93
 
Software para la edición de texto
Software para la edición de textoSoftware para la edición de texto
Software para la edición de texto
Jessire Toro
 
Comandos basicos
Comandos basicosComandos basicos
Comandos basicos
miguelangelreyesrobles
 
Actividad de aprendizaje 1 (1)
Actividad de aprendizaje 1 (1)Actividad de aprendizaje 1 (1)
Actividad de aprendizaje 1 (1)
ley2199
 
Lenguaje demarcaslatex
Lenguaje demarcaslatexLenguaje demarcaslatex
Lenguaje demarcaslatex
Cursando Desarrollo Web
 
Presentación
PresentaciónPresentación
Presentación
CramenSan
 
Programa 12
Programa 12Programa 12
Programa 12
Alexis Rocha
 
Ramon caña
Ramon cañaRamon caña
Ramon caña
Ramon Caña
 
Colegio particular
Colegio particularColegio particular
Colegio particular
sebastatiguadalupe
 
Emelyn
EmelynEmelyn
Emelyn
Emelin21
 
Código HTML
Código HTML Código HTML
Código HTML
Dominik Rivera
 
Tarea3 tema0 zaira lorenzo pérez
Tarea3 tema0  zaira lorenzo pérezTarea3 tema0  zaira lorenzo pérez
Tarea3 tema0 zaira lorenzo pérez
zaira13
 

La actualidad más candente (15)

Practico 1 taller de software cat.pdf
Practico 1 taller de software cat.pdfPractico 1 taller de software cat.pdf
Practico 1 taller de software cat.pdf
 
Presentación 4ºESO
Presentación 4ºESOPresentación 4ºESO
Presentación 4ºESO
 
Actividad de Aprendizaje 1
Actividad de Aprendizaje 1Actividad de Aprendizaje 1
Actividad de Aprendizaje 1
 
Software libre
Software libreSoftware libre
Software libre
 
Software para la edición de texto
Software para la edición de textoSoftware para la edición de texto
Software para la edición de texto
 
Comandos basicos
Comandos basicosComandos basicos
Comandos basicos
 
Actividad de aprendizaje 1 (1)
Actividad de aprendizaje 1 (1)Actividad de aprendizaje 1 (1)
Actividad de aprendizaje 1 (1)
 
Lenguaje demarcaslatex
Lenguaje demarcaslatexLenguaje demarcaslatex
Lenguaje demarcaslatex
 
Presentación
PresentaciónPresentación
Presentación
 
Programa 12
Programa 12Programa 12
Programa 12
 
Ramon caña
Ramon cañaRamon caña
Ramon caña
 
Colegio particular
Colegio particularColegio particular
Colegio particular
 
Emelyn
EmelynEmelyn
Emelyn
 
Código HTML
Código HTML Código HTML
Código HTML
 
Tarea3 tema0 zaira lorenzo pérez
Tarea3 tema0  zaira lorenzo pérezTarea3 tema0  zaira lorenzo pérez
Tarea3 tema0 zaira lorenzo pérez
 

Similar a Ingenieria inversa del software (iv)

Software de programacion
Software de programacionSoftware de programacion
Software de programacion
JUANCARLOSSOSA
 
Clase 3 Editores para Programación Web
Clase 3 Editores para Programación WebClase 3 Editores para Programación Web
Clase 3 Editores para Programación Web
José Ricardo Tillero Giménez
 
Editor de páginas web
Editor de páginas webEditor de páginas web
Editor de páginas web
centro educativo
 
OAs editores
OAs editoresOAs editores
OAs editores
egshare
 
Software para la edición de texto
Software para la edición de textoSoftware para la edición de texto
Software para la edición de texto
Jhoanjose1
 
software editor de texto
 software editor de texto software editor de texto
software editor de texto
zoraida camero
 
Colegio particular
Colegio particularColegio particular
Colegio particular
sebastatiguadalupe
 
ADA 1
ADA 1ADA 1
Editores de texto
Editores de textoEditores de texto
Editores de texto
Abello Andrex
 
Editor y prosesador de texto
Editor y prosesador de textoEditor y prosesador de texto
Editor y prosesador de texto
SharJulLove
 
Editor y prosesador de texto
Editor y prosesador de textoEditor y prosesador de texto
Editor y prosesador de texto
SharJulLove
 
Adriana dominguez
Adriana dominguezAdriana dominguez
Adriana dominguez
zulmaarzuzarada
 
Software para edición de texto
Software para edición de textoSoftware para edición de texto
Software para edición de texto
Roraima Carolina Cuare Arquiades
 
Editores de texto
Editores de textoEditores de texto
Editores de texto
Juanes Morales
 
ADA # 1
ADA # 1ADA # 1
ADA # 1
ADA # 1ADA # 1
Arquitectura de los computadores
Arquitectura de los computadoresArquitectura de los computadores
Arquitectura de los computadores
maryuri yineth pinto gamboa
 
Mireya tiguila
Mireya tiguilaMireya tiguila
Mireya tiguila
mrmike021
 
Lenguaje c nardy y daniela
Lenguaje c nardy y danielaLenguaje c nardy y daniela
Lenguaje c nardy y daniela
nardy daniela araque peña
 
Programando en html
Programando en htmlProgramando en html
Programando en html
AngelicaBanales
 

Similar a Ingenieria inversa del software (iv) (20)

Software de programacion
Software de programacionSoftware de programacion
Software de programacion
 
Clase 3 Editores para Programación Web
Clase 3 Editores para Programación WebClase 3 Editores para Programación Web
Clase 3 Editores para Programación Web
 
Editor de páginas web
Editor de páginas webEditor de páginas web
Editor de páginas web
 
OAs editores
OAs editoresOAs editores
OAs editores
 
Software para la edición de texto
Software para la edición de textoSoftware para la edición de texto
Software para la edición de texto
 
software editor de texto
 software editor de texto software editor de texto
software editor de texto
 
Colegio particular
Colegio particularColegio particular
Colegio particular
 
ADA 1
ADA 1ADA 1
ADA 1
 
Editores de texto
Editores de textoEditores de texto
Editores de texto
 
Editor y prosesador de texto
Editor y prosesador de textoEditor y prosesador de texto
Editor y prosesador de texto
 
Editor y prosesador de texto
Editor y prosesador de textoEditor y prosesador de texto
Editor y prosesador de texto
 
Adriana dominguez
Adriana dominguezAdriana dominguez
Adriana dominguez
 
Software para edición de texto
Software para edición de textoSoftware para edición de texto
Software para edición de texto
 
Editores de texto
Editores de textoEditores de texto
Editores de texto
 
ADA # 1
ADA # 1ADA # 1
ADA # 1
 
ADA # 1
ADA # 1ADA # 1
ADA # 1
 
Arquitectura de los computadores
Arquitectura de los computadoresArquitectura de los computadores
Arquitectura de los computadores
 
Mireya tiguila
Mireya tiguilaMireya tiguila
Mireya tiguila
 
Lenguaje c nardy y daniela
Lenguaje c nardy y danielaLenguaje c nardy y daniela
Lenguaje c nardy y daniela
 
Programando en html
Programando en htmlProgramando en html
Programando en html
 

Último

MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
MiguelAtencio10
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Festibity
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 

Último (20)

MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 

Ingenieria inversa del software (iv)

  • 1. Ingeniería Inversa del Software - Parte III - Modificación de textos en programas (Editores hexadecimales y de recursos) Tradicionalmente, cuando se ha pretendido modificar un texto que se pueda ver en un programa compilado, se ha utilizado un editor hexadecimal. Últimamente, no obstante, se han puesto muy de moda los editores de recursos que hacen mucho más sencillo e intuitivo este acto. No obstante, los editores hexadecimales siguen siendo mucho más eficaces y no son tan complicados como pueda parecer a simple vista. El editor hexadecimal es un tipo especial de editor que puede mostrar y modificar cualquier tipo de carácter, incluso los especiales. Esto lo consigue manejando los códigos hexadecimales en vez de los ASCII, aunque estos también son mostrados cuando no son especiales en otra ventana aparte que sirve de referencia. Gracias a esta característica se puede editar cualquier fichero, incluso ejecutables, sin perder ningún carácter. El editor de recursos es otro tipo de editor que solo muestra las cadenas de texto estáticas que se han definido en tiempo de programación, ocultando de esta manera el resto de caracteres hexadecimales. El problema de los editores de recursos es que muchas veces son incapaces de editar un programa que podría editarse hexadecimalmente. Esto es habitual cuando el programa contiene pantallas con caracteres en algún lenguaje que no está instalado en el ordenador, como por ejemplo el chino, japonés, árabe, etc. La barrera que no puede saltarse ninguno de estos programas (de momento) es la encriptación. Por tanto, nosotros como programadores que sabemos esto, deberemos encriptar siempre la información importante contenida en nuestro software. Como vamos a ver a continuación, es muy fácil cambiar el nombre del creador del programa, su dirección de email o cualquier otro dato que se pueda proporcionar para cobrar por el uso del software completo.
  • 2. Veamos como podría hacerse esto con un editor hexadecimal como el WinHex y con un editor de recursos como el Resource Hacker: 1. Se abre con el editor el programa (.exe) o la librería (.dll) correspondiente. 2. Se busca el texto que se quiera modificar. 3. Modificar el texto deseado, respetando siempre la longitud de la cadena de texto original si se hace con editor hexadecimal. Se puede escribir un texto más corto y rellenar con espacios, pero no se puede sobrepasar el texto original porque estaríamos sobrescribiendo el código del programa y dejaría de funcionar correctamente. Como los editores de recursos regeneran el
  • 3. código para acomodar las nuevas cadenas, esta consideración no es necesaria si se usa uno de esos programas.
  • 4. 4. Salvar el archivo modificado. Al ejecutar el programa se puede observar se puede observar el resultado:
  • 5. A la vista está que no es nada complicado conseguir “retocar” el texto de un programa si éste no está oculto mediante encriptación, por lo que ésta debe de ser una de nuestras herramientas esenciales de programación. No cuesta nada encriptar los textos importantes de la aplicación y nos protege eficazmente contra cualquier ataque de este tipo. Jöx€@n Nieto