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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  ¿algun tuto y libro sobre flat assembler?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿algun tuto y libro sobre flat assembler?  (Leído 9,503 veces)
AlxSpy

Desconectado Desconectado

Mensajes: 137


Ver Perfil
¿algun tuto y libro sobre flat assembler?
« en: 22 Junio 2011, 01:10 am »

holas me gustarias aprender a fondo el lenguaje asm para win32 usando el flat assembler, lei un tutorial de E0N sobre un taller en flat assembler, pero quisiera avansar más principalmente aprender las intrucciones propias del micro (push mov, cmp, jmp , las de alto nivel no mucho: invoke) , en algunos codigos vi el uso de la instruccion invoke

Código:
"invoke Funcion Parametros..."

y tambien vi de esta forma:

Código:
push Paramtro1
Push Parametro2
Call [Funcion]

Esta segunda forma es la que me parece mas interesante para saber como funciona eso lo de la pila (antes no sabia nada sobre la pila), y saber las demas cosas que suceden en el micro al ejecutar tal instruccion.
¿sabran de algun tutorial en español de flat assembler ?(array, funciones apis, funciones de usuario, etc..)
-tambien quisiera que me recomienden algun libro sobre esto(si hubiera uno donde trate sobre flat assemble seria mejor).
gracias.

*una duda : ¿se pueden hacer DLL en asm(flat assembler)?


« Última modificación: 22 Junio 2011, 01:13 am por alxspy » En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: ¿algun tuto y libro sobre flat assembler?
« Respuesta #1 en: 22 Junio 2011, 01:52 am »

a) Tutoriales:
En este mismo subforo, EntryPoint
http://foro.elhacker.net/asm/entry_point-t256455.0.html

b)Invoke es una macro, algo así como codigo del preprocesador.
Tienes el codigo fuente de esa macro dentro del include de fasm.

Invoke FuncA, B, C, D

Genera:
push D
push C
push B
call [FuncA]

Es tan solo para que el codigo sea más facil de leer. push/pop  no es lo mas interesante de la pila. Mas interesantes aun son las variables locales de una funcion que se guardan en la pila que al terminar la funcion se libera.

c)No conozco manuales de fasm en español, pero revisa el enlace del EntryPoint a ver si encuentras algo.
La mejor documentacion de FASM está en ingles y esta en el sitio oficial de fasm.

d)Para aprender assembly para win32 no hay nada mejor que los tutos de iczelion que esta el enlace en el post EntryPoint, son para masm, pero las diferencias no son tan grandes.
Solo debes distinguir "variable" y "[variable]" en la manera que se usa en masm "offset/addr variable" "variable".
Tambien la MSDN es de mucha ayuda.

e)Si se puede hacer dll en fasm, hay un ejemplo en la carpeta EXAMPLES del ensamblador
Código:

; DLL creation example

format PE GUI 4.0 DLL
entry DllEntryPoint

include 'win32a.inc'

section '.text' code readable executable

proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
mov eax,TRUE
ret
endp

; VOID ShowErrorMessage(HWND hWnd,DWORD dwError);

proc ShowErrorMessage hWnd,dwError
  local lpBuffer:DWORD
lea eax,[lpBuffer]
invoke FormatMessage,FORMAT_MESSAGE_ALLOCATE_BUFFER+FORMAT_MESSAGE_FROM_SYSTEM,0,[dwError],LANG_NEUTRAL,eax,0,0
invoke MessageBox,[hWnd],[lpBuffer],NULL,MB_ICONERROR+MB_OK
invoke LocalFree,[lpBuffer]
ret
endp

; VOID ShowLastError(HWND hWnd);

proc ShowLastError hWnd
invoke GetLastError
stdcall ShowErrorMessage,[hWnd],eax
ret
endp

section '.idata' import data readable writeable

  library kernel,'KERNEL32.DLL',\
  user,'USER32.DLL'

  import kernel,\
GetLastError,'GetLastError',\
SetLastError,'SetLastError',\
FormatMessage,'FormatMessageA',\
LocalFree,'LocalFree'

  import user,\
MessageBox,'MessageBoxA'

section '.edata' export data readable

  export 'ERRORMSG.DLL',\
ShowErrorMessage,'ShowErrorMessage',\
ShowLastError,'ShowLastError'

section '.reloc' fixups data discardable


En línea

d(-_-)b


Desconectado Desconectado

Mensajes: 1.331



Ver Perfil WWW
Re: ¿algun tuto y libro sobre flat assembler?
« Respuesta #2 en: 22 Junio 2011, 20:02 pm »

En la web oficial hay buena documentancion.

http://flatassembler.net/docs.php

saludos...
En línea

Max 400; caracteres restantes: 366
AlxSpy

Desconectado Desconectado

Mensajes: 137


Ver Perfil
Re: ¿algun tuto y libro sobre flat assembler?
« Respuesta #3 en: 23 Junio 2011, 02:32 am »

muy interesante  :laugh: los enlaces , imprimiendo tutos...  , creen que deba comprar algun libro de asm para win32 como apoyo?, si es asi ¿me recomiendan algun autor o nombre de libro? ¿o quizas haya alguno en la web para imprimirlo?  ¿o con todo esto sera suficiente?(no estoy llevando asm como un curso en una universidad o instituto sino que soy aficionado y pues quiero aprender).
saludos-gracias.
En línea

d(-_-)b


Desconectado Desconectado

Mensajes: 1.331



Ver Perfil WWW
Re: ¿algun tuto y libro sobre flat assembler?
« Respuesta #4 en: 24 Junio 2011, 07:30 am »

Aqui tienes buan material.

http://atc.ugr.es/docencia/udigital/

-------------------------------------------

http://foro.elhacker.net/asm/entry_point-t256455.0.html

saludos...
En línea

Max 400; caracteres restantes: 366
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Como puedo crear una libreria estatica con flat assembler?
ASM
Avoidance25 6 5,908 Último mensaje 8 Noviembre 2009, 23:18 pm
por Eternal Idol
[DUDA]uso del mov en flat assembler
ASM
AlxSpy 2 5,014 Último mensaje 26 Junio 2011, 23:08 pm
por AlxSpy
Algun libro sobre comando de windows??
Windows
CATBro 0 3,056 Último mensaje 13 Abril 2012, 06:23 am
por CATBro
Proyecto traducción Flat Assembler Programmer's Manual
ASM
Ózar 0 2,287 Último mensaje 1 Junio 2018, 06:46 am
por Ózar
¿algun tuto o libro sobre como diseñar interfaz grafica bonita y profesional?
Programación Visual Basic
Filantropo 1 1,909 Último mensaje 19 Noviembre 2019, 13:33 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines