elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Fallo en encriptacion.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Fallo en encriptacion.  (Leído 2,483 veces)
fary


Desconectado Desconectado

Mensajes: 1.061



Ver Perfil WWW
Fallo en encriptacion.
« 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
  1. format PE console
  2. entry start
  3.  
  4. include 'c:\archivos de programa\include\win32ax.inc'
  5.  
  6. section '.code' code readable executable
  7. start:
  8.  
  9. stdcall longitud,tipo
  10.  
  11. proc longitud,cadena
  12.  
  13.    mov edx,[cadena]
  14.    sub edx,1
  15.    bucle:
  16.    add edx,1
  17.    mov bl,byte[edx]
  18.    cmp bl,NULL
  19.    jz fin
  20.    jnz seguir
  21.    seguir:
  22.        mov [letra],bl
  23.        add [contador],1
  24.        xor bl,5
  25.        invoke lstrcat,[cadena],bl ; esto es lo que me falla
  26.    jmp bucle
  27.    fin:
  28.        pop eax
  29.        invoke printf,tipo2,[cadena]
  30.        invoke scanf,tipo2,numero
  31.        ret
  32. endp
  33.  
  34. section '.data' data readable writeable
  35.  
  36.    contador dd 0
  37.    tipo db 'hola',NULL
  38.    tipo2 db '%i',0
  39.    numero dd ?
  40.    letra db ?
  41.    cadena db 'h'
  42.  
  43. section '.idata' import data readable writeable
  44.  
  45.    library  msvcrt,'msvcrt.dll',\
  46.        KERNEL32,'KERNEL32.DLL',\
  47.        USER32,'USER32.DLL'
  48.  
  49.    import msvcrt, printf,'printf',\
  50.        scanf,'scanf'
  51.    import KERNEL32,lstrcat,'lstrcat'
  52.    import USER32,MessageBoxA,'MessageBoxA'        


espero que alguien me ayude.

salu2!


En línea

Un byte a la izquierda.
kisk

Desconectado Desconectado

Mensajes: 55



Ver Perfil
Re: Fallo en encriptacion.
« Respuesta #1 en: 29 Agosto 2010, 00:48 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
  1. format PE console
  2. entry start
  3.  
  4. include 'c:\archivos de programa\include\win32ax.inc'
  5.  
  6. section '.code' code readable executable
  7. start:
  8.  
  9. stdcall longitud,tipo
  10.  
  11. proc longitud,cadena
  12.  
  13.    mov edx,[cadena]
  14.    sub edx,1
  15.    bucle:
  16.    add edx,1
  17.    mov bl,byte[edx]
  18.    cmp bl,NULL
  19.    jz fin
  20.    jnz seguir
  21.    seguir:
  22.        mov [letra],bl
  23.        add [contador],1
  24.        xor bl,5
  25.        invoke lstrcat,[cadena],bl ; esto es lo que me falla
  26.    jmp bucle
  27.    fin:
  28.        pop eax
  29.        invoke printf,tipo2,[cadena]
  30.        invoke scanf,tipo2,numero
  31.        ret
  32. endp
  33.  
  34. section '.data' data readable writeable
  35.  
  36.    contador dd 0
  37.    tipo db 'hola',NULL
  38.    tipo2 db '%i',0
  39.    numero dd ?
  40.    letra db ?
  41.    cadena db 'h'
  42.  
  43. section '.idata' import data readable writeable
  44.  
  45.    library  msvcrt,'msvcrt.dll',\
  46.        KERNEL32,'KERNEL32.DLL',\
  47.        USER32,'USER32.DLL'
  48.  
  49.    import msvcrt, printf,'printf',\
  50.        scanf,'scanf'
  51.    import KERNEL32,lstrcat,'lstrcat'
  52.    import USER32,MessageBoxA,'MessageBoxA'        


espero que alguien me ayude.

salu2!

Recomendaciones :

  • No uses add X,1 ni Sub X,1 usa inc X y dec X
  • Nunca pongas una etiqueta con el mismo nombre que un parametro que se puede prestar para confuciones te lo digo por el "cadena db 'h' "
  • Leete la msdn
  • Printf no arregla la pila a si que usa cinvoke no invoke

Respecto a tu duda no le pasas un puntero a nada al pasarle bl y si no mal recuerdo no se puede pushear bl si no que bx :P


En línea

La vieja escuela me da nostalgia la nueva me da naucias dime cual es la escuela si ambas me deprimen (8)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines