Advertisement
Guest User

Untitled

a guest
Oct 16th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; fasm\EXAMPLES\PEDEMO\PEDEMO.ASM
  2.  
  3. ; Example of making 32-bit PE program as raw code and data
  4.  
  5. format PE GUI
  6. entry start
  7.  
  8. section '.text' code readable executable
  9.  
  10.   start:
  11.  
  12.     push    0
  13.     push    _caption
  14.     push    _message
  15.     push    0
  16.     call    [MessageBoxA]
  17.  
  18.     push    0
  19.     call    [ExitProcess]
  20.  
  21. section '.data' data readable writeable
  22.  
  23.   _caption db 'Win32 assembly program',0
  24.   _message db 'Hello World!',0
  25.  
  26. section '.idata' import data readable writeable
  27.  
  28.   dd 0,0,0,RVA kernel_name,RVA kernel_table
  29.   dd 0,0,0,RVA user_name,RVA user_table
  30.   dd 0,0,0,0,0
  31.  
  32.   kernel_table:
  33.     ExitProcess dd RVA _ExitProcess
  34.     dd 0
  35.   user_table:
  36.     MessageBoxA dd RVA _MessageBoxA
  37.     dd 0
  38.  
  39.   kernel_name db 'KERNEL32.DLL',0
  40.   user_name db 'USER32.DLL',0
  41.  
  42.   _ExitProcess dw 0
  43.     db 'ExitProcess',0
  44.   _MessageBoxA dw 0
  45.     db 'MessageBoxA',0
  46.  
  47. section '.reloc' fixups data readable discardable   ; needed for Win32s
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement