Untitled

By eeew, 6 Years ago (2013-03-18 22:35:14), written in x86 Assembler, viewed 1212 times.
URL https://paste.godclan.hu/view/gAQjbeIk Embed
Download Paste or View RawExpand paste to full width of browser
  1. .idata:00401000 ; Input MD5   : D3D1F910763E1D654DFD4AFF381AF18B
  2. .idata:00401000 ; Input CRC32 : A6D5D2CB
  3. .idata:00401000
  4. .idata:00401000 ; File Name   : C:\Users\user\Documents\Visual Studio 2010\Projects\entrypoint\Release\entrypoint.exe
  5. .idata:00401000 ; Format      : Portable executable for 80386 (PE)
  6. .idata:00401000 ; Imagebase   : 400000
  7. .idata:00401000 ; Section 1. (virtual address 00001000)
  8. .idata:00401000 ; Virtual size                  : 000001B6 (    438.)
  9. .idata:00401000 ; Section size in file          : 00000200 (    512.)
  10. .idata:00401000 ; Offset to raw data for section: 00000200
  11. .idata:00401000 ; Flags C0000040: Data Readable Writable
  12. .idata:00401000 ; Alignment     : default
  13. .idata:00401000 ;
  14. .idata:00401000 ; Imports from ADVAPI32.dll
  15. .idata:00401000 ;
  16. .idata:00401000
  17. .idata:00401000                 .686p
  18. .idata:00401000                 .mmx
  19. .idata:00401000                 .model flat
  20. .idata:00401000
  21. .idata:00401000 ; ===========================================================================
  22. .idata:00401000
  23. .idata:00401000 ; Segment type: Externs
  24. .idata:00401000 ; _idata
  25. .idata:00401000 ; BOOL __stdcall GetUserNameA(LPSTR lpBuffer, LPDWORD pcbBuffer)
  26. .idata:00401000                 extrn GetUserNameA:dword ; CODE XREF: start+15p
  27. .idata:00401000                                         ; DATA XREF: start+15r ...
  28. .idata:00401004
  29. .idata:00401008 ;
  30. .idata:00401008 ; Imports from KERNEL32.dll
  31. .idata:00401008 ;
  32. .idata:00401008 ; BOOL __stdcall WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped)
  33. .idata:00401008                 extrn WriteFile:dword   ; CODE XREF: printf+44p
  34. .idata:00401008                                         ; DATA XREF: printf+44r ...
  35. .idata:0040100C ; HANDLE __stdcall GetStdHandle(DWORD nStdHandle)
  36. .idata:0040100C                 extrn GetStdHandle:dword ; CODE XREF: start+38p
  37. .idata:0040100C                                         ; printf+3Dp
  38. .idata:0040100C                                         ; DATA XREF: ...
  39. .idata:00401010 ; BOOL __stdcall ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped)
  40. .idata:00401010                 extrn ReadFile:dword    ; CODE XREF: start+3Fp
  41. .idata:00401010                                         ; DATA XREF: start+3Fr
  42. .idata:00401014
  43. .idata:00401018 ;
  44. .idata:00401018 ; Imports from USER32.dll
  45. .idata:00401018 ;
  46. .idata:00401018 ; int __stdcall wvsprintfA(LPSTR, LPCSTR, va_list arglist)
  47. .idata:00401018                 extrn wvsprintfA:dword  ; CODE XREF: printf+22p
  48. .idata:00401018                                         ; DATA XREF: printf+22r ...
  49. .idata:0040101C
  50. .idata:0040101C
  51. .data:00401020 ; ===========================================================================
  52. .data:00401020
  53. .data:00401020 ; Segment type: Pure code
  54. .data:00401020 ; Segment permissions: Read/Write
  55. .data:00401020 _data           segment para public 'DATA' use32
  56. .data:00401020                 assume cs:_data
  57. .data:00401020                 ;org 401020h
  58. .data:00401020                 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
  59. .data:00401020 dword_401020    dd 0BB40E64Eh           ; DATA XREF: printf+9r
  60. .data:00401024 ; char dword_401024[]
  61. .data:00401024 dword_401024    dd 20617363h, 0A7325h, 0 ; DATA XREF: start+1Fo
  62. .data:00401030                 assume fs:nothing, gs:nothing
  63. .data:00401030
  64. .data:00401030 ; =============== S U B R O U T I N E =======================================
  65. .data:00401030
  66. .data:00401030 ; Attributes: bp-based frame
  67. .data:00401030
  68. .data:00401030                 public start
  69. .data:00401030 start           proc near
  70. .data:00401030
  71. .data:00401030 arglist         = byte ptr -28h
  72. .data:00401030 var_8           = byte ptr -8
  73. .data:00401030 pcbBuffer       = dword ptr -4
  74. .data:00401030
  75. .data:00401030                 push    ebp
  76. .data:00401031                 mov     ebp, esp
  77. .data:00401033                 sub     esp, 28h
  78. .data:00401036                 lea     eax, [ebp+pcbBuffer]
  79. .data:00401039                 push    eax             ; pcbBuffer
  80. .data:0040103A                 lea     ecx, [ebp+arglist]
  81. .data:0040103D                 push    ecx             ; lpBuffer
  82. .data:0040103E                 mov     [ebp+pcbBuffer], 20h
  83. .data:00401045                 call    GetUserNameA
  84. .data:0040104B                 lea     edx, [ebp+arglist]
  85. .data:0040104E                 push    edx             ; arglist
  86. .data:0040104F                 push    offset dword_401024 ; LPCSTR
  87. .data:00401054                 call    printf
  88. .data:00401059                 add     esp, 8
  89. .data:0040105C                 push    0               ; lpOverlapped
  90. .data:0040105E                 push    0               ; lpNumberOfBytesRead
  91. .data:00401060                 push    1               ; nNumberOfBytesToRead
  92. .data:00401062                 lea     eax, [ebp+var_8]
  93. .data:00401065                 push    eax             ; lpBuffer
  94. .data:00401066                 push    0FFFFFFF6h      ; nStdHandle
  95. .data:00401068                 call    GetStdHandle
  96. .data:0040106E                 push    eax             ; hFile
  97. .data:0040106F                 call    ReadFile
  98. .data:00401075                 xor     eax, eax
  99. .data:00401077                 mov     esp, ebp
  100. .data:00401079                 pop     ebp
  101. .data:0040107A                 retn
  102. .data:0040107A start           endp
  103. .data:0040107A
  104. .data:0040107B
  105. .data:0040107B ; =============== S U B R O U T I N E =======================================
  106. .data:0040107B
  107. .data:0040107B ; Attributes: bp-based frame
  108. .data:0040107B
  109. .data:0040107B ; int __cdecl printf(LPCSTR, char arglist)
  110. .data:0040107B printf          proc near               ; CODE XREF: start+24p
  111. .data:0040107B
  112. .data:0040107B NumberOfBytesWritten= dword ptr -408h
  113. .data:0040107B Buffer          = byte ptr -404h
  114. .data:0040107B var_4           = dword ptr -4
  115. .data:0040107B arg_0           = dword ptr  8
  116. .data:0040107B arglist         = byte ptr  0Ch
  117. .data:0040107B
  118. .data:0040107B                 push    ebp
  119. .data:0040107C                 mov     ebp, esp
  120. .data:0040107E                 sub     esp, 408h
  121. .data:00401084                 mov     eax, dword_401020
  122. .data:00401089                 xor     eax, ebp
  123. .data:0040108B                 mov     [ebp+var_4], eax
  124. .data:0040108E                 push    esi
  125. .data:0040108F                 lea     eax, [ebp+arglist]
  126. .data:00401092                 push    eax             ; arglist
  127. .data:00401093                 push    [ebp+arg_0]     ; LPCSTR
  128. .data:00401096                 lea     eax, [ebp+Buffer]
  129. .data:0040109C                 push    eax             ; LPSTR
  130. .data:0040109D                 call    wvsprintfA
  131. .data:004010A3                 mov     esi, eax
  132. .data:004010A5                 push    0               ; lpOverlapped
  133. .data:004010A7                 lea     eax, [ebp+NumberOfBytesWritten]
  134. .data:004010AD                 push    eax             ; lpNumberOfBytesWritten
  135. .data:004010AE                 push    esi             ; nNumberOfBytesToWrite
  136. .data:004010AF                 lea     eax, [ebp+Buffer]
  137. .data:004010B5                 push    eax             ; lpBuffer
  138. .data:004010B6                 push    0FFFFFFF5h      ; nStdHandle
  139. .data:004010B8                 call    GetStdHandle
  140. .data:004010BE                 push    eax             ; hFile
  141. .data:004010BF                 call    WriteFile
  142. .data:004010C5                 mov     ecx, [ebp+var_4]
  143. .data:004010C8                 mov     eax, esi
  144. .data:004010CA                 xor     ecx, ebp
  145. .data:004010CC                 pop     esi
  146. .data:004010CD                 call    nullsub_1
  147. .data:004010D2                 leave
  148. .data:004010D3                 retn
  149. .data:004010D3 printf          endp
  150. .data:004010D3
  151. .data:004010D4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND]
  152. .data:004010D5                 align 4
  153. .data:004010D8 __IMPORT_DESCRIPTOR_KERNEL32 dd rva off_401130 ; Import Name Table
  154. .data:004010DC                 dd 0                    ; Time stamp
  155. .data:004010E0                 dd 0                    ; Forwarder Chain
  156. .data:004010E4                 dd rva aKernel32_dll    ; DLL Name
  157. .data:004010E8                 dd rva WriteFile        ; Import Address Table
  158. .data:004010EC __IMPORT_DESCRIPTOR_USER32 dd rva off_401140 ; Import Name Table
  159. .data:004010F0                 dd 0                    ; Time stamp
  160. .data:004010F4                 dd 0                    ; Forwarder Chain
  161. .data:004010F8                 dd rva aUser32_dll      ; DLL Name
  162. .data:004010FC                 dd rva wvsprintfA       ; Import Address Table
  163. .data:00401100 __IMPORT_DESCRIPTOR_ADVAPI32 dd rva off_401128 ; Import Name Table
  164. .data:00401104                 dd 0                    ; Time stamp
  165. .data:00401108                 dd 0                    ; Forwarder Chain
  166. .data:0040110C                 dd rva aAdvapi32_dll    ; DLL Name
  167. .data:00401110                 dd rva GetUserNameA     ; Import Address Table
  168. .data:00401114                 dd 5 dup(0)
  169. .data:00401128 ;
  170. .data:00401128 ; Import names for ADVAPI32.dll
  171. .data:00401128 ;
  172. .data:00401128 off_401128      dd rva word_401198      ; DATA XREF: .data:__IMPORT_DESCRIPTOR_ADVAPI32o
  173. .data:0040112C                 dd 0
  174. .data:00401130 ;
  175. .data:00401130 ; Import names for KERNEL32.dll
  176. .data:00401130 ;
  177. .data:00401130 off_401130      dd rva word_401164      ; DATA XREF: .data:__IMPORT_DESCRIPTOR_KERNEL32o
  178. .data:00401134                 dd rva word_401154
  179. .data:00401138                 dd rva word_401148
  180. .data:0040113C                 dd 0
  181. .data:00401140 ;
  182. .data:00401140 ; Import names for USER32.dll
  183. .data:00401140 ;
  184. .data:00401140 off_401140      dd rva word_40117E      ; DATA XREF: .data:__IMPORT_DESCRIPTOR_USER32o
  185. .data:00401144                 dd 0
  186. .data:00401148 word_401148     dw 3C0h                 ; DATA XREF: .data:00401138o
  187. .data:0040114A                 db 'ReadFile',0
  188. .data:00401153                 align 4
  189. .data:00401154 word_401154     dw 264h                 ; DATA XREF: .data:00401134o
  190. .data:00401156                 db 'GetStdHandle',0
  191. .data:00401163                 align 4
  192. .data:00401164 word_401164     dw 525h                 ; DATA XREF: .data:off_401130o
  193. .data:00401166                 db 'WriteFile',0
  194. .data:00401170 aKernel32_dll   db 'KERNEL32.dll',0     ; DATA XREF: .data:004010E4o
  195. .data:0040117D                 align 2
  196. .data:0040117E word_40117E     dw 334h                 ; DATA XREF: .data:off_401140o
  197. .data:00401180                 db 'wvsprintfA',0
  198. .data:0040118B                 align 4
  199. .data:0040118C aUser32_dll     db 'USER32.dll',0       ; DATA XREF: .data:004010F8o
  200. .data:00401197                 align 4
  201. .data:00401198 word_401198     dw 164h                 ; DATA XREF: .data:off_401128o
  202. .data:0040119A                 db 'GetUserNameA',0
  203. .data:004011A7                 align 4
  204. .data:004011A8 aAdvapi32_dll   db 'ADVAPI32.dll',0     ; DATA XREF: .data:0040110Co
  205. .data:004011B5                 align 4
  206. .data:004011B8                 dd 12h dup(0)
  207. .data:00401200                 dd 380h dup(?)
  208. .data:00401200 _data           ends
  209. .data:00401200
  210. .data:00401200
  211. .data:00401200                 end start

Reply to "Untitled"

Here you can reply to the paste above