martes, 2 de octubre de 2012

Concepto de Ing. Inversa o Cracking

Ingerieria Inversa
El objetivo de la ingeniería inversa es obtener información o un diseño 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.

Hoy en día (principios del siglo XXI), los productos más comúnmente sometidos a ingeniería inversa son los programas de computadoras y los componentes electrónicos, pero, en realidad, cualquier producto puede ser objeto de un análisis de Ingeniería Inversa.

El método se denomina así 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 genéricos creados a partir 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 relacionados con el sistema de archivos Windows. Lo mismo realiza el proyecto WINE para el conjunto de API de Windows y OpenOffice.org 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 sobre el mismo (principalmente para sistemas basados en GNU/Linux).

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

Pero este término no sólo se aplica al software, sino que también se considera ingeniería inversa el estudio de todo tipo de elementos (por ejemplo, equipos electrónicos, microcontroladores, u objeto fabril de cualquier clase). Diríamos, más bien, que la ingeniería inversa antecede al nacimiento del software, tratándose de una posibilidad a disposición de las empresas para la producción de bienes mediante copiado desde el mismo surgimiento de la ingeniería.

En el caso concreto del software, se conoce por ingeniería inversa 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 o generar código propio que cumpla las mismas funciones. 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) se utiliza para referirse a las personas que rompen algún sistema de seguridad. Los crackers pueden estar motivados por una multitud de razones, incluyendo fines de lucro, protesta, o por el desafío.
 Cracker es una persona que mediante ingenieri­a inversa realiza: seriales, keygens y cracks.
 Un cracker es alguien que viola la seguridad de un sistema informatico de forma similar a como lo hari­a un hacker, a lo que a diferencia de este ultimo, el cracker realiza la intrusion con fines de beneficio personal o para hacer daño.
El termino deriva de la expresion "criminal hacker", y fue creado alrededor de 1985 por contraposicion al termino hacker, en defensa de estos ultimos por el uso incorrecto del termino.
   Se considera que la actividad de esta clase de cracker es dañina e ilegal.

Tambien se denomina cracker a quien diseña o programa cracks informaticos, 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 legi­timamente, aunque la distribucion de los cracks pudiera serlo.
Asimismo, un cracker tambien es aquel que practica el cracking (accion de modificar el codigo fuente a un programa). Esta actividad estan prohibida a menos que el programa al que se le aplica sea de Software libre, y por lo general requiere muchos conocimientos sobre hacking.



Debido a la confusion de terminos que he visto en cuanto al termino "crackear" he decidido
hacer unas pequeñas lineas para aclarar el termino que vagamente se maneja a nivel de usuario mas no a nivel de cracker, para eso definiria como se maneja el termino de las dos formas.

¿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 proteccion ya sea
decifrando el algoritmo que no permite la utilizacion de un 100 % de una aplicacion, 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 proteccion de un ejecutable.

No hay comentarios: