0x8048a18 --> anti-debug
0x80489b0 --> serial can be sniffed from EAX.
name hash is generated here ::
=========================================
0x80488b6
0x80488bf
0x80488c7
0x80488c9
0x80488cb
0x80488d1
0x80488d3
0x80488d6
0x80488dc
=========================================
hostname hash is generated here ::
0x80488ea
0x80488ec
0x80488f0
0x80488f3
0x80488f5
0x80488f8
0x80488fb
0x8048901
0x8048904
0x8048909
0x804890c
0x8048911
0x8048914
===================================================================
Keygen ::
#include#include "stdio.h"; int main () { char name[30]; char hostname[30]; int i; int name_hash; int host_hash; printf("\n[?] Input name : "); scanf("%s",name); printf("[?] Input hostname : "); scanf("%s",hostname); for (i=0;i<strlen(name);i+=2) { name_hash = name[i] * i * strlen(hostname); } for (i=1;i<strlen(hostname);i+=2) { host_hash = hostname[i] << 2; } printf("\n>>> serial = %d-",name_hash+host_hash); for (i=0;i<strlen(hostname);i+=2) { putchar(hostname[i]); } printf("\n\n"); return 0; } "string.h";
Writing tutorial is very boring, yet if anyone wants to know any detail, drop me a line. I'll try to explain. The CrackMe was not very difficult anyway.