La ingeniería inversa es un procedimiento mediante el cual se toma un objeto por separado para ver como funciona con la finalidad de duplicarlo o mejorarlo.
Aunque esta practica 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.
La ingeniería inversa en el software tiene como objetivo recuperar el código fuente de un programa que necesita ser correjido, 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 proposito 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 como es que funciona, pero al igual que sucede en la ingeniería inversa de software, aquí también esta 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.
En la siguiente publicación podremos conocer algunos Programas para hacer Ingeniería inversa en sistemas de información
comments powered by Disqus