⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newmail.asm

📁 破解很多程序的序列号算法程序
💻 ASM
字号:

.MODEL TINY
.CODE
.386
ORG 100h

start:  jmp main

;_______________________________________________________________

    intro       db 10,13, 'New Mail! v1.0b ** kEYGEN #1 bY R!SC ** risc@notme.com **',10,13,10,13
                db 10,13, 'eNTER yOUR nAME : ', '$'

    input       db 20h, 0
    input2      db  20h dup(0)
    regname     db 20h dup(0)
    code        db 10,13, 'yOUR rEGCODE iS : '
    regcode     db 14 dup(20h)
    regend      db 10,13, '$'
    itshere     db "its here-->"
    tempregcode     db  4 dup (0)
    finished    db  "<-- in hex, just gotta convert it! (byte by byte)"
    noname      db 10,13,10,13 ,'no name entered / so ya get no code', 10,13, '$'
    badname1     db 10,13,10,13 ,'bad name entered / try some letters', 10,13, '$'
    count       db  0

    mailme      db  'risc_1@hotmail.com  1024bytes'
;_______________________________________________________________

main:
        
        mov     ah, 9           ; print title
        lea     dx, intro       ; dx with offset ov text
        int     21h
        lea     dx, input
        mov     ah, 0ah
        int     21h
        
        cmp     byte ptr [input+1], 0
        jne     go
      
        lea     dx, noname
        mov     ah, 9 
        int     21h
badname:        
        lea     dx, badname1
        mov     ah, 9 
        int     21h
fuck:
        mov     ax, 4C01h   ; Exit with error
        int     21h
        

go:
        xor     ax,ax
        xor     cx,cx
        mov     al, byte ptr [input+1]
        lea     di, input2
        lea     si, regname
hehe:
        mov     bl, byte ptr [di]       ;get charcater
        cmp     bl, 39h                 ; see if its a number
        jle     skipit                  ; 
        
        cmp     bl, 122                 ; check if its a 'z'
        jle     toupper                 ; goto next check if it is
        jmp     skipit
storechar:
        mov     byte ptr [si], bl       ; store the character
        inc     di
        inc     si
        inc     cx                      ; good char counter (ones weve passed)
        dec     al                      ; input char counter
        je      done                    ; have we processed all chars?
        jmp     hehe                    ; still some to format..
        
toupper:
        cmp     bl, 97                  ; 97 = 'a' so if it >='z' & <= 'a' its a lowercase char
        jge     toupper2
        cmp     bl, 64
        jle     skipit
        cmp     bl, 91
        jge     skipit
        jmp     storechar               ; its not lower case or a number, so save it..
toupper2:
        sub     bl, 20h
        jmp     storechar
check2:
        cmp     bl, 30h
        jge     skipit                  ; less than 39h, bigger than 30h, its a number
        mov     byte ptr [si], bl       ; otherwise, save it..
        jmp     nextchar
skipit:
        inc     di          ;next char
        dec     al          ;dec count
        je      done
        jmp     hehe
        
nextchar:
        inc     si          ;we saved a char, so point to next space
        inc     cx          ; say we got x good chars
        inc     di          ;next input char to check
        dec     al          ;hmmn, is there one
        je      done
        jmp     hehe


done:
 ;       int 03
        test    cx,cx
        je      badname
        lea     di, regname
        mov     bx, 52h
        mov     si, 00
        xor     ax,ax
a1:     
        xor     bl, byte ptr [di]
        add     si, 04
        add     di, 04
        cmp     si , cx
        jle     a1
        
        lea     si , tempregcode
        add     si, ax
        mov     byte ptr [si], bl
        
        inc     al
        
        lea     di, regname
        add     di , ax
        mov     bx, 0b8h
        mov     si, 01

a2:     
        xor     bl, byte ptr [di]
        add     si, 04
        add     di, 04
        cmp     si , cx
        jle     a2
        
        lea     si , tempregcode
        add     si, ax
        mov     byte ptr [si], bl
        inc     al      
         
        lea     di, regname
        add     di , ax
        mov     bx, 01bh
        mov     si, 02

a3:     
        xor     bl, byte ptr [di]
        add     si, 04
        add     di, 04
        cmp     si , cx
        jle     a3
        
        lea     si , tempregcode
        add     si, ax
        mov     byte ptr [si], bl
   
      
        lea     di, regname
        add     di , ax
        mov     bx, 06fh
        mov     si, 02

a4:     
        xor     bl, byte ptr [di]
        add     si, 04
        add     di, 04
        cmp     si , cx
        jle     a4
        
        lea     si , tempregcode
        inc     al  
        add     si, ax
        mov     byte ptr [si], bl
        inc     al              

;    int 03
        
        
;fix the numbers

        lea si,tempregcode
        lea di,regcode
        xor ax,ax
        xor ebx,ebx
        mov al, byte ptr [si]
        inc si
        mov cx,10
        mov byte ptr [count] ,0
again1:
        shl ebx, 8
        xor dx,dx
        div cx
        add dl,030h
        mov bl,dl

        add byte ptr [count],1

        test    ax,ax
        jne again1
        
        mov cl, byte ptr [count]
        mov byte ptr [di], bl


        inc di          ; next space for char
        dec cl
        je  next1

        shr ebx,8
        mov byte ptr [di], bl
        inc di
        dec cl
        je  next1

        shr ebx,8
        mov byte ptr [di], bl

        inc di


        mov byte ptr [count] ,0
next1:
        xor ax,ax
        xor ebx,ebx
        mov al, byte ptr [si]
        inc si
        mov cx,10
again2:
        shl ebx, 8
        xor dx,dx
        div cx
        add dl,030h
        mov bl,dl

        add byte ptr [count],1

        test    ax,ax
        jne again2
        
        mov cl, byte ptr [count]

        mov byte ptr [di], bl
        inc di
        dec cl
        je  next2

        shr ebx,8
        mov byte ptr [di], bl
        inc di
        dec cl
        je  next2

        shr ebx,8
        mov byte ptr [di], bl
        inc di
        
        xor dx,dx


        mov byte ptr [count] ,0
next2:  

        xor ax,ax
        xor ebx,ebx
        mov al, byte ptr [si]
        inc si
        mov cx,10
again3:
        shl ebx, 8
        xor dx,dx
        div cx
        add dl,030h
        mov bl,dl

        add byte ptr [count],1
        test    ax,ax
        jne again3
        
        mov cl, byte ptr [count]

        mov byte ptr [di], bl
        inc di
        dec cl
        je  next3

        shr ebx,8
        mov byte ptr [di], bl
        inc di
        dec cl
        je  next3

        shr ebx,8
        mov byte ptr [di], bl
        inc di
        
        xor dx,dx


        mov byte ptr [count] ,0
next3:

        xor ax,ax
        xor ebx,ebx
        mov al, byte ptr [si]
        inc si
        mov cx,10
again4:
        shl ebx, 8
        xor dx,dx
        div cx
        add dl,030h
        mov bl,dl

        add byte ptr [count],1

        test    ax,ax
        jne again4
        
        mov cl, byte ptr [count]

        mov byte ptr [di], bl
        inc di
        dec cl
        je  next4

        shr ebx,8
        mov byte ptr [di], bl
        inc di
        dec cl
        je  next4

        shr ebx,8
        mov byte ptr [di], bl


next4:

       mov     ah, 9           ; print title
        lea     dx, code       ; dx with offset ov text
        int     21h


 ;       int 03

        mov     ax, 4C00h   ; All Done And Exit 
        int     21h

christ:
        db  "your a nosey fukkah! well, greets to ya anyway, i'd do the same..."
  end    start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -