El programador usa c / c ++ u otro lenguaje de alto nivel para escribir software. Pero la computadora no puede entenderlo. La computadora solo sabe 1 y 0. Sin embargo, la gente no puede entenderlo fácilmente. Por lo tanto, la gente usa el ensamblado para entenderlo. eax, 0x1.
Cuando quiero descifrar un software, no sé el código fuente. Debo usar un depurador como Ollydbg, ida, windbg. Puedo ver el lenguaje ensamblador por ellos.
Por ejemplo, si desea utilizar un software comercial, debe comprar
una clave primero. Cuando ingresa un código clave, ejecute así.
para (i = 0; i <longitud; i ++)
{
total + = clave [i];
}
si (total == 123)
cout << "éxito" << endl;
más
cout << "incorrecto" << endl;
si ingresa una clave incorrecta, no puede usarla. pero cuando uso el depurador, puedo ver un código como este:
empezar:
mov ecx, 0
agregar eax, [edx]
inc edx
inc ecx
cmp ecx, longitud
jb comenzar
cmp eax, 123
jz address1
incorrecto
Dirección 1
éxito
entonces, puedo cambiar “jz address1” a “jmp
dirección1 “. No importa lo que ingrese, puedo usar el software sin comprar la clave. El juego de crack es el mismo con esto.
- ¿Cuáles son algunas de las mejores variaciones de reglas para una nueva forma de jugar Scrabble?
- ¿Cómo desarrollar un juego móvil / PC? ¿Dónde debo comenzar para empezar?
- ¿Qué es el aprendizaje basado en juegos?
- ¿Cuál es el mejor videojuego no violento para PC?
- ¿Cuál es el futuro de los juegos en Linux?