¿Cuáles son los diferentes tipos de herramientas de ingeniería inversa?
La ingeniería inversa es el proceso de desarmar algo, analizar sus características y componentes, y volver a armarlo para comprender completamente el dispositivo. En las computadoras, las herramientas de ingeniería inversa se pueden usar para descomponer cosas como software y bases de datos, o se pueden usar con fines científicos como simplificar y descomponer el genoma humano para una mejor comprensión y contribución científica. Aunque las herramientas de ingeniería inversa han sido criticadas por su legalidad, existen varias herramientas que existen para descomponer y comprender muchos tipos diferentes de productos, particularmente software.
Algunos programas están disponibles como herramientas de ingeniería inversa de código abierto y se pueden descargar fácilmente de Internet. Un tipo de materiales de código abierto incluye herramientas de ingeniería inversa de Java, lo que permite la desofuscación de las clases de Java que se compilan. Acceden al código fuente, creando un desobfuscador que es cuasi código. Las herramientas de ingeniería inversa están diseñadas para funcionar mediante la asignación de sustantivos aleatorios a clases ofuscadas en Java, y asignarán verbos aleatorios del idioma inglés a métodos de clases ofuscadas en Java. Obtener una herramienta como esta requiere una simple descarga e instalación del software en una computadora.
Otras herramientas de código abierto que se pueden descargar e instalar fácilmente desde Internet incluyen analizadores para protocolos de red. Estos tipos de software de ingeniería capturan paquetes de datos en una red para analizarlos más adelante. Se utilizan para comprender las operaciones de los protocolos de red en multimedia patentada. El software se puede descargar gratis y se mejora y mejora constantemente.
Otra variedad de software para ingeniería inversa permite la construcción de herramientas para el análisis dinámico. Estos tipos de herramientas de ingeniería inversa se utilizan en la detección de errores de subprocesos, así como en la gestión de la memoria. El software incluye muchos tipos diferentes de herramientas, incluido un detector de errores de memoria, un generador de perfiles de predicción para cachés y ramas, y un generador de gráficos de llamadas, entre muchos otros.
También hay herramientas de ingeniería inversa que se pueden ejecutar en ciertos sistemas operativos (SO) como depuradores y desensambladores. Este tipo de software puede ser de código abierto o adquirido a través de Internet. Una de estas herramientas viene con instrucciones en PDF y tutoriales sobre cómo usarla con diferentes sistemas operativos, lo que permite al usuario comprender mejor la funcionalidad del dispositivo y el sistema operativo. Sin embargo, ha sido objeto de críticas con ciertos dispositivos móviles y teléfonos inteligentes, y ya no está disponible para su uso.