Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: fary en 28 Agosto 2010, 08:37 AM

Título: Fallo en encriptacion.
Publicado por: fary en 28 Agosto 2010, 08:37 AM
Hola buenas, estoi intentando hacer una simple encriptacion en asm pero CREO que me falla la api lstrcat, no estoi muy seguro....

este es el code:

Código (asm) [Seleccionar]
format PE console
entry start

include 'c:\archivos de programa\include\win32ax.inc'

section '.code' code readable executable
start:

stdcall longitud,tipo

proc longitud,cadena

    mov edx,[cadena]
    sub edx,1
    bucle:
    add edx,1
    mov bl,byte[edx]
    cmp bl,NULL
    jz fin
    jnz seguir
    seguir:
        mov [letra],bl
        add [contador],1
        xor bl,5
        invoke lstrcat,[cadena],bl ; esto es lo que me falla
    jmp bucle
    fin:
        pop eax
        invoke printf,tipo2,[cadena]
        invoke scanf,tipo2,numero
        ret
endp

section '.data' data readable writeable

    contador dd 0
    tipo db 'hola',NULL
    tipo2 db '%i',0
    numero dd ?
    letra db ?
    cadena db 'h'

section '.idata' import data readable writeable

    library  msvcrt,'msvcrt.dll',\
        KERNEL32,'KERNEL32.DLL',\
        USER32,'USER32.DLL'

    import msvcrt, printf,'printf',\
        scanf,'scanf'
    import KERNEL32,lstrcat,'lstrcat'
    import USER32,MessageBoxA,'MessageBoxA'       



espero que alguien me ayude.

salu2!
Título: Re: Fallo en encriptacion.
Publicado por: kisk en 29 Agosto 2010, 00:48 AM
Cita de: Drinky94 en 28 Agosto 2010, 08:37 AM
Hola buenas, estoi intentando hacer una simple encriptacion en asm pero CREO que me falla la api lstrcat, no estoi muy seguro....

este es el code:

Código (asm) [Seleccionar]
format PE console
entry start

include 'c:\archivos de programa\include\win32ax.inc'

section '.code' code readable executable
start:

stdcall longitud,tipo

proc longitud,cadena

   mov edx,[cadena]
   sub edx,1
   bucle:
   add edx,1
   mov bl,byte[edx]
   cmp bl,NULL
   jz fin
   jnz seguir
   seguir:
       mov [letra],bl
       add [contador],1
       xor bl,5
       invoke lstrcat,[cadena],bl ; esto es lo que me falla
   jmp bucle
   fin:
       pop eax
       invoke printf,tipo2,[cadena]
       invoke scanf,tipo2,numero
       ret
endp

section '.data' data readable writeable

   contador dd 0
   tipo db 'hola',NULL
   tipo2 db '%i',0
   numero dd ?
   letra db ?
   cadena db 'h'

section '.idata' import data readable writeable

   library  msvcrt,'msvcrt.dll',\
       KERNEL32,'KERNEL32.DLL',\
       USER32,'USER32.DLL'

   import msvcrt, printf,'printf',\
       scanf,'scanf'
   import KERNEL32,lstrcat,'lstrcat'
   import USER32,MessageBoxA,'MessageBoxA'        



espero que alguien me ayude.

salu2!

Recomendaciones :