Un enlace al crackme no estaría mal:
http://www.quequero.org/uicwiki/images/CM33.zip_____
Si es muy sencillo. Para los 4 primeros caracteres:
Al 3º y al 4º sólo les afecta el XOR, luego sería: inv(xor 0707) = 3534 (teniendo en cuenta el little endian) resultan los bytes: 32 33
Para el 2º: (xor 07) and (F0) = 20
Veamos el conjunto de números a los que aplicándole un AND F0 de como resultado 20: serían del tipo 0010xxxx, que en hexadecimal: 2x.
Pues a un número cualquiera del conjunto de números válido le hacemos el inv(xor 07), por ejemplo al 2F, y da como resultado: 28
Para el 1º: [(xor 07) + F2] and (F0) = D0
Haciendo lo mismo que para el 2º, nos sale que (xor 07) + F2 = Dx
Tomando por ejemplo DF, nos sale: EA
Luego los 4 primeros bytes del serial serían: EA283233
Pero el byte EA no corresponde con ninguna letra ascii ...¿?¿?¿?
También justo antes el programa lee el archivo blaad.xxx ¿?¿?¿?
bueno, sigue investigando, que de eso se trata, saludos.