[NASM] crackme example, (cmpsb for Str comp)

Download | Vote Up (0) | Vote Down (0)
section .data                
        message: db "Serial : "
        lenMessage: equ $-message
        
        good: db "VALID PASSWORD",10,13
        lenGood: equ $-good
        
        error: db "Wrong Password",10,13
        lenError: equ $-error
        
        ser: db "asm_roxx"
        lenSer: equ $-ser    
 
 
section .bss              
        entry: resb 32           
    
section .text
        global _start
 
_start:
 

        mov eax, 4       ; appelle sys_write 
        mov ebx, 1
        mov ecx, message
        mov edx, lenMessage
        int 80h

        mov eax, 3        ; appelle sys_read 
        mov ebx, 0    
        mov ecx, entry    
        mov edx, 10
        int 80h        


        mov edi, entry 
        mov esi, ser     ; on met le serial dans esi
        mov ecx, lenSer  ; on met la taille du serial dans ecx
        rep cmpsb        ; on compare
        jne _wrong

        ;~ message Succes----------
        mov eax, 4      ; appelle sys_write        
        mov ebx, 1
        mov ecx, good        
        mov edx, lenGood
        int 80h

        jmp _exit      ; Saut vers _exit


        ;~ message Error----------
_wrong:
        mov eax, 4            ; appelle sys_write            
        mov ebx, 1    
        mov ecx, error
        mov edx, lenError
        int 80h        

        jmp _exit            ; Saut vers _exit


        ;~ Exit----------
_exit:
        mov eax, 1            ; appelle sys_exit      
        mov ebx, 0
        int 80h

fr0g


Be the first to give feedback !

Please login to comment !