Advertisement
hejmus

short dll importing

Nov 12th, 2010
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .386
  2. .model flat
  3.  
  4. public _start
  5. extrn _GetProcAddress@8:near
  6. extrn _LoadLibraryA@4:near
  7. extrn _ExitProcess@4:near
  8. extrn _wsprintfA:near
  9. extrn _WriteFile@20:near
  10. extrn _GetStdHandle@4:near
  11. .code
  12. _start:
  13.  
  14. jmp @F
  15.     dummy:
  16.     libname db 'asmdll.dll',0
  17.     v_name db 'v',0
  18.     f_name db 'f',0
  19.     fmt db '%x %d',0
  20.     buffer db 6 dup (?)
  21. @@:    
  22.  
  23.     push offset libname
  24.     call _LoadLibraryA@4
  25.     mov ebx,eax
  26.    
  27.         push offset v_name
  28.         push ebx
  29.         call _GetProcAddress@8
  30.     push [eax]
  31.         push offset f_name
  32.         push ebx
  33.         call _GetProcAddress@8
  34.         call eax
  35.     push eax
  36.     push offset fmt
  37.     push offset buffer
  38.     call _wsprintfA
  39.     add esp,16
  40.    
  41.     push 0
  42.     push offset dummy
  43.     push eax
  44.     push offset buffer
  45.         push -11
  46.         call _GetStdHandle@4
  47.     push eax
  48.     call _WriteFile@20
  49.    
  50.     push 0
  51.     call _ExitProcess@4
  52.  
  53. end
  54.  
  55. ;push:  16 (60%)
  56. ;call:  8  (30%)
  57. ;add:   1  (3%)
  58. ;jmp:   1  (3%)
  59. ;mov:   1  (3%)
  60. ;--------------
  61. ;total: 27
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement