Code Segment Byte Public Assume Ds:Code,Cs:Code Org 100h P386 Start: jmp Main msg1 db 0ah,0dh,"To get to the registration window , keep Ctrl pressed and click on the" db 0ah,0dh,"company Logo (the little Picture) on the main GameHack Window." db 0ah,0dh,0ah,0dh, "Enter Your Name : $" msg2 db 0ah,0dh,"Your Code Is : $" msg3 db 0ah,0dh,7,"You Have To Enter As Input *something* !!$" msg4 db 0ah,0dh,0ah,0dh,"Enjoy !",0ah,0dh," -THE_q$" logo db "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»",0ah,0dh db "º Ü ÜÜÛÛ²²Ü ÜÜÛÛÛ²²Ü º",0ah,0dh db "º ß²ÜÜÜÛÛÛ²ßßßÛÛÛÛÛ²²Ý ²ÜÜ²ß ²ÛÛÛßß º",0ah,0dh db "º ÞÛÛÛÛÛÛ²Ý ÞÛÛÛÛÛ²² ÞÛÛÝ Þßß º",0ah,0dh db "º ÛÛÛÛÛÛ²² ÛÛÛÛÛ²²Ý ÛÛ² º",0ah,0dh db "º ÞÛÛÛÛÛ²²ÝþÜÜÛÛÛÛÛ²²ß ÞÛÛ² ÛÛ²² º",0ah,0dh db "º ÞÛÛÛÛ²²²² ßßßß ÜÜÛÛÛ²²Ý ÛÛÛÛ²²Ý º",0ah,0dh db "º °° ÛÛÛÛÛ²²ßß ° °°° ÞÛÛÛÛÛ²² ÛÛÛÛ²²² °° º",0ah,0dh db "º ßÛßß ßßßßßßÛ²²ÜÞÛÛÛ²²ß º",0ah,0dh db "º [PhRoZeN CReW '98 pRESENTS] ßßßÛ²ß cH.pC º",0ah,0dh db "ÈÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍͼ",0ah,0dh db " º KeyGen For : Game Hack V1.0 º ",0ah,0dh db " ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ",0ah,0dh db " ÀÄÄ -= CrAcKeR : THE_q =- ÄÄÙ ",0ah,0dh,"$" fname db 46,48 dup (0) pass db 8 dup (0),'$' flag1 db 0,0,0,0,0,0 Main: mov ax,3 int 10h mov ah,9 lea dx,logo int 21h lea dx,msg1 int 21h mov ah,0ah lea dx,fname int 21h lea dx,fname+1 mov si,dx xor edx,edx mov byte ptr dl,[si] cmp dl,0 jnz OK_Start mov ah,9 lea dx,msg3 int 21h jmp End_p OK_Start: ; mov edx, dword ptr [esp+08] ; mov esi, dword ptr [esp+18] mov esi , 00497361h mov edi, 9E3779B9h cmp edx, 0Ch mov ebp, edx mov ecx, edi jb Loc1 mov eax, 0AAAAAAABh mul edx lea eax,fname+2 shr edx, 03 mov dword ptr flag1, edx Loc3: xor edx, edx xor ebx, ebx mov dl, byte ptr [eax+07] mov bl, byte ptr [eax+06] shl edx, 08 add edx, ebx xor ebx, ebx mov bl, byte ptr [eax+05] shl edx, 08 add edx, ebx xor ebx, ebx mov bl, byte ptr [eax+04] shl edx, 08 add ebx, edi lea edi, dword ptr [ebx+edx] xor edx, edx mov dl, byte ptr [eax+0Bh] xor ebx, ebx mov bl, byte ptr [eax+0Ah] shl edx, 08 add edx, ebx xor ebx, ebx mov bl, byte ptr [eax+09] shl edx, 08 add edx, ebx xor ebx, ebx mov bl, byte ptr [eax+08] shl edx, 08 add ebx, esi lea esi, dword ptr [ebx+edx] xor edx, edx mov dl, byte ptr [eax+03] xor ebx, ebx mov bl, byte ptr [eax+02] shl edx, 08 add edx, ebx xor ebx, ebx mov bl, byte ptr [eax+01] shl edx, 08 add edx, ebx xor ebx, ebx mov bl, byte ptr [eax] shl edx, 08 add ecx, edx add ebx, ecx mov ecx, esi sub ebx, edi sub ebx, esi shr ecx, 0Dh xor ecx, ebx sub edi, ecx mov edx, ecx sub edi, esi sub esi, ecx shl edx, 08 xor edi, edx mov edx, edi sub esi, edi shr edx, 0Dh xor esi, edx sub ecx, edi mov edx, esi sub ecx, esi shr edx, 0Ch xor ecx, edx sub edi, ecx mov edx, ecx sub edi, esi sub esi, ecx shl edx, 10h xor edi, edx mov edx, edi sub esi, edi shr edx, 05 xor esi, edx sub ecx, edi mov edx, esi sub ecx, esi shr edx, 03 xor ecx, edx sub edi, ecx mov edx, ecx sub edi, esi shl edx, 0Ah xor edi, edx sub esi, ecx mov edx, edi sub esi, edi shr edx, 0Fh xor esi, edx mov edx, dword ptr flag1 add eax, 0Ch sub ebp, 0Ch dec edx mov dword ptr flag1, edx jne Loc3 xor edx,edx push bx lea bx,fname+1 mov byte ptr dl , [bx] pop bx Loc2: add esi, edx dec ebp cmp ebp, 0Ah ja Loc4 cmp ebp,0ah jz JR0A cmp ebp,9 jz JR9 cmp ebp,8 jz JR8 cmp ebp,7 jz JR7 cmp ebp,6 jz JR6 cmp ebp,5 jz JR5 cmp ebp,4 jz JR4 cmp ebp,3 jz JR3 cmp ebp,2 jz JR2 cmp ebp,1 jz JR1 cmp ebp,0 jmp JR0 JR0A: xor edx, edx mov dl, byte ptr [eax+0Ah] shl edx, 18h add esi, edx JR9: xor edx, edx mov dl, byte ptr [eax+09] shl edx, 10h add esi, edx JR8: xor edx, edx mov dl, byte ptr [eax+08] shl edx, 08 add esi, edx JR7: xor edx, edx mov dl, byte ptr [eax+07] shl edx, 18h add edi, edx JR6: xor edx, edx mov dl, byte ptr [eax+06] shl edx, 10h add edi, edx JR5: xor edx, edx mov dl, byte ptr [eax+05] shl edx, 08 add edi, edx JR4: xor edx, edx mov dl, byte ptr [eax+04] add edi, edx JR3: xor edx, edx mov dl, byte ptr [eax+03] shl edx, 18h add ecx, edx JR2: xor edx, edx mov dl, byte ptr [eax+02] shl edx, 10h add ecx, edx JR1: xor edx, edx mov dl, byte ptr [eax+01] shl edx, 08 add ecx, edx JR0: xor edx, edx mov dl, byte ptr [eax] add ecx, edx Loc4: sub ecx, edi mov eax, esi sub ecx, esi shr eax, 0Dh xor ecx, eax sub edi, ecx mov edx, ecx sub edi, esi sub esi, ecx shl edx, 08 xor edi, edx mov eax, edi sub esi, edi shr eax, 0Dh xor esi, eax sub ecx, edi mov edx, esi sub ecx, esi shr edx, 0Ch xor ecx, edx sub edi, ecx mov eax, ecx sub edi, esi sub esi, ecx shl eax, 10h xor edi, eax mov edx, edi sub esi, edi shr edx, 05 xor esi, edx sub ecx, edi mov eax, esi mov edx, eax sub ecx, eax shr edx, 03 xor ecx, edx sub edi, ecx mov edx, ecx sub edi, eax sub eax, ecx shl edx, 0Ah xor edi, edx sub eax, edi shr edi, 0Fh xor eax, edi jmp Print_C Loc1: lea eax,fname+2 jmp Loc2 Print_C: lea di,pass mov ebx,eax mov ebp,0F0000000h mov dx,1ch p3: mov eax,ebx and eax , ebp mov cx,dx shr eax,cl cmp al,9 ja p1 add al,30h jmp p2 p1: add al,57h p2: stosb mov cl,4 shr ebp,cl sub dx,4 cmp dx,0 jnz p3 mov al,bl and al,0fh cmp al,9 ja p4 add al,30h jmp p5 p4: add al,57h p5: stosb mov ah,9 lea dx,msg2 int 21h lea dx,pass int 21h lea dx,msg4 int 21h End_p : mov ax,4c00h int 21h Code Ends End Start