home *** CD-ROM | disk | FTP | other *** search
- .386
- .model tiny
- code segment 'code' public use16
- assume cs:code,ds:code
- org 100h
- start:
- mov ah,09h
- mov dx,offset messy1
- int 21h
- mov ah,0ah
- mov dx,offset nm
- int 21h
- mov ah,09h
- mov dx,offset messy2
- int 21h
- mov cl,byte ptr nm+1
- movzx ecx,cl
- mov si,offset nm+2
- mov di,offset arr
- xor ax,ax
- l1:
- lodsb
- mov bx,ax
- mov byte ptr [di+bx],'1'
- loop l1
- mov ah,0ah
- mov dx,offset nm
- int 21h
- mov cl,byte ptr nm+1
- movzx ecx,cl
- mov si,offset nm+2
- mov di,offset nm-1
- xor ax,ax
- l2:
- lodsb
- mov bx,ax
- not bx
- mov byte ptr [di+bx],'1'
- loop l2
- mov si,offset arr
- mov cx,100h
- mov di,offset nm
- push di
- xor bx,bx
- l3:
- inc bx
- lodsb
- cmp al,'0'
- jz cnt
- mov al,bl
- stosb
- cnt:
- loop l3
- xor eax,eax
- stosd
- stosd
- pop si
- mov bx,4600h
- mov dl,45h
- call convert
- call convert
- mov di,si
- push si
- ll1:
- lodsd
- test eax,eax
- jz ll2
- xor eax,0a0b0c0dh
- stosd
- jmp ll1
- ll2:
- xor al,al
- stosb
- pop si
- mov bx,00d0h
- mov dl,30h
- call convert
- mov byte ptr [di],'$'
- mov ah,09
- mov dx,offset messy3
- int 21h
- mov dx,si
- int 21h
- ret
-
- convert proc near
- push si
- mov di,si
- l4:
- lodsb
- or al,al
- je l5
- cmp al,20h
- jae ok1
- add al,dl
- ok1:
- cmp al,7eh
- jbe ok2
- sub al,bh
- add al,bl
- ok2:
- stosb
- jmp l4
- l5:
- pop si
- ret
- convert endp
-
- messy1 db 13,10,'CoDe_InSiDe''s 5th crackme keygen by nh',13,10
- db ' Your name : $'
- messy2 db 13,10,' Your organization: $'
- messy3 db 13,10,' Your key : $'
- arr db 100h dup ('0')
- nm dw 20h
-
- code ends
- end start
- end
-