te lo digo en palabras bonitas,
http://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo-t345798.0.htmlpero en palabras mas tipicas mias : digamos que hay varios casos concretos
1) tenemos un exe que pesa 10kb, el crackeado pesa 200kb, digamos que puede ser un caso donde se "descomprimio", esto suele pasar en juegos como alawar, (donde existen unwrappers"
2) caso 2, el programa original pesa 10kb y el crackeado pesa 10kb, comparas CRC y es identico, comparas entre los 2 con un programa por ejemplo parchador "dup", diablo ultimate patcher, tenemos que se cambiaron por ejemplo 2 bytes, 74 a eb eso honestamente no tiene sentido, ahora si te digo que hay una comparacion que dice si esta registrada o no lo esta, y se decide por una instruccion, pues ahi si tiene sentido
como se que aun no tienes ni idea de estos temas, te dejo un ejemplo en un video, solo miralo, antes y el despues
http://www.tusfiles.net/1ipt4hb8jv5l(el autor de ese archivo gana dinero al ser bajado..se lalma generar link), pero la idea es que tengas claro..que hay programas que piden cosas..hay lugares donde dice algo.. hay comparaciones (en ese caso era un test al,al osea comparaba el registro de eax fuera cero, al parchar los saltos con NOP(que no hagan nada), fuerza a que vaya a ser comparado ahi..luego al mover un valor 1, (mov al,1), este programa al comparar se traga el registro, generando 1 valor en regedit, el cual decia name, al ingresar su nombre, este quedaba expuesto "registrado a su nombre" ... si bien no es un buen ejemplo para entender, simplemente querias algo de demostrar..
3) digamos que tienes un exe de 10kb pero ahora pesa 8kb, esto tb puede ser un wrapping o bien que se le quito codigo y optimizo, esto suele ocurrir en varios tipos de programa
4) digamos por ejemplo ahora con juegos reales
digamos que tenemos el buscaminas, tienes tantos segndos... puedes
1) detener el tiempo
2) detectar las minas de las bombas
3) cambiar el puntaje
4) editar la entrada en regedit donde guarda cierta informacion
5) cambiar el archivo donde guardan los records
y asi suma y sigue, en los juegos ocurre algo parecido, ahora bien el tema de keygen es diferente, digamos que tu tienes un serial valido, te pondre de ejemplo la compañia de adultpdf.com, ellos tienen por ejemplo 10 programas de conversion de pdf, basta 1 serial valido, y saber donde compara, y vas generando un serial llave posible, que cumpla las condiciones pero hay varias cosas que pueden ocurrir en el keygen
1) genera claves segun patrones conocidos (algoritmo copiado)
2) genera patrones nuevos(algoritmos bruteforce)
3) genera claves totalmente random(algoritmos con matematica pura)
4) algoritmos muy simples, pero comprimidos o empacados con programas comerciales que lo hacen parecer dificil(casos de virtualizacion entre otros)..
ahora bien, se que esto te parecera como extraño, pero es la realidad, cuando creas un crack para un programa o software, digamos que lo mas simple que hacen es analizarlo, buscar algun indicio hacia registrarlo o dejarlo funcional...
hay muchisimos ejemplos que te podria citar, pero no quiero matar tu curiosidad
solo te dire que es muy diferente la perspectiva para un juego que para un programa normal, aveces los juegos almacenan datos en sus servidores, por ende modifican variables en runtime "charles", entre otros "cheat engine", y asi suma y sigue, pero en sofware, usan programas segun su programacion (usan para detectar peid, o escaners como RDG, y luego de tener una idea atacan segun su lenguaje, .net x86 entre otros)...puede que parezca un chiste, pero digamos que un 99% de las aplicaciones que corren en windows pueden ser crackeadas, las otras 1% son programas que desconocen esos crackers y no estan crackeadas por eso mismo:::
saludos Apuromafo
pd:yo estoy retirado de la ing inversa, pero ahora tengo tiempo libre por lo menos por 2 meses, asi que dare una vuelta por este foro leyendo