librex 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (389) hide show
  1. data/README.md +12 -0
  2. data/lib/rex.rb +0 -0
  3. data/lib/rex.rb.ts.rb +0 -0
  4. data/lib/rex/LICENSE +0 -0
  5. data/lib/rex/arch.rb +0 -0
  6. data/lib/rex/arch/sparc.rb +0 -0
  7. data/lib/rex/arch/sparc.rb.ut.rb +0 -0
  8. data/lib/rex/arch/x86.rb +0 -0
  9. data/lib/rex/arch/x86.rb.ut.rb +0 -0
  10. data/lib/rex/assembly/nasm.rb +0 -0
  11. data/lib/rex/assembly/nasm.rb.ut.rb +0 -0
  12. data/lib/rex/codepage.map +0 -0
  13. data/lib/rex/compat.rb +0 -0
  14. data/lib/rex/constants.rb +0 -0
  15. data/lib/rex/elfparsey.rb +0 -0
  16. data/lib/rex/elfparsey/elf.rb +0 -0
  17. data/lib/rex/elfparsey/elfbase.rb +2 -4
  18. data/lib/rex/elfparsey/exceptions.rb +0 -0
  19. data/lib/rex/elfscan.rb +0 -0
  20. data/lib/rex/elfscan/scanner.rb +0 -0
  21. data/lib/rex/elfscan/search.rb +10 -10
  22. data/lib/rex/encoder/alpha2.rb +0 -0
  23. data/lib/rex/encoder/alpha2/alpha_mixed.rb +0 -0
  24. data/lib/rex/encoder/alpha2/alpha_upper.rb +0 -0
  25. data/lib/rex/encoder/alpha2/generic.rb +0 -0
  26. data/lib/rex/encoder/alpha2/unicode_mixed.rb +0 -0
  27. data/lib/rex/encoder/alpha2/unicode_upper.rb +0 -0
  28. data/lib/rex/encoder/ndr.rb +0 -0
  29. data/lib/rex/encoder/ndr.rb.ut.rb +0 -0
  30. data/lib/rex/encoder/nonalpha.rb +0 -0
  31. data/lib/rex/encoder/nonupper.rb +0 -0
  32. data/lib/rex/encoder/xdr.rb +0 -0
  33. data/lib/rex/encoder/xdr.rb.ut.rb +0 -0
  34. data/lib/rex/encoder/xor.rb +0 -0
  35. data/lib/rex/encoder/xor/dword.rb +0 -0
  36. data/lib/rex/encoder/xor/dword_additive.rb +0 -0
  37. data/lib/rex/encoders/xor_dword.rb +0 -0
  38. data/lib/rex/encoders/xor_dword_additive.rb +0 -0
  39. data/lib/rex/encoders/xor_dword_additive.rb.ut.rb +0 -0
  40. data/lib/rex/encoding/xor.rb +0 -0
  41. data/lib/rex/encoding/xor.rb.ts.rb +0 -0
  42. data/lib/rex/encoding/xor/byte.rb +0 -0
  43. data/lib/rex/encoding/xor/byte.rb.ut.rb +0 -0
  44. data/lib/rex/encoding/xor/dword.rb +0 -0
  45. data/lib/rex/encoding/xor/dword.rb.ut.rb +0 -0
  46. data/lib/rex/encoding/xor/dword_additive.rb +0 -0
  47. data/lib/rex/encoding/xor/dword_additive.rb.ut.rb +0 -0
  48. data/lib/rex/encoding/xor/exceptions.rb +0 -0
  49. data/lib/rex/encoding/xor/generic.rb +0 -0
  50. data/lib/rex/encoding/xor/generic.rb.ut.rb +0 -0
  51. data/lib/rex/encoding/xor/qword.rb +0 -0
  52. data/lib/rex/encoding/xor/word.rb +0 -0
  53. data/lib/rex/encoding/xor/word.rb.ut.rb +0 -0
  54. data/lib/rex/exceptions.rb +0 -0
  55. data/lib/rex/exceptions.rb.ut.rb +0 -0
  56. data/lib/rex/exploitation/cmdstager.rb +0 -0
  57. data/lib/rex/exploitation/cmdstager/base.rb +6 -1
  58. data/lib/rex/exploitation/cmdstager/debug_asm.rb +0 -0
  59. data/lib/rex/exploitation/cmdstager/debug_write.rb +0 -0
  60. data/lib/rex/exploitation/cmdstager/tftp.rb +8 -8
  61. data/lib/rex/exploitation/cmdstager/vbs.rb +0 -0
  62. data/lib/rex/exploitation/egghunter.rb +143 -36
  63. data/lib/rex/exploitation/egghunter.rb.ut.rb +0 -0
  64. data/lib/rex/exploitation/encryptjs.rb +0 -0
  65. data/lib/rex/exploitation/heaplib.js.b64 +0 -0
  66. data/lib/rex/exploitation/heaplib.rb +0 -0
  67. data/lib/rex/exploitation/javascriptosdetect.rb +114 -15
  68. data/lib/rex/exploitation/obfuscatejs.rb +0 -0
  69. data/lib/rex/exploitation/omelet.rb +320 -0
  70. data/lib/rex/exploitation/omelet.rb.ut.rb +13 -0
  71. data/lib/rex/exploitation/opcodedb.rb +0 -0
  72. data/lib/rex/exploitation/opcodedb.rb.ut.rb +0 -0
  73. data/lib/rex/exploitation/seh.rb +0 -0
  74. data/lib/rex/exploitation/seh.rb.ut.rb +0 -0
  75. data/lib/rex/file.rb +1 -1
  76. data/lib/rex/file.rb.ut.rb +0 -0
  77. data/lib/rex/image_source.rb +0 -0
  78. data/lib/rex/image_source/disk.rb +0 -0
  79. data/lib/rex/image_source/image_source.rb +0 -0
  80. data/lib/rex/image_source/memory.rb +0 -0
  81. data/lib/rex/io/bidirectional_pipe.rb +0 -0
  82. data/lib/rex/io/datagram_abstraction.rb +0 -0
  83. data/lib/rex/io/stream.rb +1 -1
  84. data/lib/rex/io/stream_abstraction.rb +0 -0
  85. data/lib/rex/io/stream_server.rb +0 -0
  86. data/lib/rex/job_container.rb +0 -1
  87. data/lib/rex/logging.rb +0 -0
  88. data/lib/rex/logging/log_dispatcher.rb +0 -0
  89. data/lib/rex/logging/log_sink.rb +0 -0
  90. data/lib/rex/logging/sinks/flatfile.rb +0 -0
  91. data/lib/rex/logging/sinks/stderr.rb +0 -0
  92. data/lib/rex/machparsey.rb +0 -0
  93. data/lib/rex/machparsey/exceptions.rb +0 -0
  94. data/lib/rex/machparsey/machbase.rb +0 -0
  95. data/lib/rex/machscan.rb +0 -0
  96. data/lib/rex/machscan/scanner.rb +0 -0
  97. data/lib/rex/mime.rb +0 -0
  98. data/lib/rex/mime/header.rb +0 -0
  99. data/lib/rex/mime/message.rb +0 -0
  100. data/lib/rex/mime/part.rb +0 -0
  101. data/lib/rex/nop/opty2.rb +0 -0
  102. data/lib/rex/nop/opty2.rb.ut.rb +0 -0
  103. data/lib/rex/nop/opty2_tables.rb +0 -0
  104. data/lib/rex/ole.rb +0 -0
  105. data/lib/rex/ole/clsid.rb +0 -0
  106. data/lib/rex/ole/difat.rb +0 -0
  107. data/lib/rex/ole/directory.rb +0 -0
  108. data/lib/rex/ole/direntry.rb +0 -0
  109. data/lib/rex/ole/docs/dependencies.txt +8 -0
  110. data/lib/rex/ole/docs/references.txt +1 -0
  111. data/lib/rex/ole/fat.rb +0 -0
  112. data/lib/rex/ole/header.rb +3 -3
  113. data/lib/rex/ole/minifat.rb +0 -0
  114. data/lib/rex/ole/storage.rb +4 -4
  115. data/lib/rex/ole/stream.rb +0 -0
  116. data/lib/rex/ole/substorage.rb +0 -0
  117. data/lib/rex/ole/util.rb +0 -0
  118. data/lib/rex/parser/arguments.rb +0 -0
  119. data/lib/rex/parser/arguments.rb.ut.rb +0 -0
  120. data/lib/rex/parser/ini.rb +0 -0
  121. data/lib/rex/parser/ini.rb.ut.rb +0 -0
  122. data/lib/rex/parser/nexpose_xml.rb +0 -0
  123. data/lib/rex/parser/nmap_xml.rb +0 -0
  124. data/lib/rex/payloads.rb +0 -0
  125. data/lib/rex/payloads/win32.rb +0 -0
  126. data/lib/rex/payloads/win32/common.rb +0 -0
  127. data/lib/rex/payloads/win32/kernel.rb +0 -0
  128. data/lib/rex/payloads/win32/kernel/common.rb +0 -0
  129. data/lib/rex/payloads/win32/kernel/migration.rb +0 -0
  130. data/lib/rex/payloads/win32/kernel/recovery.rb +0 -0
  131. data/lib/rex/peparsey.rb +0 -0
  132. data/lib/rex/peparsey/exceptions.rb +0 -0
  133. data/lib/rex/peparsey/pe.rb +7 -1
  134. data/lib/rex/peparsey/pe_memdump.rb +0 -0
  135. data/lib/rex/peparsey/pebase.rb +27 -2
  136. data/lib/rex/peparsey/section.rb +0 -0
  137. data/lib/rex/pescan.rb +0 -0
  138. data/lib/rex/pescan/analyze.rb +0 -0
  139. data/lib/rex/pescan/scanner.rb +0 -0
  140. data/lib/rex/pescan/search.rb +0 -0
  141. data/lib/rex/platforms.rb +0 -0
  142. data/lib/rex/platforms/windows.rb +0 -0
  143. data/lib/rex/poly.rb +0 -0
  144. data/lib/rex/poly/block.rb +0 -0
  145. data/lib/rex/poly/register.rb +0 -0
  146. data/lib/rex/poly/register/x86.rb +0 -0
  147. data/lib/rex/post.rb +0 -0
  148. data/lib/rex/post/dir.rb +0 -0
  149. data/lib/rex/post/file.rb +0 -0
  150. data/lib/rex/post/file_stat.rb +0 -0
  151. data/lib/rex/post/gen.pl +0 -0
  152. data/lib/rex/post/io.rb +0 -0
  153. data/lib/rex/post/meterpreter.rb +0 -0
  154. data/lib/rex/post/meterpreter/channel.rb +0 -0
  155. data/lib/rex/post/meterpreter/channel_container.rb +0 -0
  156. data/lib/rex/post/meterpreter/channels/pool.rb +0 -0
  157. data/lib/rex/post/meterpreter/channels/pools/file.rb +0 -0
  158. data/lib/rex/post/meterpreter/channels/pools/stream_pool.rb +0 -0
  159. data/lib/rex/post/meterpreter/channels/stream.rb +0 -0
  160. data/lib/rex/post/meterpreter/client.rb +3 -0
  161. data/lib/rex/post/meterpreter/client_core.rb +0 -0
  162. data/lib/rex/post/meterpreter/dependencies.rb +0 -0
  163. data/lib/rex/post/meterpreter/extension.rb +0 -0
  164. data/lib/rex/post/meterpreter/extensions/espia/espia.rb +0 -0
  165. data/lib/rex/post/meterpreter/extensions/espia/tlv.rb +0 -0
  166. data/lib/rex/post/meterpreter/extensions/incognito/incognito.rb +0 -0
  167. data/lib/rex/post/meterpreter/extensions/incognito/tlv.rb +0 -0
  168. data/lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb +57 -0
  169. data/lib/rex/post/meterpreter/extensions/networkpug/tlv.rb +15 -0
  170. data/lib/rex/post/meterpreter/extensions/priv/fs.rb +0 -0
  171. data/lib/rex/post/meterpreter/extensions/priv/passwd.rb +0 -0
  172. data/lib/rex/post/meterpreter/extensions/priv/priv.rb +0 -0
  173. data/lib/rex/post/meterpreter/extensions/priv/tlv.rb +0 -0
  174. data/lib/rex/post/meterpreter/extensions/sniffer/sniffer.rb +2 -1
  175. data/lib/rex/post/meterpreter/extensions/sniffer/tlv.rb +12 -10
  176. data/lib/rex/post/meterpreter/extensions/stdapi/constants.rb +0 -0
  177. data/lib/rex/post/meterpreter/extensions/stdapi/fs/dir.rb +0 -0
  178. data/lib/rex/post/meterpreter/extensions/stdapi/fs/file.rb +31 -0
  179. data/lib/rex/post/meterpreter/extensions/stdapi/fs/file_stat.rb +0 -0
  180. data/lib/rex/post/meterpreter/extensions/stdapi/fs/io.rb +0 -0
  181. data/lib/rex/post/meterpreter/extensions/stdapi/net/config.rb +0 -0
  182. data/lib/rex/post/meterpreter/extensions/stdapi/net/interface.rb +0 -0
  183. data/lib/rex/post/meterpreter/extensions/stdapi/net/route.rb +0 -0
  184. data/lib/rex/post/meterpreter/extensions/stdapi/net/socket_subsystem/tcp_server_channel.rb +0 -0
  185. data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun}/api_constants.rb +38106 -38105
  186. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_advapi32.rb +1804 -0
  187. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_iphlpapi.rb +96 -0
  188. data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun/def}/def_kernel32.rb +3848 -3678
  189. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_ntdll.rb +153 -0
  190. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_shell32.rb +21 -0
  191. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_user32.rb +3169 -0
  192. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_ws2_32.rb +599 -0
  193. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/model.rb +540 -0
  194. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/multicall.rb +308 -0
  195. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/railgun.rb +196 -0
  196. data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun}/tlv.rb +6 -9
  197. data/lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb +5 -0
  198. data/lib/rex/post/meterpreter/extensions/stdapi/sys/config.rb +0 -0
  199. data/lib/rex/post/meterpreter/extensions/stdapi/sys/event_log.rb +0 -0
  200. data/lib/rex/post/meterpreter/extensions/stdapi/sys/event_log_subsystem/event_record.rb +0 -0
  201. data/lib/rex/post/meterpreter/extensions/stdapi/sys/power.rb +0 -0
  202. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process.rb +0 -0
  203. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/image.rb +0 -0
  204. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/io.rb +0 -0
  205. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/memory.rb +0 -0
  206. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/thread.rb +0 -0
  207. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry.rb +0 -0
  208. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry_subsystem/registry_key.rb +0 -0
  209. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry_subsystem/registry_value.rb +0 -0
  210. data/lib/rex/post/meterpreter/extensions/stdapi/sys/thread.rb +0 -0
  211. data/lib/rex/post/meterpreter/extensions/stdapi/tlv.rb +6 -0
  212. data/lib/rex/post/meterpreter/extensions/stdapi/ui.rb +0 -0
  213. data/lib/rex/post/meterpreter/inbound_packet_handler.rb +0 -0
  214. data/lib/rex/post/meterpreter/object_aliases.rb +0 -0
  215. data/lib/rex/post/meterpreter/packet.rb +23 -1
  216. data/lib/rex/post/meterpreter/packet_dispatcher.rb +13 -2
  217. data/lib/rex/post/meterpreter/packet_parser.rb +0 -0
  218. data/lib/rex/post/meterpreter/packet_response_waiter.rb +17 -10
  219. data/lib/rex/post/meterpreter/ui/console.rb +0 -0
  220. data/lib/rex/post/meterpreter/ui/console/command_dispatcher.rb +0 -0
  221. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/core.rb +12 -7
  222. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/espia.rb +0 -0
  223. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/incognito.rb +0 -0
  224. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/networkpug.rb +221 -0
  225. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv.rb +0 -0
  226. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/elevate.rb +0 -0
  227. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/passwd.rb +0 -0
  228. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/timestomp.rb +0 -0
  229. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/sniffer.rb +4 -3
  230. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi.rb +0 -0
  231. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb +56 -1
  232. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/net.rb +22 -0
  233. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/sys.rb +0 -0
  234. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/ui.rb +0 -0
  235. data/lib/rex/post/meterpreter/ui/console/interactive_channel.rb +0 -0
  236. data/lib/rex/post/permission.rb +0 -0
  237. data/lib/rex/post/process.rb +0 -0
  238. data/lib/rex/post/thread.rb +0 -0
  239. data/lib/rex/post/ui.rb +0 -0
  240. data/lib/rex/proto.rb +0 -0
  241. data/lib/rex/proto.rb.ts.rb +0 -0
  242. data/lib/rex/proto/dcerpc.rb +0 -0
  243. data/lib/rex/proto/dcerpc.rb.ts.rb +0 -0
  244. data/lib/rex/proto/dcerpc/client.rb +3 -1
  245. data/lib/rex/proto/dcerpc/exceptions.rb +0 -0
  246. data/lib/rex/proto/dcerpc/handle.rb +0 -0
  247. data/lib/rex/proto/dcerpc/handle.rb.ut.rb +0 -0
  248. data/lib/rex/proto/dcerpc/ndr.rb +0 -0
  249. data/lib/rex/proto/dcerpc/ndr.rb.ut.rb +0 -0
  250. data/lib/rex/proto/dcerpc/packet.rb +0 -0
  251. data/lib/rex/proto/dcerpc/packet.rb.ut.rb +0 -0
  252. data/lib/rex/proto/dcerpc/response.rb.ut.rb +0 -0
  253. data/lib/rex/proto/dcerpc/uuid.rb +0 -0
  254. data/lib/rex/proto/dcerpc/uuid.rb.ut.rb +0 -0
  255. data/lib/rex/proto/dhcp.rb +7 -0
  256. data/lib/rex/proto/dhcp/constants.rb +33 -0
  257. data/lib/rex/proto/dhcp/server.rb +285 -0
  258. data/lib/rex/proto/drda.rb +0 -0
  259. data/lib/rex/proto/drda.rb.ts.rb +0 -0
  260. data/lib/rex/proto/drda/constants.rb +0 -0
  261. data/lib/rex/proto/drda/constants.rb.ut.rb +0 -0
  262. data/lib/rex/proto/drda/packet.rb +0 -0
  263. data/lib/rex/proto/drda/packet.rb.ut.rb +0 -0
  264. data/lib/rex/proto/drda/utils.rb +0 -0
  265. data/lib/rex/proto/drda/utils.rb.ut.rb +0 -0
  266. data/lib/rex/proto/http.rb +0 -0
  267. data/lib/rex/proto/http.rb.ts.rb +0 -0
  268. data/lib/rex/proto/http/client.rb +27 -2
  269. data/lib/rex/proto/http/client.rb.ut.rb +4 -2
  270. data/lib/rex/proto/http/handler.rb +0 -0
  271. data/lib/rex/proto/http/handler/erb.rb +0 -0
  272. data/lib/rex/proto/http/handler/erb.rb.ut.rb +0 -0
  273. data/lib/rex/proto/http/handler/erb.rb.ut.rb.rhtml +0 -0
  274. data/lib/rex/proto/http/handler/proc.rb +6 -0
  275. data/lib/rex/proto/http/handler/proc.rb.ut.rb +0 -0
  276. data/lib/rex/proto/http/header.rb +0 -0
  277. data/lib/rex/proto/http/header.rb.ut.rb +0 -0
  278. data/lib/rex/proto/http/packet.rb +20 -19
  279. data/lib/rex/proto/http/packet.rb.ut.rb +0 -0
  280. data/lib/rex/proto/http/request.rb +0 -0
  281. data/lib/rex/proto/http/request.rb.ut.rb +0 -0
  282. data/lib/rex/proto/http/response.rb +0 -0
  283. data/lib/rex/proto/http/response.rb.ut.rb +0 -0
  284. data/lib/rex/proto/http/server.rb +5 -3
  285. data/lib/rex/proto/http/server.rb.ut.rb +0 -0
  286. data/lib/rex/proto/proxy/socks4a.rb +440 -0
  287. data/lib/rex/proto/smb.rb +0 -0
  288. data/lib/rex/proto/smb.rb.ts.rb +0 -0
  289. data/lib/rex/proto/smb/client.rb +110 -61
  290. data/lib/rex/proto/smb/client.rb.ut.rb +0 -0
  291. data/lib/rex/proto/smb/constants.rb +5 -3
  292. data/lib/rex/proto/smb/constants.rb.ut.rb +0 -0
  293. data/lib/rex/proto/smb/crypt.rb +0 -0
  294. data/lib/rex/proto/smb/crypt.rb.ut.rb +0 -0
  295. data/lib/rex/proto/smb/exceptions.rb +0 -0
  296. data/lib/rex/proto/smb/simpleclient.rb +0 -0
  297. data/lib/rex/proto/smb/simpleclient.rb.ut.rb +0 -0
  298. data/lib/rex/proto/smb/utils.rb +2 -0
  299. data/lib/rex/proto/smb/utils.rb.ut.rb +0 -0
  300. data/lib/rex/proto/sunrpc.rb +0 -0
  301. data/lib/rex/proto/sunrpc/client.rb +0 -0
  302. data/lib/rex/proto/tftp.rb +10 -1
  303. data/lib/rex/proto/tftp/constants.rb +5 -3
  304. data/lib/rex/proto/tftp/server.rb +79 -9
  305. data/lib/rex/script.rb +0 -0
  306. data/lib/rex/script/base.rb +0 -0
  307. data/lib/rex/script/meterpreter.rb +0 -0
  308. data/lib/rex/script/shell.rb +0 -0
  309. data/lib/rex/service.rb +0 -0
  310. data/lib/rex/service_manager.rb +0 -0
  311. data/lib/rex/service_manager.rb.ut.rb +0 -0
  312. data/lib/rex/services/local_relay.rb +0 -0
  313. data/lib/rex/socket.rb +6 -4
  314. data/lib/rex/socket.rb.ut.rb +0 -0
  315. data/lib/rex/socket/comm.rb +0 -0
  316. data/lib/rex/socket/comm/local.rb +0 -0
  317. data/lib/rex/socket/comm/local.rb.ut.rb +0 -0
  318. data/lib/rex/socket/ip.rb +0 -0
  319. data/lib/rex/socket/parameters.rb +0 -0
  320. data/lib/rex/socket/parameters.rb.ut.rb +0 -0
  321. data/lib/rex/socket/range_walker.rb +0 -0
  322. data/lib/rex/socket/range_walker.rb.ut.rb +0 -0
  323. data/lib/rex/socket/ssl_tcp.rb +1 -1
  324. data/lib/rex/socket/ssl_tcp.rb.ut.rb +0 -0
  325. data/lib/rex/socket/ssl_tcp_server.rb +0 -0
  326. data/lib/rex/socket/ssl_tcp_server.rb.ut.rb +0 -0
  327. data/lib/rex/socket/subnet_walker.rb +0 -0
  328. data/lib/rex/socket/subnet_walker.rb.ut.rb +0 -0
  329. data/lib/rex/socket/switch_board.rb.ut.rb +0 -0
  330. data/lib/rex/socket/tcp.rb +0 -0
  331. data/lib/rex/socket/tcp.rb.ut.rb +0 -0
  332. data/lib/rex/socket/tcp_server.rb +0 -0
  333. data/lib/rex/socket/tcp_server.rb.ut.rb +0 -0
  334. data/lib/rex/socket/udp.rb +0 -0
  335. data/lib/rex/socket/udp.rb.ut.rb +0 -0
  336. data/lib/rex/struct2.rb +0 -0
  337. data/lib/rex/struct2/c_struct.rb +0 -0
  338. data/lib/rex/struct2/c_struct_template.rb +0 -0
  339. data/lib/rex/struct2/constant.rb +0 -0
  340. data/lib/rex/struct2/element.rb +0 -0
  341. data/lib/rex/struct2/generic.rb +0 -0
  342. data/lib/rex/struct2/restraint.rb +0 -0
  343. data/lib/rex/struct2/s_string.rb +0 -0
  344. data/lib/rex/struct2/s_struct.rb +0 -0
  345. data/lib/rex/sync.rb +0 -0
  346. data/lib/rex/sync/event.rb +0 -0
  347. data/lib/rex/sync/read_write_lock.rb +0 -0
  348. data/lib/rex/sync/ref.rb +0 -0
  349. data/lib/rex/sync/thread_safe.rb +0 -0
  350. data/lib/rex/test.rb +0 -0
  351. data/lib/rex/text.rb +13 -3
  352. data/lib/rex/text.rb.ut.rb +9 -4
  353. data/lib/rex/time.rb +0 -0
  354. data/lib/rex/transformer.rb +0 -0
  355. data/lib/rex/transformer.rb.ut.rb +0 -0
  356. data/lib/rex/ui.rb +0 -0
  357. data/lib/rex/ui/interactive.rb +0 -0
  358. data/lib/rex/ui/output.rb +0 -0
  359. data/lib/rex/ui/output/none.rb +0 -0
  360. data/lib/rex/ui/progress_tracker.rb +0 -0
  361. data/lib/rex/ui/subscriber.rb +0 -0
  362. data/lib/rex/ui/text/color.rb +0 -0
  363. data/lib/rex/ui/text/color.rb.ut.rb +0 -0
  364. data/lib/rex/ui/text/dispatcher_shell.rb +0 -0
  365. data/lib/rex/ui/text/input.rb +0 -0
  366. data/lib/rex/ui/text/input/buffer.rb +0 -0
  367. data/lib/rex/ui/text/input/readline.rb +0 -0
  368. data/lib/rex/ui/text/input/socket.rb +0 -0
  369. data/lib/rex/ui/text/input/stdio.rb +0 -0
  370. data/lib/rex/ui/text/irb_shell.rb +0 -0
  371. data/lib/rex/ui/text/output.rb +0 -0
  372. data/lib/rex/ui/text/output/buffer.rb +0 -0
  373. data/lib/rex/ui/text/output/file.rb +0 -0
  374. data/lib/rex/ui/text/output/socket.rb +0 -0
  375. data/lib/rex/ui/text/output/stdio.rb +0 -0
  376. data/lib/rex/ui/text/progress_tracker.rb +0 -0
  377. data/lib/rex/ui/text/progress_tracker.rb.ut.rb +0 -0
  378. data/lib/rex/ui/text/shell.rb +9 -6
  379. data/lib/rex/ui/text/table.rb +5 -0
  380. data/lib/rex/ui/text/table.rb.ut.rb +0 -0
  381. data/lib/rex/zip.rb +0 -0
  382. data/lib/rex/zip/archive.rb +29 -1
  383. data/lib/rex/zip/blocks.rb +0 -0
  384. data/lib/rex/zip/entry.rb +5 -1
  385. metadata +369 -413
  386. data/README +0 -8
  387. data/lib/rex/post/meterpreter/extensions/railgun/api.rb +0 -9303
  388. data/lib/rex/post/meterpreter/extensions/railgun/railgun.rb +0 -815
  389. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/railgun.rb +0 -57
