Code Segment Byte Public Assume Ds:Code,Cs:Code Org 100h P386 Start: jmp Main Logo DB " ÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[ CuteFTP 2.x ] ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄ",10,13 DB " [þ] CuteFTP ver2.x Key-Maker By The+Q [þ] ",10,13 DB " ÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ[ The+Q ] ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄ",10,13,10,13,'$' NewLine DB 10,13,10,13,'$' GetMsg DB " [?] Please Enter Name : $" Stat1 DB " [þ] Creating new file..",10,13,'$' Stat2 DB " [þ] Encrypting new encryption-table head..",10,13,'$' Stat3 DB " [þ] Calculating Name CRC..",10,13,'$' Stat4 DB " [þ] Encrypting Name CRC..",10,13,'$' Stat5 DB " [þ] Encrypting Name..",10,13,'$' Stat6 DB " [ê] CuteFTP key file ready. Copy it to CuteFTP main directory.",10,13 DB " EnJoY!",10,13,'$' FileName DB "CUTEFTP.KEY",0 hfile DW 0 Count DB 0 NewHeadSTR DB 'Cracked By The+Q Phrozen Crew 98' Encrypt_Table DB 071h,005h,000h,000h,055h,02Eh,000h,000h,077h,072h,000h,000h,06Bh,06Ah,000h,000 DB 07Fh,073h,000h,000h,0ABh,00Bh,000h,000h,046h,056h,000h,000h,0BDh,074h,000h,000 DB 0EFh,0E1h,0E8h,0EEh,0E6h,0EBh,0E3h,0E4h,0E9h,0E7h,0E2h,0EDh,0ECh,0E0h,0E5h,0EAh DB 04Fh,041h,048h,04Eh,046h,04Bh,043h,044h,049h,047h,042h,04Dh,04Ch,040h,045h,04Ah DB 0DFh,0D1h,0D8h,0DEh,0D6h,0DBh,0D3h,0D4h,0D9h,0D7h,0D2h,0DDh,0DCh,0D0h,0D5h,0DAh DB 01Fh,011h,018h,01Eh,016h,01Bh,013h,014h,019h,017h,012h,01Dh,01Ch,010h,015h,01Ah DB 02Fh,021h,028h,02Eh,026h,02Bh,023h,024h,029h,027h,022h,02Dh,02Ch,020h,025h,02Ah DB 0FFh,0F1h,0F8h,0FEh,0F6h,0FBh,0F3h,0F4h,0F9h,0F7h,0F2h,0FDh,0FCh,0F0h,0F5h,0FAh DB 0BFh,0B1h,0B8h,0BEh,0B6h,0BBh,0B3h,0B4h,0B9h,0B7h,0B2h,0BDh,0BCh,0B0h,0B5h,0BAh DB 08Fh,081h,088h,08Eh,086h,08Bh,083h,084h,089h,087h,082h,08Dh,08Ch,080h,085h,08Ah DB 03Fh,031h,038h,03Eh,036h,03Bh,033h,034h,039h,037h,032h,03Dh,03Ch,030h,035h,03Ah DB 0AFh,0A1h,0A8h,0AEh,0A6h,0ABh,0A3h,0A4h,0A9h,0A7h,0A2h,0ADh,0ACh,0A0h,0A5h,0AAh DB 06Fh,061h,068h,06Eh,066h,06Bh,063h,064h,069h,067h,062h,06Dh,06Ch,060h,065h,06Ah DB 0CFh,0C1h,0C8h,0CEh,0C6h,0CBh,0C3h,0C4h,0C9h,0C7h,0C2h,0CDh,0CCh,0C0h,0C5h,0CAh DB 05Fh,051h,058h,05Eh,056h,05Bh,053h,054h,059h,057h,052h,05Dh,05Ch,050h,055h,05Ah DB 09Fh,091h,098h,09Eh,096h,09Bh,093h,094h,099h,097h,092h,09Dh,09Ch,090h,095h,09Ah DB 00Fh,001h,008h,00Eh,006h,00Bh,003h,004h,009h,007h,002h,00Dh,00Ch,000h,005h,00Ah DB 07Fh,071h,078h,07Eh,076h,07Bh,073h,074h,079h,077h,072h,07Dh,07Ch,070h,075h,07Ah DB 0A7h,0ADh,0AEh,0A3h,0A0h,0A6h,0A9h,0AAh,0A1h,0A2h,0A8h,0A5h,0ABh,0ACh,0A4h,0AFh DB 007h,00Dh,00Eh,003h,000h,006h,009h,00Ah,001h,002h,008h,005h,00Bh,00Ch,004h,00Fh DB 097h,09Dh,09Eh,093h,090h,096h,099h,09Ah,091h,092h,098h,095h,09Bh,09Ch,094h,09Fh DB 0E7h,0EDh,0EEh,0E3h,0E0h,0E6h,0E9h,0EAh,0E1h,0E2h,0E8h,0E5h,0EBh,0ECh,0E4h,0EFh DB 067h,06Dh,06Eh,063h,060h,066h,069h,06Ah,061h,062h,068h,065h,06Bh,06Ch,064h,06Fh DB 037h,03Dh,03Eh,033h,030h,036h,039h,03Ah,031h,032h,038h,035h,03Bh,03Ch,034h,03Fh DB 0F7h,0FDh,0FEh,0F3h,0F0h,0F6h,0F9h,0FAh,0F1h,0F2h,0F8h,0F5h,0FBh,0FCh,0F4h,0FFh DB 057h,05Dh,05Eh,053h,050h,056h,059h,05Ah,051h,052h,058h,055h,05Bh,05Ch,054h,05Fh DB 017h,01Dh,01Eh,013h,010h,016h,019h,01Ah,011h,012h,018h,015h,01Bh,01Ch,014h,01Fh DB 0D7h,0DDh,0DEh,0D3h,0D0h,0D6h,0D9h,0DAh,0D1h,0D2h,0D8h,0D5h,0DBh,0DCh,0D4h,0DFh DB 0C7h,0CDh,0CEh,0C3h,0C0h,0C6h,0C9h,0CAh,0C1h,0C2h,0C8h,0C5h,0CBh,0CCh,0C4h,0CFh DB 077h,07Dh,07Eh,073h,070h,076h,079h,07Ah,071h,072h,078h,075h,07Bh,07Ch,074h,07Fh DB 0B7h,0BDh,0BEh,0B3h,0B0h,0B6h,0B9h,0BAh,0B1h,0B2h,0B8h,0B5h,0BBh,0BCh,0B4h,0BFh DB 047h,04Dh,04Eh,043h,040h,046h,049h,04Ah,041h,042h,048h,045h,04Bh,04Ch,044h,04Fh DB 027h,02Dh,02Eh,023h,020h,026h,029h,02Ah,021h,022h,028h,025h,02Bh,02Ch,024h,02Fh DB 087h,08Dh,08Eh,083h,080h,086h,089h,08Ah,081h,082h,088h,085h,08Bh,08Ch,084h,08Fh DB 02Ch,021h,02Ah,02Fh,029h,022h,026h,028h,020h,02Dh,023h,024h,02Eh,027h,025h,02Bh DB 0CCh,0C1h,0CAh,0CFh,0C9h,0C2h,0C6h,0C8h,0C0h,0CDh,0C3h,0C4h,0CEh,0C7h,0C5h,0CBh DB 04Ch,041h,04Ah,04Fh,049h,042h,046h,048h,040h,04Dh,043h,044h,04Eh,047h,045h,04Bh DB 01Ch,011h,01Ah,01Fh,019h,012h,016h,018h,010h,01Dh,013h,014h,01Eh,017h,015h,01Bh DB 07Ch,071h,07Ah,07Fh,079h,072h,076h,078h,070h,07Dh,073h,074h,07Eh,077h,075h,07Bh DB 0ACh,0A1h,0AAh,0AFh,0A9h,0A2h,0A6h,0A8h,0A0h,0ADh,0A3h,0A4h,0AEh,0A7h,0A5h,0ABh DB 0BCh,0B1h,0BAh,0BFh,0B9h,0B2h,0B6h,0B8h,0B0h,0BDh,0B3h,0B4h,0BEh,0B7h,0B5h,0BBh DB 06Ch,061h,06Ah,06Fh,069h,062h,066h,068h,060h,06Dh,063h,064h,06Eh,067h,065h,06Bh DB 08Ch,081h,08Ah,08Fh,089h,082h,086h,088h,080h,08Dh,083h,084h,08Eh,087h,085h,08Bh DB 05Ch,051h,05Ah,05Fh,059h,052h,056h,058h,050h,05Dh,053h,054h,05Eh,057h,055h,05Bh DB 03Ch,031h,03Ah,03Fh,039h,032h,036h,038h,030h,03Dh,033h,034h,03Eh,037h,035h,03Bh DB 0FCh,0F1h,0FAh,0FFh,0F9h,0F2h,0F6h,0F8h,0F0h,0FDh,0F3h,0F4h,0FEh,0F7h,0F5h,0FBh DB 0DCh,0D1h,0DAh,0DFh,0D9h,0D2h,0D6h,0D8h,0D0h,0DDh,0D3h,0D4h,0DEh,0D7h,0D5h,0DBh DB 00Ch,001h,00Ah,00Fh,009h,002h,006h,008h,000h,00Dh,003h,004h,00Eh,007h,005h,00Bh DB 0ECh,0E1h,0EAh,0EFh,0E9h,0E2h,0E6h,0E8h,0E0h,0EDh,0E3h,0E4h,0EEh,0E7h,0E5h,0EBh DB 09Ch,091h,09Ah,09Fh,099h,092h,096h,098h,090h,09Dh,093h,094h,09Eh,097h,095h,09Bh DB 04Dh,042h,048h,044h,046h,04Fh,04Bh,041h,04Ah,049h,043h,04Eh,045h,040h,04Ch,047h DB 0BDh,0B2h,0B8h,0B4h,0B6h,0BFh,0BBh,0B1h,0BAh,0B9h,0B3h,0BEh,0B5h,0B0h,0BCh,0B7h DB 02Dh,022h,028h,024h,026h,02Fh,02Bh,021h,02Ah,029h,023h,02Eh,025h,020h,02Ch,027h DB 0EDh,0E2h,0E8h,0E4h,0E6h,0EFh,0EBh,0E1h,0EAh,0E9h,0E3h,0EEh,0E5h,0E0h,0ECh,0E7h DB 0FDh,0F2h,0F8h,0F4h,0F6h,0FFh,0FBh,0F1h,0FAh,0F9h,0F3h,0FEh,0F5h,0F0h,0FCh,0F7h DB 00Dh,002h,008h,004h,006h,00Fh,00Bh,001h,00Ah,009h,003h,00Eh,005h,000h,00Ch,007h DB 08Dh,082h,088h,084h,086h,08Fh,08Bh,081h,08Ah,089h,083h,08Eh,085h,080h,08Ch,087h DB 0DDh,0D2h,0D8h,0D4h,0D6h,0DFh,0DBh,0D1h,0DAh,0D9h,0D3h,0DEh,0D5h,0D0h,0DCh,0D7h DB 03Dh,032h,038h,034h,036h,03Fh,03Bh,031h,03Ah,039h,033h,03Eh,035h,030h,03Ch,037h DB 0CDh,0C2h,0C8h,0C4h,0C6h,0CFh,0CBh,0C1h,0CAh,0C9h,0C3h,0CEh,0C5h,0C0h,0CCh,0C7h DB 09Dh,092h,098h,094h,096h,09Fh,09Bh,091h,09Ah,099h,093h,09Eh,095h,090h,09Ch,097h DB 07Dh,072h,078h,074h,076h,07Fh,07Bh,071h,07Ah,079h,073h,07Eh,075h,070h,07Ch,077h DB 05Dh,052h,058h,054h,056h,05Fh,05Bh,051h,05Ah,059h,053h,05Eh,055h,050h,05Ch,057h DB 0ADh,0A2h,0A8h,0A4h,0A6h,0AFh,0ABh,0A1h,0AAh,0A9h,0A3h,0AEh,0A5h,0A0h,0ACh,0A7h DB 06Dh,062h,068h,064h,066h,06Fh,06Bh,061h,06Ah,069h,063h,06Eh,065h,060h,06Ch,067h DB 01Dh,012h,018h,014h,016h,01Fh,01Bh,011h,01Ah,019h,013h,01Eh,015h,010h,01Ch,017h Buffer_8 DB 'Cracked ' ;---ÄÄÄÄÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄÄÄÄÄ---- Main: lea dx,Logo Call PrintMSG lea dx,GetMsg Call PrintMSG lea edi,@heap_loc Mov ecx,100h xor al,al rep stosb Mov byte ptr [@heap_loc],0D0h lea dx,@heap_loc mov ah,0ah int 21h lea dx,NewLine Call PrintMSG lea dx,Stat1 Call PrintMSG Mov ah,3Ch Xor cx,cx lea dx,FileName int 21h Mov hfile,ax lea dx,Stat2 Call PrintMSG Mov count,0 @Enc_Head: lea esi,NewHeadSTR Xor eax,eax Mov al,Count Mov cl,8 Mul cl Add esi,eax lea edi,Buffer_8 Mov ecx,8 repnz movsb Call Encrypt_Buffer_8 Mov ah,40h Mov bx,hfile mov cx,8 lea dx,Buffer_8 Int 21h Inc Count Cmp byte ptr Count,4 Jnz @Enc_Head lea esi,NewHeadSTR lea edi, Encrypt_Table Mov ecx,20h repnz movsb lea dx,Stat3 Call PrintMSG lea esi,[@heap_loc+2] lea edi,@heap_loc movzx ecx,byte ptr [@heap_loc+1] Push ecx repnz movsb xor al,al Stosb Pop eax Mov ecx,0D7h Sub ecx,eax mov al,20h repnz stosb lea edi,@heap_loc Xor edx,edx Xor eax,eax @Calc_CRC: Movsx ecx, byte ptr [edi+eax] Add edx,ecx Inc eax Cmp eax,50h Jb @Calc_CRC Mov ecx,edx lea dx,Stat4 Call PrintMSG Mov dword ptr Buffer_8, ecx Mov dword ptr [Buffer_8+4],0 Call Encrypt_Buffer_8 Mov ah,40h Mov bx,hfile mov cx,8 lea dx,Buffer_8 Int 21h lea dx,Stat5 Call PrintMSG Mov count,0 @Enc_name: lea esi,@heap_loc Xor eax,eax Mov al,Count Mov cl,8 Mul cl Add esi,eax lea edi,Buffer_8 Mov ecx,8 repnz movsb Call Encrypt_Buffer_8 Mov ah,40h Mov bx,hfile mov cx,8 lea dx,Buffer_8 Int 21h Inc Count Cmp byte ptr Count,1Bh Jnz @Enc_name mov ah,3eh mov bx,hfile int 21h lea dx,Stat6 Call PrintMSG mov ax,4c00h int 21h ;---ÄÄÄÄÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄÄÄÄÄ---- ; PROCEDUREs PrintMSG PROC Push ax mov ah,9 Int 21h Pop ax RET PrintMSG ENDP Encrypt_Buffer_8 PROC lea esi, Encrypt_Table Mov ebx, dword ptr [Buffer_8] Mov edi, dword ptr [Buffer_8+4] Mov eax,ebx Add eax, dword ptr [Esi] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+4] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+8] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+0Ch] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+10h] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+14h] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+18h] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+1ch] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+4] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+8] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+0Ch] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+10h] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+14h] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+18h] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+1ch] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+4] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+8] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+0Ch] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+10h] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+14h] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+18h] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+1ch] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+1ch] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+18h] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+14h] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+10h] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+0ch] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi+8] Call Encrypt_value Xor ebx,eax Mov eax,ebx Add eax, dword ptr [Esi+4] Call Encrypt_value Xor edi,eax Mov eax,edi Add eax, dword ptr [Esi] Call Encrypt_value Xor ebx,eax Mov dword ptr [Buffer_8], edi Mov dword ptr [Buffer_8+4], ebx RET Encrypt_Buffer_8 ENDP Encrypt_value PROC Push ecx Push edx Push esi lea esi, [Encrypt_Table+20h] mov ecx, eax shr ecx, 18h movsx edx, byte ptr [ecx+esi] mov ecx, eax shr ecx, 10h And ecx,0FFh shl edx, 08 movsx ecx, byte ptr [ecx+esi+100h] or edx, ecx mov ecx, eax shr ecx, 8 And ecx,0FFh shl edx, 08 movsx ecx, byte ptr [ecx+esi+200h] or edx, ecx mov ecx, eax And ecx,0FFh shl edx, 08 movsx ecx, byte ptr [ecx+esi+300h] or edx, ecx mov eax, edx shl eax, 0Bh shr edx, 15h or eax, edx Pop esi Pop edx Pop ecx RET Encrypt_value ENDP ;---ÄÄÄÄÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄÄÄÄÄ---- @Heap_loc: Code Ends End Start