Hola amigos hoy veremos el crackme 2 de Bocvk el cual es algo sencillo y fue hecho para la lista de crackslatinos en el 2008 aquí lo dice.
Es algo viejo, pero entretiene y como dije es algo simple, pero por lo simple se empieza, bueno así que lo abrimos con el x32dbg y buscamos los string
Hay vemos el mensaje correcto y el incorrecto, así que damos clic en el correcto y nos lleva a la siguiente zona
Como vemos el serial tiene que ser mayor a 9 dígitos, así que yo ingrese "1234567890" que son 10 dígitos y solo tomo los 9...así que nos detenemos en el CALL de la línea 004010B1 y vemos lo siguiente.
Así que entramos al CALL de esa línea para ver que hace
0040114A | 33D2 | xor edx,edx |
0040114C | 33C9 | xor ecx,ecx |
0040114E | 8B91 30314000 | mov edx,dword ptr ds:[ecx+403130] | ecx+403130:"123456789"
00401154 | 83F2 08 | xor edx,8 |
00401157 | 8991 58314000 | mov dword ptr ds:[ecx+403158],edx |
0040115D | 41 | inc ecx |
0040115E | 3BC8 | cmp ecx,eax |
00401160 | 74 02 | je crackme #2.401164 |
00401162 | EB EA | jmp crackme #2.40114E |
00401164 | 33D2 | xor edx,edx |
00401166 | 33C9 | xor ecx,ecx |
00401168 | 8B91 80314000 | mov edx,dword ptr ds:[ecx+403180] | ecx+403180:"remoteexe"
0040116E | 83C2 07 | add edx,7 |
00401171 | 8991 A8314000 | mov dword ptr ds:[ecx+4031A8],edx |
00401177 | 41 | inc ecx |
00401178 | 3BC8 | cmp ecx,eax |
0040117A | 74 02 | je crackme #2.40117E |
0040117C | EB EA | jmp crackme #2.401168 |
0040117E | C3 | ret |
Como vemos toma el serial ingresado y xorea cada dígito de este con 8 para después aguardarlo en una posición de memoria y después suma 7 a cada dígito de la palabra "remoteexe" y lo aguarda en una posición de memoria.
Después entramos al CALL de la dirección 004010C0 y vemos lo siguiente
00401180 | 55 | push ebp |
00401181 | 8BEC | mov ebp,esp |
00401183 | 56 | push esi |
00401184 | 8B4D 08 | mov ecx,dword ptr ss:[ebp+8] |
00401187 | 8B55 0C | mov edx,dword ptr ss:[ebp+C] |
0040118A | 33F6 | xor esi,esi |
0040118C | 8A040E | mov al,byte ptr ds:[esi+ecx] |
0040118F | 3A0416 | cmp al,byte ptr ds:[esi+edx] |
00401192 | 75 10 | jne crackme #2.4011A4 |
00401194 | 83C6 01 | add esi,1 |
00401197 | 84C0 | test al,al |
00401199 | 75 F1 | jne crackme #2.40118C |
0040119B | 8D440E FF | lea eax,dword ptr ds:[esi+ecx-1] |
0040119F | 2B45 08 | sub eax,dword ptr ss:[ebp+8] |
004011A2 | EB 02 | jmp crackme #2.4011A6 |
004011A4 | 33C0 | xor eax,eax |
004011A6 | 5E | pop esi |
004011A7 | C9 | leave |
004011A8 | C2 0800 | ret 8 |
Aquí en este pedazo de código vemos que compara digito por dígito del serial que ingresamos(el string que se obtuvo del xoreo) y la suma de la palabra "remoteexe" y si son iguales los resultados nos dirige al mensaje correcto
Aquí un código en HTML y JavaScript
<html>
<head>
<title>Serial Me Serial Me Crackme #2 De Bocvk ...:::Flamer:::...</title>
</head>
<body bgcolor="black">
<center>
<marquee style="font-size:30;color:yellow;">Serial Me Crackme #2 De Bocvk ...:::By Flamer:::...</marquee><br><br>
<label style="color:white;">Serial:</label>
<input type="text" id="pass" size='50' style="background-color:Gray;color:white;text-align:center;">
<input type="button" value="Copy" onclick="copiar()"><br><br>
<input type="button" value="Generar" onclick="genera()" id="boton1">
</center>
<script>
function copiar()
{
let c=document.getElementById('pass');
navigator.clipboard.writeText(c.value);
}
//==================================================================================
function genera()
{
let cadena="remoteexe";
let x,clave="";
for(x=0;x<cadena.length;x++)
{
digi=cadena[x].charCodeAt(0);
digi=digi + 7;
digi=digi ^ 8;
clave+=String.fromCharCode(digi);
}
document.getElementById("pass").value=clave;
}
</script>
</body>
</html>
Aquí una foto con la clave correcto
Asi que la clave es "qd|~sddwd" y el reto nos arroja el mensaje correcto
Bueno espero les haya gustado saludos Flamer y ya solo nos queda el primer crackme de Bocvk por publicar la solución y seguiremos con los de la serie de enigmagroup
No hay comentarios.:
Publicar un comentario