Ver Mensaje Individual
  #8  
Antiguo 07-10-2005, 21:40:06
Avatar de Tiancris
Tiancris Tiancris is offline
Senior Member
Fecha de Ingreso: Sep 2005
Predeterminado

Cuando se programa un programa (valga la redundancia) se lo escribe en un determinado lenguaje de programación (como Pascal, C++, Java, etc. etc. etc.) que es lo que le permite al programador entenderse con la máquina para decirle qué tiene que hacer. Al conjunto de esas instrucciones se le llama "código fuente del programa" y normalmente se escribe en un simple archivo de texto (o varios). ¿Vamos bien?<br />
<br />
Ahora bien, la máquina internamente sólo maneja información en forma de datos binarios, o sea, sólo 0's y 1's ¿se entiende hasta acá? Bien, entonces en necesario transformar el "código fuente" comprensible para el humano(prácticamente todos los lenguajes de programación utilizan palabras y símbolos del idioma inglés) en esos 0's y 1's comprensibles para la máquina. A este proceso se le llama "compilar el programa" y se genera entonces un código en otro lenguaje, llamado Assembler. ¿Estamos? Al archivo que se genera se le dice "archivo ejecutable" (son esos con la extensión .exe o .com)<br />
<br />
OK, este código en lenguaje Assembler es comprendido directamente por la máquina, que lo transforma internamente en los 0's y 1's que necesita para saber qué hacer. <br />
<br />
Pues bien, si nosotros tuviéramos en nuestro poder el código asm de un programa podríamos analizarlo y entonces comprender cómo funciona internamente. <br />
<br />
Como ejemplo práctico, hablemos de juegos: Supongamos que el juego Masacre Sangrienta nos pide un password para poder empezar a jugar y nosotros, obviamente, no tenemos tal password. Entonces buscamos desesperadamente en Internet el juego Masacre Sangrienta que no nos pida ese password. ¿Y por qué no nos pide ese password? Pues porque alguien se encargó de crackearlo. ¿Y qué es crackear un programa? Es analizar su código ensamblador, ver dónde aparece la instrucción que nos pide el password y entonces modificar el programa para que no ejecute esa instrucción y el juego pueda empezar igual. Y así podemos disfrutar de nuestra Masacre Sangrienta sin tener que preocuparnos más.<br />
<br />
Pero... para poder entender el código asm de un programa hay que saber MUY BIEN este lenguaje, y si alguien tiene la capacidad de entender ese código, entonces ya sabe cómo obtenerlo a partir del archivo ejecutable (o sea, "desensamblar el programa"). Pero si se tiene tal grado de conocimiento, ¿entonces para qué andar pidiendo ese código en un foro, si supuestamente podríamos hacerlo por nuestra cuenta?<br />
<br />
En fin, no sé si se entendió algo. Traté de explicarlo pasando por alto muchos detalles para que sea algo entendible.
Responder Con Cita