La
ingeniería inversa
La
ingeniería inversa es un procedimiento mediante el cual se toma un objeto por
separado para ver cómo funciona con la finalidad de duplicarlo o mejorarlo.
Es el
proceso de descubrir los principios tecnológicos de un dispositivo, objeto o
sistema, a través de razonamiento abductivo de su estructura, función y
operación.
La ingeniería inversa se trata de tomar algo (un dispositivo mecánico o electrónico, un software de computadora, etc.) para analizar su funcionamiento en detalle, generalmente para intentar crear un dispositivo o programa que haga la misma o similar tarea sin copiar la original.
Aunque
esta práctica era empleada por las antiguas industrias, en la actualidad su uso
se ha extendido al software y hardware, en cuyo caso, la ingeniería inversa
aplicada al software implica la reversión de un programa que está codificado en
lenguaje maquina (lenguaje de bajo nivel) a el código fuente de alto nivel en
el que fue escrito originalmente.
Usos de
la ingeniería inversa
* La
ingeniería inversa suele ser empleada por empresas, para analizar si el
producto de su competencia infringe patentes de sus propios productos.
* Muchas veces, la ingeniería inversa es utilizada en el área militar para investigar (y copiar) las tecnologías de otras naciones, sin obtener planos ni detalles de su construcción o desarrollo.
* En el software y en el hardware, la ingeniería inversa, muchas veces es empleada para desarrollar productos que sean compatibles con otros productos, sin conocer detalles de desarrollo de éstos últimos. En otras palabras, quien desarrolla los nuevos productos, no puede acceder a los detalles de fabricación de los productos de los que intenta ser compatibles.
* La ingeniería inversa también es empleada para comprobar la seguridad de un producto, generar keygens de aplicaciones, reparación de productos, etc. –
* Muchas veces, la ingeniería inversa es utilizada en el área militar para investigar (y copiar) las tecnologías de otras naciones, sin obtener planos ni detalles de su construcción o desarrollo.
* En el software y en el hardware, la ingeniería inversa, muchas veces es empleada para desarrollar productos que sean compatibles con otros productos, sin conocer detalles de desarrollo de éstos últimos. En otras palabras, quien desarrolla los nuevos productos, no puede acceder a los detalles de fabricación de los productos de los que intenta ser compatibles.
* La ingeniería inversa también es empleada para comprobar la seguridad de un producto, generar keygens de aplicaciones, reparación de productos, etc. –
La ingeniería inversa en el software
tiene como objetivo recuperar el código fuente de un programa que necesita ser corregido,
mejorado o estudiado para ser nuevamente escrito y que no cuenta con su código
fuente original.
Hay que dejar en claro que la
ingeniería inversa de software que tiene como objetivo el duplicado o el
estudio con propósito comercial, como el empleo de aplicar ingeniería inversa a
un producto para estudiarlo y hacer en base a este un producto de competencia,
puede ser considerado como una violación a las leyes de copyright e incluso en
muchos casos, el uso de un programa bajo licencia prohíbe esta práctica.
En el caso de la ingeniería inversa de
hardware, se recurre al desmontaje de un dispositivo con la intención de
comprobar cómo es que funciona, pero al igual que sucede en la ingeniería
inversa de software, aquí también está prohibido hacer esto con la intención de
fabricar un producto similar.
Otro tipo de ingeniería inversa
consiste en la reproducción de imágenes en 3D de piezas ya fabricadas cuando no
se cuenta con un plano y con la finalidad de reacondicionar la pieza.
No hay comentarios:
Publicar un comentario