N-PN White-Hat Project
[ASM] Keygen Progressive KeygenMe #1 - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72)
+--- Forum : Langages compilés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=25)
+--- Sujet : [ASM] Keygen Progressive KeygenMe #1 (/showthread.php?tid=2255)



[ASM] Keygen Progressive KeygenMe #1 - sakiir - 09-10-2012

Hello voici le Keygen du Progressive KeygenMe #1 que j'ai codé en Assembleur !

Voici la source :


Keygen.asm
Code :
.386
    .model flat,stdcall
    option casemap:none
    
    include         windows.inc
    include         user32.inc
    include         kernel32.inc
    includelib      user32.lib
    includelib      kernel32.lib
    
    DlgProc         proto           :DWORD,:DWORD,:DWORD,:DWORD
    
    .data
    
    Messagepetit  db       "Entrez plus de caracteres !",0
    Messagegrand  db       "Entrez moins de caracteres !",0
    Erreur            db       "ERREUR",0
    About1            db       "About Me",0
    Form              db       "%d",0
    About             BYTE     "Merci D'avoir telecharge Mon Keygen.",13 ,10
                              BYTE     " Je suis Sakiir de Sakiir-Security.",13 ,10
                              BYTE     " Visit : sakiir.hack-free.net.",13 ,10
                              BYTE     "Proresive KeygenMe Keygenned By Sakir-Security ",13 ,10
    
    .data?
    hinstance       HINSTANCE       ?  
    SerialBuffer    db              512 dup(?)
    NameBuffer      db       50 dup(?)
    buffer                  db              512 dup(?)
    
    LenName                 db              50 dup(?)
    
    .code
    start:
        invoke GetModuleHandle, NULL
        mov    hinstance,eax
      
        invoke DialogBoxParam, hinstance, 1001, NULL, addr DlgProc, NULL
        invoke ExitProcess,eax
      
    DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
            .if uMsg == WM_COMMAND
                  
                    mov     eax,wParam
                    .if eax==1002
                            invoke GetDlgItemText,hWnd,1003,addr NameBuffer,500
                            call Generate
                            invoke SetDlgItemText,hWnd,1005,addr SerialBuffer
                          
                          
                    .elseif eax==1004
                            invoke  SendMessage, hWnd, WM_CLOSE, 0, 0
                    .elseif eax == 1011
                            invoke MessageBox,hWnd,addr About,addr About1,MB_OK + MB_ICONINFORMATION
                    .endif
                  
                  
            .elseif uMsg == WM_CLOSE
                    invoke  EndDialog, hWnd, 0
          
            .endif
          
        xor eax,eax
        ret
    
    DlgProc endp
    
    Generate proc  hWnd:HWND
    
    
    
    MOV DWORD PTR [LenName], EAX
    
    
    cmp DWORD PTR [LenName],2h
    jl NoInput
    cmp DWORD PTR [LenName],32h
    jg Error
    
    xor eax, eax                          
    xor ebx, ebx                          
    xor ecx, ecx                          
    xor edx, edx
    
    routine:
    
    MOV AL,BYTE PTR [ecx+NameBuffer]
    INC ECX
    ADD EBX,EAX
    CMP ECX, DWORD PTR [LenName]
    JNE routine
    
    invoke wsprintf,addr SerialBuffer,addr Form,ebx
            ret
    
    
    NoInput:
            invoke SetDlgItemText,hWnd,1005,addr Messagepetit
                    ret
    Error:
            invoke SetDlgItemText,hWnd,1005,addr Messagepetit
                    Ret
    Generate EndP
    
    
    end start
Keygen.rc :
Code :
#define IDD_DLG1001 1001
#define ExitButton 1004
#define Generate 1002
#define IDC_STATIC1006 1006
#define IDC_STATIC1007 1007
#define ID_NAME 1003
#define ID_SERIAL 1005
#define LOGO 1007
#define MyIcon 1013
#define IDC_IMAGE1008 1008
#define IDC_IMAGE1009 1009
#define IDC_ABOUT 1011

LOGO BITMAP DISCARDABLE "LOGO1.bmp"
MyIcon ICON DISCARDABLE "favicon.ico"

IDD_DLG1001 DIALOGEX 0,0,333,119
CAPTION "IDD_DLG1001"
FONT 8,"Stencil Std",700
STYLE 0x10cc0000
EXSTYLE 0x00000000
BEGIN
        CONTROL "Generate",Generate,"Button",0x50010000,0,81,61,34,0x00000000
        CONTROL "Exit Dude",ExitButton,"Button",0x50010000,267,80,61,34,0x00000000
        CONTROL "",ID_NAME,"Edit",0x50010080,77,5,173,19,0x00000200
        CONTROL "",ID_SERIAL,"Edit",0x50010080,77,24,173,19,0x00000200
        CONTROL "UserName :",IDC_STATIC1006,"Static",0x50000000,27,9,39,13,0x00000000
        CONTROL "Serial :",IDC_STATIC1007,"Static",0x50000000,38,29,39,13,0x00000000
        CONTROL "#1007",IDC_IMAGE1008,"Static",0x5200020e,71,43,188,75,0x00000000
        CONTROL "",IDC_IMAGE1009,"Static",0x50000203,258,7,75,58,0x00000000
        CONTROL "About",IDC_ABOUT,"Button",0x50010000,261,9,71,57,0x00000000
END



[Image: 1349799430-sans-titre.png]


RE: [ASM] Keygen Progressive KeygenMe #1 - supersnail - 09-10-2012

Sympa ^^ (enfin même si le code reste "basique", et planqué dans les macros MASM :þ)

Sinon juste une petite remarque sur la forme: essaie d'indenter un peu mieux ton code Smile


RE: [ASM] Keygen Progressive KeygenMe #1 - sakiir - 09-10-2012

Merci du conseil Smile je vais sans doutes faire des modif !
Je voulais juste montrer comment on adapte une routine a un code :p


RE: [ASM] Keygen Progressive KeygenMe #1 - supersnail - 09-10-2012

Sinon juste comme ça, j'viens de tomber sur celui de Xylitol: http://www.xylibox.com/2010/12/keygenme-for-newbies-progressive.html Wink