Ingenieria inversa

Solo disponible en BuenasTareas
  • Páginas : 21 (5008 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de mayo de 2011
Leer documento completo
Vista previa del texto
Universidad de Santiago de Chile
Facultad de Ciencia
Departamento de Matemáticas y Ciencia de la Computación

DESARROLLO DE SOFTWARE I
INFORME FINAL

“Trabajo de Investigación”

INGENIERIA INVERSA DE SOFTWARE

Alumnos: Roberto Rozas S.
PabloHernández G.

Profesor: Dino M. Araya S.

Fecha Entrega: 24-11-2010

Resumen

El presente proyecto de investigación está dirigido al estudio de la ingeniería inversa de software y al diseño de una parte práctica donde se aplican los conocimientos adquiridos, a un ejecutable de unaaplicación y a una base de datos relacional.
Dentro del trabajo de investigación se abarcan dos tipos de ingeniería inversa de software, la primera es la ingeniería inversa de procesos y la segunda la ingeniería inversa de datos.
Para el estudio del ejecutable realizado en Visual Basic 6.0 se ocuparon 2 herramientas imprescindibles tales como, lo son el W32DASM y Ultraedit.
Para el estudio deuna base de datos que funciona bajo un motor Mysql se ocupo un modelador de base de datos que incluye la funcionalidad de realizar ingeniería inversa llamado Toad Data Modeler

Índice

1. Resumen……………………………………………………………………………………………… 1

1. Introducción…………………………………………………………………………………………. 3

2. Objetivos del proyecto

2.1 Objetivo general…………………………………………………………………………. 4
2.2Objetivos específicos…………………………………………………………………… 4

3. Motivación………………………………………………………………………………………........ 4

4. Estado del arte ……………………………………………………………………………………… 5

5. Desarrollo del tema

5.1 Marco teórico…………………………………………………………………………….. 5

5.1.1 Ingeniería inversa de software…………………………………………………….. 5

5.1.1.1 Herramientas……………………………………………………. 7
5.1.1.2 Ingenieríainversa de procesos……………………………….. 10
5.1.1.3 Ingeniería inversa de datos…………………………………….. 12

5.2 Practica…………………………………………………………………………………… 15

5.2.1 Ingeniería inversa a un ejecutable…………………………………………………… 15
5.2.2 Ingeniería inversa a una base de datos…………………………………………….. 25

6. Conclusiones………………………………………………………………………………………… 28

7. ReferenciasBibliográficas……………………………………………………………………… 28

Índice de figuras

Figura Nº1: Proceso de Reingeniería…………………………………………………………......... 6

Figura Nº2: Diagrama de clase generado a partir del código Java……………………….. ….. 11

Figura Nº3: Proceso de la ingeniera inversa de datos …………………………………………. 13

Figura Nº4: Técnicas de la ingeniería inversa de datos ………………………………………… 14

Figura Nº5: Inicio delDesensamblador W32DASM …………………………………………….. 16

Figura Nº6: List of String data ítems de W32DASM …………………………………………….. 17

Figura Nº7: Goto code location W32DAMS ………………………………………………………. 18

Figura Nº8: Salto condicionado de W32DAMS ………………………………………………….. 19

Figura Nº9: Salto incondicionado de W32DAMS ………………………………………………... 20

Figura Nº10: Inicio de ULTRAEDIT……………………………………………………………. 21

Figura Nº11: Búsqueda de cadenas Hexadecimalesl ……………………………………... 22

Figura Nº12: Reemplazo de un Hexadecimal ……………………………………………….. 23

Figura Nº13 Verificación de resultados ……………………………………………………… … 24

1. Introducción

El siguiente tema de investigación se enfocara en la ingeniería inversa aplicada al código. Se denominada ingeniería inversa porque avanza en dirección opuesta a las tareas habituales deingeniería.

Se consideran dos tipos de ingeniería inversa, el primero aplicado al código fuente de un programa, dentro de este tipo se considera la aplicación a un archivo ejecutable, y el segundo aplicado a una base de datos . En el primero, el código fuente no está disponible, en donde aspectos de más alto nivel no son conocidos, y hay una documentación...
tracking img