Conceptos Generales Aplicados en la Ingeniera Inversa

Iniciado por ANTRAX, Febrero 20, 2010, 02:26:16 AM

Tema anterior - Siguiente tema

bbkktt12 y 5 Visitantes están viendo este tema.

¿ Que es la Ingeniería Inversa ?

El objetivo de la ingeniería inversa es obtener información técnica a partir de un producto accesible al público, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado. Los productos más comunes que son sometidos a la ingeniería inversa son los programas de computadoras y los componentes electrónicos.

Este método es denominado ingeniería inversa porque avanza en dirección opuesta a las tareas habituales de ingeniería, que consisten en utilizar datos técnicos para elaborar un producto determinado. En general si el producto u otro material que fue sometido a la ingeniería inversa fue obtenido en forma apropiada, entonces el proceso es legítimo y legal. De la misma forma, pueden fabricarse y distribuirse, legalmente, los productos genericos creados apartir de la información obtenida de la ingeniería inversa, como es el caso de algunos proyectos de Software libre ampliamente conocidos.

El programa Samba es un claro ejemplo de ingeniería inversa, dado que permite a sistemas operativos UNIX compartir archivos con sistemas Microsoft Windows. El proyecto Samba tuvo que investigar información confidencial (no liberada al público en general por Microsoft) sobre los aspectos técnicos relacionado con el sistema de archivos Windows. Lo mismo realiza el proyecto WINE para el conjunto de API de Windows y No tienes permitido ver enlaces. Registrate o Entra a tu cuenta con los formatos propios de Microsoft Office, o se hace para entender la estructura del sistema de archivos NTFS y así poder desarrollar drivers para la lectura-escritura del mismo (principalmente para sistemas basados en Linux).

La ingeniería inversa es un metodo de resolución. Aplicar ingenieria inversa a algo supone profundizar en el estudio de su funcionamiento, hasta el punto de que podemos llegar a entender, modificar, y mejorar dicho modo de funcionamiento.

Pero este término no sólo se aplica al software de protección. Así pues se considera ingeniería inversa también al estudio de todo tipo de elementos, por ejemplo equipos electrónicos, microcontroladores, etc..., siempre y cuando el resultado de dicho estudio repercuta en el entendimiento de su funcionamiento.

Se denomina ingeniería inversa del software a la actividad que se ocupa de descubrir cómo funciona un programa, función o característica de cuyo código fuente no se dispone, hasta el punto de poder modificar ese código. La gran mayoría del software de pago incluye en su licencia una prohibición expresa de aplicar ingeniería inversa a su código, con el intento de evitar que se pueda modificar su código y que así los usuarios tengan que pagar si quieren usarlo.


¿ Que es un Cracker ?

El término cracker (del inglés crack, romper) tiene varias acepciones.

    * Cracker es una persona que mediante ingeniería inversa realiza: seriales, keygens y cracks.

    * Un cracker es alguien que viola la seguridad de un sistema informático de forma similar a como lo haría un hacker, sólo que a diferencia de este último, el cracker realiza la intrusión con fines de beneficio personal o para hacer daño.
      El término deriva de la expresión "criminal hacker", y fue creado alrededor de 1985 por contraposición al término hacker, en defensa de éstos últimos por el uso incorrecto del término.
      Se considera que la actividad de esta clase de cracker es dañina e ilegal.

    * También se denomina cracker a quien diseña o programa cracks informáticos, que sirven para modificar el comportamiento o ampliar la funcionalidad del software o hardware original al que se aplican, sin que en absoluto pretenda ser dañino para el usuario del mismo.
      No puede considerarse que la actividad de esta clase de cracker sea ilegal si ha obtenido el software o hardware legítimamente, aunque la distribución de los cracks pudiera serlo.

    * Asimismo, un cracker también es aquel que practica el cracking (acción de modificar el código fuente a un programa). Ésta actividad está prohibida a menos que el programa al que se le aplica sea de Software libre, y por lo general requiere muchos conocimientos sobre hacking.


¿ Que es crackear ?

A nivel de usuario :
Hay gente que llama crackear al simple manejo de un crack o de un patch, yo
no lo llamaria crackear ya que es simplemente usar un programa que permite tener cierto beneficio
de una aplicaciones comerciales.

A nivel de cracker :
Las cosas son diferentes ya que aqui se crackea(rompe) una protección ya sea decifrando el algoritmo que no permite la utilización de un 100 % de una aplicación, o editando instrucciones en el ejecutable.


¿ Que es parchar ?

A nivel de usuario :
Parchar significa que vas a substituir el ejecutable original con uno previamente editado con la finalidad de que burle el mismo su propia proteccion.

A nivel de cracker :
Parchar significa editar, añadir o eliminar instrucciones de un ejecutable para burlar o saltar la protección de un ejecutable.

Fuente : Wikipedia , #RE