“Conocimientos Programación>Programación Java

Java Byte Ingeniería Inversa Code

2011/2/24
La ingeniería inversa es el arte de dumping individuales, los comandos a nivel de máquina que componen un programa compilado y utilizarlo para volver a crear el código fuente original. Mientras que cualquier programa compilado se puede diseñar inversa , el código de bytes que hace que los programas Java compilados por retener varias características de identificación que hacen ingeniería inversa es mucho más fácil que otro código compilado. Byte Code

Java no se puede compilar directamente en código legible por la máquina , sino más bien en lo que se llama " byte code . " El programador distribuye el código de bytes, y cuando los usuarios finales ejecutar el programa , la máquina virtual de Java compila el bytecode en código específico de plataforma de la máquina. Si bien esto da Java la ventaja de permitir un código de fuente única se puso a trabajar en varias máquinas , el código byte conserva varias características descriptivas del código fuente que sea más fácil para los piratas informáticos para reconstruir el código fuente original.

Ingeniería Inversa

hackers pueden leer el código de bytes de una aplicación Java directamente , utilizando la biblioteca " java.io.InputStream " . Con esto, se pueden ver los componentes básicos y comandos correspondientes a códigos de bytes que constituyen el archivo de clase particular. Los hackers pueden entonces seguir las diferentes variables a través de diferentes métodos para reconstruir poco a poco el flujo de control del programa. Una vez que los hackers hacen esto, ellos pueden replicar el código fuente de la aplicación para diferentes propósitos maliciosos .
Ataca

Después de ingeniería inversa de hackers un programa en particular , hay varias formas que pueden explotar esto para ganar acceso a las máquinas que se ejecutan ese programa . Estos incluyen las vulnerabilidades que explotar para que el programa ejecute código malicioso con el permiso del usuario, o la ejecución de un "hombre en el medio" ataque . En este último caso , el hacker podría añadir su propio código malicioso código fuente de la aplicación , recompilarlo , y lo puso en Internet bajo la apariencia del programa original . Los usuarios involuntarios pueden descargar la aplicación y ejecutar directamente el código del hacker .
Prevención Ingeniería Inversa

Debido a la naturaleza de código de bytes de Java , es casi imposible detener que cualquiera pueda ver el código de bytes de núcleo. Mientras que los métodos como el cifrado pueden proporcionar un grado de protección , el más eficaz es el cifrado , menos independiente de la plataforma se convierte en el programa . Los programadores pueden , sin embargo , lanzar ingeniería inversa en el campo con un par de trucos de codificación. Estos incluyen la escritura de funciones que son irrelevantes para la ejecución efectiva del programa , que puede deshacerse de aquellos que tratan de alterar el diseño del programa.

Programación Java
¿Qué es la herencia múltiple en Java
Cómo Obtener el Valor Mod en Java
Cómo utilizar la línea de comandos depuradores Java
Cómo instalar Eclipse for BlackBerry
Cómo dar formato a un número entero en Java
Cómo configurar VIM para Java
Cómo convertir cadenas en números en Java
Cómo configurar Ant Con Eclipse Paso a Paso
Conocimientos Informáticos © http://www.ordenador.online