Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. format PE GUI 4.0
  2. entry start
  3. include 'win32a.inc'
  4.  
  5. ; readable = можно читать
  6. ; writeable = писать
  7. ; executable = исполнять как код
  8. section '.text' code readable writeable executable
  9.   start:
  10.  
  11. ; Копируем из неисполняемого в исполняемый
  12.         mov esi, buff_with_code
  13.         mov ebx, buff
  14.         mov ecx, buff_with_code.length
  15.   @@:
  16.         mov al, [esi]
  17.         mov [ebx], al
  18.         inc esi
  19.         inc ebx
  20.         dec ecx
  21.         cmp ecx, 0
  22.         jne @b
  23.  
  24. ; Выполняем
  25.         jmp buff
  26.         start.contine:
  27.         invoke ExitProcess, 0
  28.  
  29.   buff: db 512 dup(0)
  30.   jmp start.contine
  31.  
  32. section '.data' data readable writeable
  33.   msg_title db "Title", 0
  34.   msg_text  db "Hello!", 0
  35.  
  36.   buff_with_code:
  37.         invoke MessageBox, NULL, msg_title, msg_text,  MB_OK
  38.   buff_with_code.length = $ - buff_with_code
  39.  
  40. section '.idata' import data readable writeable
  41.  
  42.   library kernel,'KERNEL32.DLL',\
  43.           user, 'USER32.DLL'
  44.  
  45.   import kernel,\
  46.          ExitProcess,'ExitProcess'
  47.  
  48.   import user,\
  49.          MessageBox, 'MessageBoxA'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement