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

📄 geqpro.asm

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



Code Segment Byte Public

Assume Ds:Code,Cs:Code ; COM (Copy Of Memory) File

Org 100h

P386    ; Enable 32 bit registers



Start:

        mov     ah,0h                    ; Clear screen and move

        mov     al,3h

        int     10h

        mov     ah,2



        xor     dx,dx                    ; Move cursor to upperleft corner

        mov     bh,0h

        int     10h



        xor     ah,ah

        mov     ah,09

        mov     dx,offset Intro          ; Setting the intro

        int     21h



        mov     ah,0Ah

        mov     edx,offset Namesto

        int     21h                      ; Get Name



        xor     edi,edi

        mov     edi,offset Namesto+2     ; +4 if we using dwords

        xor     ecx,ecx

        xor     eax,eax

        

anotherchar:



         movsx  eax,byte ptr[edi]        ; Put Name in eax

         cmp    eax,0h

         jz     exit

         inc    ecx

         inc    edi

         cmp    byte ptr [edi],0Dh

         jnz    anotherchar

         jmp    encrypt                  ; JMP to routine 



exit:

         mov    ah,4ch

         int    21h

        

encrypt: ;(Initilization for encryption process)



        xor     edi,edi                  ; Initialization stage

        xor     ebx,ebx                  ; I just zero-ed all registers

        xor     ebp,ebp                  ; except cx (it contains name's

        xor     edx,edx                  ; length)

        xor     eax,eax

        mov     ebp,5



enc1:   ;(First Routine Start Here)



        lea     edi,[xorbyte+2]          ; Get XORByte

        movsx   edx,byte ptr [edi+ebx]   ; Put it in edx 

        inc     ebx                      ; Increment ebx to get next char

        cmp     ebp,ebx                  ; Compare with ebp=5 length of 

        jnz     enc1a                    ; Xorbyte if not same zero go to

        xor     ebx,ebx                  ; encryption 1 if same ebx = 0



enc1a:  ;(First Sub-Routine)



        lea     edi,[namesto+2]          ; get name again (not efficient)

        xor     [edi+eax],edx            ; XOR Named with XORByte

        inc     eax                      ; Loop to XORed All characters

        cmp     ecx,eax                  ; Finish? Then encryption 2 

        jg      enc1



encrypt2: ;(Second Routine)



        lea     edi,[edi]                ; Get the result of First Routine

        xor     eax,eax                  ; Initialize registers

        xor     ebx,ebx



enc2:   ;(2nd sub routine)



        movsx   edx,byte ptr [edi+eax]   ; Subroutine (directly ripped when

        inc     eax                      ; debugging with SoftICE with

        lea     edx , [edx*8+edx]        ; minor alterations.

        add     edx,14bh

        add     ebx,edx

        cmp     ecx,eax

        jg      enc2                     ; Continue routine for all                              

        mov     ecx,ebx                  ; Stored result in ecx



result: ;(Teraphy's Routine to display result)



        xor     esi,esi

        mov     si,offset Serial+9

        mov     eax,ecx

        mov     ecx,0Ah



KeepGoing:

        xor     edx,edx

        div     ecx

        add     dl,30h

        cmp     dl,3Ah

        jl      printnow

        add     dl,07



printnow:

        dec     esi

        mov     [esi],dl

        or      eax,eax

        jnz     KeepGoing



        mov     ah,9

        mov     dx,offset RegPrompt

        int     21h

        int     20h

                                



Intro		db 13,10,'-----------------------------------'

		db 13,10,' GRaPHiC eQuaLiZeR PRo' v1.1       '                 

		db 13,10,' SoFTWaRe                          '

		db 13,10,' CODED BY:  ReZeL The LoNeCRaCKeR. '                    

		db 13,10,' Feb 5th, 1999                     '

		db 13,10,' http://www.anwida.com             '

		db 13,10,''

		db 13,10,'-----------------------------------',13,10

		db 13,10,	'Enter Your Name ===> $'



xorbyte         db 13,10,'U7HG4',13,10,'$'  ; Get from SoftICE

RegPrompt       db 13,10,'Your Registration Number Is ===> '

Serial          db 0,0,0,0,0,0,0,0,13,10,24h

Namesto         db 18h,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0



Code Ends

End Start

⌨️ 快捷键说明

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