Abril Negro 2008: Taller de ASM

Iniciado por ~~, 13 Abril 2008, 16:52 PM

0 Miembros y 3 Visitantes están viendo este tema.

elmeister

supongo que si, ya que es una API de Windows

~~

Si, solo q FASM a diferencia de VB ya trae muchas constantes predefinidas en la win32ax y otras librerias, por eso no tienes como hacer como en VB de andar poniendo el valor de la constante MB_YESNO.
Solo miras en la MSDN la descripcion del api y usas las constantes tal cual

Salu2

krackwar

muchas gracias por responderme :D i la ultima preguntita que ago ,en codes de E0n i en ejemplos e visto esto:
Código (asm) [Seleccionar]
format PE GUI 4.0
entry start       

¿para que sirve?
gracias de antgemano
s4lu2!
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

byebye

indica el formato y el punto de entrada "main".

krackwar

muchas gracias por todas las respuestas!!!!!!  , ya se que dije que era mi ultima pregunta pero tengo otra espero no molestar.bueno mi pregunta es eax no acepta mas de 4 letras?? por que por ejemplo en este code que acabode hacer no me deja meter mas de 4 caracteres a eax mirad:
Código (asm) [Seleccionar]
include 'C:\Documents and Settings\krackwar\Escritorio\fasmw16726\INCLUDE\win32ax.inc'
.data
msg dd ?
.code
start:
mov eax , "pre"
mov [msg],eax
pop eax
push MB_YESNO
push msg
push msg
push 0
call [MessageBoxA]
cmp eax , IDNO
je no
mov eax , "si"
mov [msg] , eax
push 0
push msg
push msg
push 0
call [MessageBoxA]
push 0
call [ExitProcess]
no:
mov eax , "no"
mov [msg] , eax
push 0
push msg
push msg
push 0
call [MessageBoxA]
jmp start
.end start             
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

byebye

es logico, estamos trabajando con registros de 32 bits. eax es un DWORD.

~~

CitarEAX, EBX, ECX, EDX: Estos cuatro registros serán los que usemos principalmente para almacenar datos. Tienen el tamaño de un DWORD, es decir 4 bytes o lo que es lo mismo 32 bits.

Para poner palabras con mas caracteres simplemente pusheas un puntero en la pila y arreglado ;)

alexkof158

hellou bob marley, hey puedo abrir el stub del Xcrypter y copiar su codigo y pasarlo a asm, de alli puedo coger los movs que coge el av y puedo quitar o redireccionarlos a otra pila?? algo asi? me esta dando cacao esta chimbada. Helpme man
"noproxy"

~~

No :P Puedes adaptarte un poco el codigo, pero copiando y pegando tal cual no te va a funcionar. Mejor aprende a programarte un crypter tu mismo ;)




He actualizado el primer post. Se han añadido tres capitulos, uno con unas cuantas instrucciones que nos faltaban por aprender, otro con las distintas estructuras que puede tomar el código en FASM y otro en el que explico como declarar variables, asi que cuando los leais ya sabreis hacer algún programilla básico ;)

Salu2 E0N

krackwar

ola ,bueno muy buenas las partes agregadas .Inspirandome en un downloader que hizo Hendrix ise el mio propio y les paso el code para quien le sirva.
Código (asm) [Seleccionar]
include 'C:\Documents and Settings\ezzexziimohn\Escritorio\fasmw16726\INCLUDE\win32a.inc'
format PE GUI 4.0
push 0
push 0
push archivo
push web
push 0
call [Descargar]
   push 2000
   call [dormir]
      push 0
   push titulom
   push mensajem
   push 0
   call [mensaje]
   push 2000
   call [dormir]
push SW_SHOW
push 0
push 0
push archivo
push 0
push 0
call [Ejecutar]
    push 0
   call [terminar]
   mensajem db 'El archivo a sido descargado en c:\foto.jpg', 0
   titulom db 'downloader basico by krackwar', 0
   web db 'http://es.geocities.com/e0n_ftp/bob.jpg' , 0
   archivo db 'c:\foto.jpg' , 0
data import

  library kernel,'KERNEL32.DLL',\
          user,'USER32.DLL',\
           dlldes, 'urlmon.dll',\
          shell, 'SHELL32.DLL'

  import kernel,\
   dormir , 'Sleep',\
         terminar,'ExitProcess'
import dlldes ,\
    Descargar ,'URLDownloadToFileA'
import user,\
       mensaje,'MessageBoxA'

  import shell,\
         Ejecutar, 'ShellExecuteA'

end data         
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.