@@ -0,0 +1,599 @@
1
+ module Rex
2
+ module Post
3
+ module Meterpreter
4
+ module Extensions
5
+ module Stdapi
6
+ module Railgun
7
+ module Def
8
+
9
+ class Def_ws2_32
10
+
11
+ def self.add_imports(railgun)
12
+
13
+ railgun.add_dll('ws2_32')
14
+
15
+ railgun.add_function( 'ws2_32', 'WSAAccept', 'DWORD',[
16
+ ["DWORD","s","in"],
17
+ ["PBLOB","addr","inout"],
18
+ ["PDWORD","addrlen","inout"],
19
+ ["PBLOB","lpfnCondition","in"],
20
+ ["PDWORD","dwCallbackData","in"],
21
+ ])
22
+
23
+ railgun.add_function( 'ws2_32', 'WSAAddressToStringA', 'DWORD',[
24
+ ["PBLOB","lpsaAddress","in"],
25
+ ["DWORD","dwAddressLength","in"],
26
+ ["PBLOB","lpProtocolInfo","in"],
27
+ ["PCHAR","lpszAddressString","inout"],
28
+ ["PDWORD","lpdwAddressStringLength","inout"],
29
+ ])
30
+
31
+ railgun.add_function( 'ws2_32', 'WSAAddressToStringW', 'DWORD',[
32
+ ["PBLOB","lpsaAddress","in"],
33
+ ["DWORD","dwAddressLength","in"],
34
+ ["PBLOB","lpProtocolInfo","in"],
35
+ ["PWCHAR","lpszAddressString","inout"],
36
+ ["PDWORD","lpdwAddressStringLength","inout"],
37
+ ])
38
+
39
+ railgun.add_function( 'ws2_32', 'WSAAsyncGetHostByAddr', 'DWORD',[
40
+ ["DWORD","hWnd","in"],
41
+ ["DWORD","wMsg","in"],
42
+ ["PCHAR","addr","in"],
43
+ ["DWORD","len","in"],
44
+ ["DWORD","type","in"],
45
+ ["PCHAR","buf","inout"],
46
+ ["DWORD","buflen","in"],
47
+ ])
48
+
49
+ railgun.add_function( 'ws2_32', 'WSAAsyncGetHostByName', 'DWORD',[
50
+ ["DWORD","hWnd","in"],
51
+ ["DWORD","wMsg","in"],
52
+ ["PCHAR","name","in"],
53
+ ["PCHAR","buf","inout"],
54
+ ["DWORD","buflen","in"],
55
+ ])
56
+
57
+ railgun.add_function( 'ws2_32', 'WSAAsyncGetProtoByName', 'DWORD',[
58
+ ["DWORD","hWnd","in"],
59
+ ["DWORD","wMsg","in"],
60
+ ["PCHAR","name","in"],
61
+ ["PCHAR","buf","inout"],
62
+ ["DWORD","buflen","in"],
63
+ ])
64
+
65
+ railgun.add_function( 'ws2_32', 'WSAAsyncGetProtoByNumber', 'DWORD',[
66
+ ["DWORD","hWnd","in"],
67
+ ["DWORD","wMsg","in"],
68
+ ["DWORD","number","in"],
69
+ ["PCHAR","buf","inout"],
70
+ ["DWORD","buflen","in"],
71
+ ])
72
+
73
+ railgun.add_function( 'ws2_32', 'WSAAsyncGetServByName', 'DWORD',[
74
+ ["DWORD","hWnd","in"],
75
+ ["DWORD","wMsg","in"],
76
+ ["PCHAR","name","in"],
77
+ ["PCHAR","proto","in"],
78
+ ["PCHAR","buf","inout"],
79
+ ["DWORD","buflen","in"],
80
+ ])
81
+
82
+ railgun.add_function( 'ws2_32', 'WSAAsyncGetServByPort', 'DWORD',[
83
+ ["DWORD","hWnd","in"],
84
+ ["DWORD","wMsg","in"],
85
+ ["DWORD","port","in"],
86
+ ["PCHAR","proto","in"],
87
+ ["PCHAR","buf","inout"],
88
+ ["DWORD","buflen","in"],
89
+ ])
90
+
91
+ railgun.add_function( 'ws2_32', 'WSAAsyncSelect', 'DWORD',[
92
+ ["DWORD","s","in"],
93
+ ["DWORD","hWnd","in"],
94
+ ["DWORD","wMsg","in"],
95
+ ["DWORD","lEvent","in"],
96
+ ])
97
+
98
+ railgun.add_function( 'ws2_32', 'WSACancelAsyncRequest', 'DWORD',[
99
+ ["DWORD","hAsyncTaskHandle","in"],
100
+ ])
101
+
102
+ railgun.add_function( 'ws2_32', 'WSACancelBlockingCall', 'DWORD',[
103
+ ])
104
+
105
+ railgun.add_function( 'ws2_32', 'WSACleanup', 'DWORD',[
106
+ ])
107
+
108
+ railgun.add_function( 'ws2_32', 'WSACloseEvent', 'BOOL',[
109
+ ["DWORD","hEvent","in"],
110
+ ])
111
+
112
+ railgun.add_function( 'ws2_32', 'WSAConnect', 'DWORD',[
113
+ ["DWORD","s","in"],
114
+ ["PBLOB","name","in"],
115
+ ["DWORD","namelen","in"],
116
+ ["PBLOB","lpCallerData","in"],
117
+ ["PBLOB","lpCalleeData","inout"],
118
+ ["PBLOB","lpSQOS","in"],
119
+ ["PBLOB","lpGQOS","in"],
120
+ ])
121
+
122
+ railgun.add_function( 'ws2_32', 'WSACreateEvent', 'DWORD',[
123
+ ])
124
+
125
+ railgun.add_function( 'ws2_32', 'WSADuplicateSocketA', 'DWORD',[
126
+ ["DWORD","s","in"],
127
+ ["DWORD","dwProcessId","in"],
128
+ ["PBLOB","lpProtocolInfo","inout"],
129
+ ])
130
+
131
+ railgun.add_function( 'ws2_32', 'WSADuplicateSocketW', 'DWORD',[
132
+ ["DWORD","s","in"],
133
+ ["DWORD","dwProcessId","in"],
134
+ ["PBLOB","lpProtocolInfo","inout"],
135
+ ])
136
+
137
+ railgun.add_function( 'ws2_32', 'WSAEnumNameSpaceProvidersA', 'DWORD',[
138
+ ["PDWORD","lpdwBufferLength","inout"],
139
+ ["PBLOB","lpnspBuffer","inout"],
140
+ ])
141
+
142
+ railgun.add_function( 'ws2_32', 'WSAEnumNameSpaceProvidersW', 'DWORD',[
143
+ ["PDWORD","lpdwBufferLength","inout"],
144
+ ["PBLOB","lpnspBuffer","inout"],
145
+ ])
146
+
147
+ railgun.add_function( 'ws2_32', 'WSAEnumNetworkEvents', 'DWORD',[
148
+ ["DWORD","s","in"],
149
+ ["DWORD","hEventObject","in"],
150
+ ["PBLOB","lpNetworkEvents","inout"],
151
+ ])
152
+
153
+ railgun.add_function( 'ws2_32', 'WSAEnumProtocolsA', 'DWORD',[
154
+ ["PDWORD","lpiProtocols","in"],
155
+ ["PBLOB","lpProtocolBuffer","inout"],
156
+ ["PDWORD","lpdwBufferLength","inout"],
157
+ ])
158
+
159
+ railgun.add_function( 'ws2_32', 'WSAEnumProtocolsW', 'DWORD',[
160
+ ["PDWORD","lpiProtocols","in"],
161
+ ["PBLOB","lpProtocolBuffer","inout"],
162
+ ["PDWORD","lpdwBufferLength","inout"],
163
+ ])
164
+
165
+ railgun.add_function( 'ws2_32', 'WSAEventSelect', 'DWORD',[
166
+ ["DWORD","s","in"],
167
+ ["DWORD","hEventObject","in"],
168
+ ["DWORD","lNetworkEvents","in"],
169
+ ])
170
+
171
+ railgun.add_function( 'ws2_32', 'WSAGetLastError', 'DWORD',[
172
+ ])
173
+
174
+ railgun.add_function( 'ws2_32', 'WSAGetOverlappedResult', 'BOOL',[
175
+ ["DWORD","s","in"],
176
+ ["PBLOB","lpOverlapped","in"],
177
+ ["PDWORD","lpcbTransfer","inout"],
178
+ ["BOOL","fWait","in"],
179
+ ["PDWORD","lpdwFlags","inout"],
180
+ ])
181
+
182
+ railgun.add_function( 'ws2_32', 'WSAGetQOSByName', 'BOOL',[
183
+ ["DWORD","s","in"],
184
+ ["PBLOB","lpQOSName","in"],
185
+ ["PBLOB","lpQOS","inout"],
186
+ ])
187
+
188
+ railgun.add_function( 'ws2_32', 'WSAGetServiceClassInfoA', 'DWORD',[
189
+ ["PBLOB","lpProviderId","in"],
190
+ ["PBLOB","lpServiceClassId","in"],
191
+ ["PDWORD","lpdwBufSize","inout"],
192
+ ["PBLOB","lpServiceClassInfo","inout"],
193
+ ])
194
+
195
+ railgun.add_function( 'ws2_32', 'WSAGetServiceClassInfoW', 'DWORD',[
196
+ ["PBLOB","lpProviderId","in"],
197
+ ["PBLOB","lpServiceClassId","in"],
198
+ ["PDWORD","lpdwBufSize","inout"],
199
+ ["PBLOB","lpServiceClassInfo","inout"],
200
+ ])
201
+
202
+ railgun.add_function( 'ws2_32', 'WSAGetServiceClassNameByClassIdA', 'DWORD',[
203
+ ["PBLOB","lpServiceClassId","in"],
204
+ ["PCHAR","lpszServiceClassName","inout"],
205
+ ["PDWORD","lpdwBufferLength","inout"],
206
+ ])
207
+
208
+ railgun.add_function( 'ws2_32', 'WSAGetServiceClassNameByClassIdW', 'DWORD',[
209
+ ["PBLOB","lpServiceClassId","in"],
210
+ ["PWCHAR","lpszServiceClassName","inout"],
211
+ ["PDWORD","lpdwBufferLength","inout"],
212
+ ])
213
+
214
+ railgun.add_function( 'ws2_32', 'WSAHtonl', 'DWORD',[
215
+ ["DWORD","s","in"],
216
+ ["DWORD","hostlong","in"],
217
+ ["PDWORD","lpnetlong","inout"],
218
+ ])
219
+
220
+ railgun.add_function( 'ws2_32', 'WSAHtons', 'DWORD',[
221
+ ["DWORD","s","in"],
222
+ ["WORD","hostshort","in"],
223
+ ["PBLOB","lpnetshort","inout"],
224
+ ])
225
+
226
+ railgun.add_function( 'ws2_32', 'WSAInstallServiceClassA', 'DWORD',[
227
+ ["PBLOB","lpServiceClassInfo","in"],
228
+ ])
229
+
230
+ railgun.add_function( 'ws2_32', 'WSAInstallServiceClassW', 'DWORD',[
231
+ ["PBLOB","lpServiceClassInfo","in"],
232
+ ])
233
+
234
+ railgun.add_function( 'ws2_32', 'WSAIoctl', 'DWORD',[
235
+ ["DWORD","s","in"],
236
+ ["DWORD","dwIoControlCode","in"],
237
+ ["PBLOB","lpvInBuffer","in"],
238
+ ["DWORD","cbInBuffer","in"],
239
+ ["PBLOB","lpvOutBuffer","inout"],
240
+ ["DWORD","cbOutBuffer","in"],
241
+ ["PDWORD","lpcbBytesReturned","inout"],
242
+ ["PBLOB","lpOverlapped","in"],
243
+ ["PBLOB","lpCompletionRoutine","in"],
244
+ ])
245
+
246
+ railgun.add_function( 'ws2_32', 'WSAIsBlocking', 'BOOL',[
247
+ ])
248
+
249
+ railgun.add_function( 'ws2_32', 'WSAJoinLeaf', 'DWORD',[
250
+ ["DWORD","s","in"],
251
+ ["PBLOB","name","in"],
252
+ ["DWORD","namelen","in"],
253
+ ["PBLOB","lpCallerData","in"],
254
+ ["PBLOB","lpCalleeData","inout"],
255
+ ["PBLOB","lpSQOS","in"],
256
+ ["PBLOB","lpGQOS","in"],
257
+ ["DWORD","dwFlags","in"],
258
+ ])
259
+
260
+ railgun.add_function( 'ws2_32', 'WSALookupServiceBeginA', 'DWORD',[
261
+ ["PBLOB","lpqsRestrictions","in"],
262
+ ["DWORD","dwControlFlags","in"],
263
+ ["PDWORD","lphLookup","inout"],
264
+ ])
265
+
266
+ railgun.add_function( 'ws2_32', 'WSALookupServiceBeginW', 'DWORD',[
267
+ ["PBLOB","lpqsRestrictions","in"],
268
+ ["DWORD","dwControlFlags","in"],
269
+ ["PDWORD","lphLookup","inout"],
270
+ ])
271
+
272
+ railgun.add_function( 'ws2_32', 'WSALookupServiceEnd', 'DWORD',[
273
+ ["DWORD","hLookup","in"],
274
+ ])
275
+
276
+ railgun.add_function( 'ws2_32', 'WSALookupServiceNextA', 'DWORD',[
277
+ ["DWORD","hLookup","in"],
278
+ ["DWORD","dwControlFlags","in"],
279
+ ["PDWORD","lpdwBufferLength","inout"],
280
+ ["PBLOB","lpqsResults","inout"],
281
+ ])
282
+
283
+ railgun.add_function( 'ws2_32', 'WSALookupServiceNextW', 'DWORD',[
284
+ ["DWORD","hLookup","in"],
285
+ ["DWORD","dwControlFlags","in"],
286
+ ["PDWORD","lpdwBufferLength","inout"],
287
+ ["PBLOB","lpqsResults","inout"],
288
+ ])
289
+
290
+ railgun.add_function( 'ws2_32', 'WSANSPIoctl', 'DWORD',[
291
+ ["DWORD","hLookup","in"],
292
+ ["DWORD","dwControlCode","in"],
293
+ ["PBLOB","lpvInBuffer","in"],
294
+ ["DWORD","cbInBuffer","in"],
295
+ ["PBLOB","lpvOutBuffer","inout"],
296
+ ["DWORD","cbOutBuffer","in"],
297
+ ["PDWORD","lpcbBytesReturned","inout"],
298
+ ["PBLOB","lpCompletion","in"],
299
+ ])
300
+
301
+ railgun.add_function( 'ws2_32', 'WSANtohl', 'DWORD',[
302
+ ["DWORD","s","in"],
303
+ ["DWORD","netlong","in"],
304
+ ["PDWORD","lphostlong","inout"],
305
+ ])
306
+
307
+ railgun.add_function( 'ws2_32', 'WSANtohs', 'DWORD',[
308
+ ["DWORD","s","in"],
309
+ ["WORD","netshort","in"],
310
+ ["PBLOB","lphostshort","inout"],
311
+ ])
312
+
313
+ railgun.add_function( 'ws2_32', 'WSAProviderConfigChange', 'DWORD',[
314
+ ["PDWORD","lpNotificationHandle","inout"],
315
+ ["PBLOB","lpOverlapped","in"],
316
+ ["PBLOB","lpCompletionRoutine","in"],
317
+ ])
318
+
319
+ railgun.add_function( 'ws2_32', 'WSARecv', 'DWORD',[
320
+ ["DWORD","s","in"],
321
+ ["PBLOB","lpBuffers","inout"],
322
+ ["DWORD","dwBufferCount","in"],
323
+ ["PDWORD","lpNumberOfBytesRecvd","inout"],
324
+ ["PDWORD","lpFlags","inout"],
325
+ ["PBLOB","lpOverlapped","in"],
326
+ ["PBLOB","lpCompletionRoutine","in"],
327
+ ])
328
+
329
+ railgun.add_function( 'ws2_32', 'WSARecvDisconnect', 'DWORD',[
330
+ ["DWORD","s","in"],
331
+ ["PBLOB","lpInboundDisconnectData","inout"],
332
+ ])
333
+
334
+ railgun.add_function( 'ws2_32', 'WSARecvFrom', 'DWORD',[
335
+ ["DWORD","s","in"],
336
+ ["PBLOB","lpBuffers","inout"],
337
+ ["DWORD","dwBufferCount","in"],
338
+ ["PDWORD","lpNumberOfBytesRecvd","inout"],
339
+ ["PDWORD","lpFlags","inout"],
340
+ ["PBLOB","lpFrom","inout"],
341
+ ["PDWORD","lpFromlen","inout"],
342
+ ["PBLOB","lpOverlapped","in"],
343
+ ["PBLOB","lpCompletionRoutine","in"],
344
+ ])
345
+
346
+ railgun.add_function( 'ws2_32', 'WSARemoveServiceClass', 'DWORD',[
347
+ ["PBLOB","lpServiceClassId","in"],
348
+ ])
349
+
350
+ railgun.add_function( 'ws2_32', 'WSAResetEvent', 'BOOL',[
351
+ ["DWORD","hEvent","in"],
352
+ ])
353
+
354
+ railgun.add_function( 'ws2_32', 'WSASend', 'DWORD',[
355
+ ["DWORD","s","in"],
356
+ ["PBLOB","lpBuffers","in"],
357
+ ["DWORD","dwBufferCount","in"],
358
+ ["PDWORD","lpNumberOfBytesSent","inout"],
359
+ ["DWORD","dwFlags","in"],
360
+ ["PBLOB","lpOverlapped","in"],
361
+ ["PBLOB","lpCompletionRoutine","in"],
362
+ ])
363
+
364
+ railgun.add_function( 'ws2_32', 'WSASendDisconnect', 'DWORD',[
365
+ ["DWORD","s","in"],
366
+ ["PBLOB","lpOutboundDisconnectData","in"],
367
+ ])
368
+
369
+ railgun.add_function( 'ws2_32', 'WSASendTo', 'DWORD',[
370
+ ["DWORD","s","in"],
371
+ ["PBLOB","lpBuffers","in"],
372
+ ["DWORD","dwBufferCount","in"],
373
+ ["PDWORD","lpNumberOfBytesSent","inout"],
374
+ ["DWORD","dwFlags","in"],
375
+ ["PBLOB","lpTo","in"],
376
+ ["DWORD","iTolen","in"],
377
+ ["PBLOB","lpOverlapped","in"],
378
+ ["PBLOB","lpCompletionRoutine","in"],
379
+ ])
380
+
381
+ railgun.add_function( 'ws2_32', 'WSASetEvent', 'BOOL',[
382
+ ["DWORD","hEvent","in"],
383
+ ])
384
+
385
+ railgun.add_function( 'ws2_32', 'WSASetLastError', 'VOID',[
386
+ ["DWORD","iError","in"],
387
+ ])
388
+
389
+ railgun.add_function( 'ws2_32', 'WSASetServiceA', 'DWORD',[
390
+ ["PBLOB","lpqsRegInfo","in"],
391
+ ["PBLOB","essoperation","in"],
392
+ ["DWORD","dwControlFlags","in"],
393
+ ])
394
+
395
+ railgun.add_function( 'ws2_32', 'WSASetServiceW', 'DWORD',[
396
+ ["PBLOB","lpqsRegInfo","in"],
397
+ ["PBLOB","essoperation","in"],
398
+ ["DWORD","dwControlFlags","in"],
399
+ ])
400
+
401
+ railgun.add_function( 'ws2_32', 'WSASocketA', 'DWORD',[
402
+ ["DWORD","af","in"],
403
+ ["DWORD","type","in"],
404
+ ["DWORD","protocol","in"],
405
+ ["PBLOB","lpProtocolInfo","in"],
406
+ ["PBLOB","g","in"],
407
+ ["DWORD","dwFlags","in"],
408
+ ])
409
+
410
+ railgun.add_function( 'ws2_32', 'WSASocketW', 'DWORD',[
411
+ ["DWORD","af","in"],
412
+ ["DWORD","type","in"],
413
+ ["DWORD","protocol","in"],
414
+ ["PBLOB","lpProtocolInfo","in"],
415
+ ["PBLOB","g","in"],
416
+ ["DWORD","dwFlags","in"],
417
+ ])
418
+
419
+ railgun.add_function( 'ws2_32', 'WSAStartup', 'DWORD',[
420
+ ["WORD","wVersionRequested","in"],
421
+ ["PBLOB","lpWSAData","inout"],
422
+ ])
423
+
424
+ railgun.add_function( 'ws2_32', 'WSAStringToAddressA', 'DWORD',[
425
+ ["PCHAR","AddressString","in"],
426
+ ["DWORD","AddressFamily","in"],
427
+ ["PBLOB","lpProtocolInfo","in"],
428
+ ["PBLOB","lpAddress","inout"],
429
+ ["PDWORD","lpAddressLength","inout"],
430
+ ])
431
+
432
+ railgun.add_function( 'ws2_32', 'WSAStringToAddressW', 'DWORD',[
433
+ ["PWCHAR","AddressString","in"],
434
+ ["DWORD","AddressFamily","in"],
435
+ ["PBLOB","lpProtocolInfo","in"],
436
+ ["PBLOB","lpAddress","inout"],
437
+ ["PDWORD","lpAddressLength","inout"],
438
+ ])
439
+
440
+ railgun.add_function( 'ws2_32', 'WSAUnhookBlockingHook', 'DWORD',[
441
+ ])
442
+
443
+ railgun.add_function( 'ws2_32', 'WSAWaitForMultipleEvents', 'DWORD',[
444
+ ["DWORD","cEvents","in"],
445
+ ["PDWORD","lphEvents","in"],
446
+ ["BOOL","fWaitAll","in"],
447
+ ["DWORD","dwTimeout","in"],
448
+ ["BOOL","fAlertable","in"],
449
+ ])
450
+
451
+ railgun.add_function( 'ws2_32', '__WSAFDIsSet', 'DWORD',[
452
+ ["DWORD","param0","in"],
453
+ ["PBLOB","param1","inout"],
454
+ ])
455
+
456
+ railgun.add_function( 'ws2_32', 'accept', 'DWORD',[
457
+ ["DWORD","s","in"],
458
+ ["PBLOB","addr","inout"],
459
+ ["PDWORD","addrlen","inout"],
460
+ ])
461
+
462
+ railgun.add_function( 'ws2_32', 'bind', 'DWORD',[
463
+ ["DWORD","s","in"],
464
+ ["PBLOB","name","in"],
465
+ ["DWORD","namelen","in"],
466
+ ])
467
+
468
+ railgun.add_function( 'ws2_32', 'closesocket', 'DWORD',[
469
+ ["DWORD","s","in"],
470
+ ])
471
+
472
+ railgun.add_function( 'ws2_32', 'connect', 'DWORD',[
473
+ ["DWORD","s","in"],
474
+ ["PBLOB","name","in"],
475
+ ["DWORD","namelen","in"],
476
+ ])
477
+
478
+ railgun.add_function( 'ws2_32', 'gethostname', 'DWORD',[
479
+ ["PCHAR","name","inout"],
480
+ ["DWORD","namelen","in"],
481
+ ])
482
+
483
+ railgun.add_function( 'ws2_32', 'getpeername', 'DWORD',[
484
+ ["DWORD","s","in"],
485
+ ["PBLOB","name","inout"],
486
+ ["PDWORD","namelen","inout"],
487
+ ])
488
+
489
+ railgun.add_function( 'ws2_32', 'getsockname', 'DWORD',[
490
+ ["DWORD","s","in"],
491
+ ["PBLOB","name","inout"],
492
+ ["PDWORD","namelen","inout"],
493
+ ])
494
+
495
+ railgun.add_function( 'ws2_32', 'getsockopt', 'DWORD',[
496
+ ["DWORD","s","in"],
497
+ ["DWORD","level","in"],
498
+ ["DWORD","optname","in"],
499
+ ["PCHAR","optval","inout"],
500
+ ["PDWORD","optlen","inout"],
501
+ ])
502
+
503
+ railgun.add_function( 'ws2_32', 'htonl', 'DWORD',[
504
+ ["DWORD","hostlong","in"],
505
+ ])
506
+
507
+ railgun.add_function( 'ws2_32', 'htons', 'WORD',[
508
+ ["WORD","hostshort","in"],
509
+ ])
510
+
511
+ railgun.add_function( 'ws2_32', 'inet_addr', 'DWORD',[
512
+ ["PCHAR","cp","in"],
513
+ ])
514
+
515
+ railgun.add_function( 'ws2_32', 'ioctlsocket', 'DWORD',[
516
+ ["DWORD","s","in"],
517
+ ["DWORD","cmd","in"],
518
+ ["PDWORD","argp","inout"],
519
+ ])
520
+
521
+ railgun.add_function( 'ws2_32', 'listen', 'DWORD',[
522
+ ["DWORD","s","in"],
523
+ ["DWORD","backlog","in"],
524
+ ])
525
+
526
+ railgun.add_function( 'ws2_32', 'ntohl', 'DWORD',[
527
+ ["DWORD","netlong","in"],
528
+ ])
529
+
530
+ railgun.add_function( 'ws2_32', 'ntohs', 'WORD',[
531
+ ["WORD","netshort","in"],
532
+ ])
533
+
534
+ railgun.add_function( 'ws2_32', 'recv', 'DWORD',[
535
+ ["DWORD","s","in"],
536
+ ["PCHAR","buf","inout"],
537
+ ["DWORD","len","in"],
538
+ ["DWORD","flags","in"],
539
+ ])
540
+
541
+ railgun.add_function( 'ws2_32', 'recvfrom', 'DWORD',[
542
+ ["DWORD","s","in"],
543
+ ["PCHAR","buf","inout"],
544
+ ["DWORD","len","in"],
545
+ ["DWORD","flags","in"],
546
+ ["PBLOB","from","inout"],
547
+ ["PDWORD","fromlen","inout"],
548
+ ])
549
+
550
+ railgun.add_function( 'ws2_32', 'select', 'DWORD',[
551
+ ["DWORD","nfds","in"],
552
+ ["PBLOB","readfds","inout"],
553
+ ["PBLOB","writefds","inout"],
554
+ ["PBLOB","exceptfds","inout"],
555
+ ["PDWORD","timeout","in"],
556
+ ])
557
+
558
+ railgun.add_function( 'ws2_32', 'send', 'DWORD',[
559
+ ["DWORD","s","in"],
560
+ ["PCHAR","buf","in"],
561
+ ["DWORD","len","in"],
562
+ ["DWORD","flags","in"],
563
+ ])
564
+
565
+ railgun.add_function( 'ws2_32', 'sendto', 'DWORD',[
566
+ ["DWORD","s","in"],
567
+ ["PCHAR","buf","in"],
568
+ ["DWORD","len","in"],
569
+ ["DWORD","flags","in"],
570
+ ["PBLOB","to","in"],
571
+ ["DWORD","tolen","in"],
572
+ ])
573
+
574
+ railgun.add_function( 'ws2_32', 'setsockopt', 'DWORD',[
575
+ ["DWORD","s","in"],
576
+ ["DWORD","level","in"],
577
+ ["DWORD","optname","in"],
578
+ ["PCHAR","optval","in"],
579
+ ["DWORD","optlen","in"],
580
+ ])
581
+
582
+ railgun.add_function( 'ws2_32', 'shutdown', 'DWORD',[
583
+ ["DWORD","s","in"],
584
+ ["DWORD","how","in"],
585
+ ])
586
+
587
+ railgun.add_function( 'ws2_32', 'socket', 'DWORD',[
588
+ ["DWORD","af","in"],
589
+ ["DWORD","type","in"],
590
+ ["DWORD","protocol","in"],
591
+ ])
592
+
593
+ end
594
+
595
+ end
596
+
597
+ end; end; end; end; end; end; end
598
+
599
+