//coded by IMPosTOR //impostor@de-compiler.me //www.de-compiler.me function Generate_Delphi_Serial(UserName : string): string; const Magic: array[0..38] of Byte = ( $0B, $06, $11, $0C, $0C, $0E, $05, $0C, $10, $0A, $0B, $06, $0E, $0E, $04, $0B, $06, $0E, $0E, $04, $0B, $09, $0C, $0B, $0A, $08, $0A, $0A, $10, $08, $04, $06, $0A, $0C, $10, $08, $0A, $04, $10 ); var i,iCounter : cardinal; a01,a02,P1,P2 : integer; begin result := 'nop'; if (Length(UserName) < 5) then exit; iCounter := 0; for i := 4 to length(UserName) do begin a01 := (Ord(UserName[i]) * Magic[iCounter]); a02 := a02 + a01; if (iCounter < $26) then iCounter := (iCounter + 1) else iCounter := 0; end; p1 := a02; iCounter := 0; a02 := 0; for i := 4 to length(UserName) do begin a01 := (Ord(UserName[i]) * (Ord(UserName[(i - 1)]))) * Magic[iCounter]; a02 := a02 + a01; if (iCounter < $26) then iCounter := (iCounter + 1) else iCounter := 0; end; p2 := a02; result := inttostr(p1) + '-' + inttostr(p2); end; //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ function Generate_Asm_Serial(UserName : string): string; const Magic: array[0..38] of Byte = ( $0B, $06, $11, $0C, $0C, $0E, $05, $0C, $10, $0A, $0B, $06, $0E, $0E, $04, $0B, $06, $0E, $0E, $04, $0B, $09, $0C, $0B, $0A, $08, $0A, $0A, $10, $08, $04, $06, $0A, $0C, $10, $08, $0A, $04, $10 ); var len,P1,P2:integer; begin result := 'nop'; if (Length(UserName) < 5) then exit; len := length(UserName); asm pushad mov eax, 4 mov edx,len sub edx,3 xor ebx,ebx xor esi,esi @Mirc_Key_1: mov ecx, dword ptr ss:[username] movzx ecx, byte ptr ds:[ecx+eax-1] movzx edi, byte ptr ds:[magic[ebx]] imul ecx, edi add esi, ecx cmp ebx, $026 jnb @Mirc_Key_2 inc ebx jmp @Mirc_Key_3 @Mirc_Key_2: xor ebx, ebx @Mirc_Key_3: inc eax dec edx jnz @Mirc_Key_1 mov p1,esi mov eax, 4 mov edx,len sub edx,3 xor ebx,ebx xor esi,esi @Mirc_Key_4: mov ecx, dword ptr ss:[username] movzx ecx, byte ptr ds:[ecx+eax-1] mov edi, dword ptr ss:[username] movzx edi, byte ptr ds:[edi+eax-2] imul ecx, edi movzx edi, byte ptr ds:[magic[ebx]] imul ecx, edi add esi, ecx cmp ebx, $026 jnb @Mirc_Key_5 inc ebx jmp @Mirc_Key_6 @Mirc_Key_5: xor ebx, ebx @Mirc_Key_6: inc eax dec edx jnz @Mirc_Key_4 mov p2,esi popad end; result := inttostr(p1) + '-' + inttostr(p2); end; //IMPsoTOR - www.de-compiler.me //25159-2229268