librex 0.0.20 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (435) hide show
  1. data/Rakefile +1 -0
  2. data/lib/rex/LICENSE +29 -0
  3. data/lib/rex/arch.rb +103 -0
  4. data/lib/rex/arch/sparc.rb +75 -0
  5. data/lib/rex/arch/sparc.rb.ut.rb +18 -0
  6. data/lib/rex/arch/x86.rb +513 -0
  7. data/lib/rex/arch/x86.rb.ut.rb +93 -0
  8. data/lib/rex/assembly/nasm.rb +104 -0
  9. data/lib/rex/assembly/nasm.rb.ut.rb +22 -0
  10. data/lib/rex/codepage.map +104 -0
  11. data/lib/rex/compat.rb +311 -0
  12. data/lib/rex/constants.rb +113 -0
  13. data/lib/rex/elfparsey.rb +11 -0
  14. data/lib/rex/elfparsey/elf.rb +123 -0
  15. data/lib/rex/elfparsey/elfbase.rb +258 -0
  16. data/lib/rex/elfparsey/exceptions.rb +27 -0
  17. data/lib/rex/elfscan.rb +12 -0
  18. data/lib/rex/elfscan/scanner.rb +207 -0
  19. data/lib/rex/elfscan/search.rb +46 -0
  20. data/lib/rex/encoder/alpha2.rb +31 -0
  21. data/lib/rex/encoder/alpha2/alpha_mixed.rb +68 -0
  22. data/lib/rex/encoder/alpha2/alpha_upper.rb +79 -0
  23. data/lib/rex/encoder/alpha2/generic.rb +114 -0
  24. data/lib/rex/encoder/alpha2/unicode_mixed.rb +117 -0
  25. data/lib/rex/encoder/alpha2/unicode_upper.rb +129 -0
  26. data/lib/rex/encoder/ndr.rb +89 -0
  27. data/lib/rex/encoder/ndr.rb.ut.rb +44 -0
  28. data/lib/rex/encoder/nonalpha.rb +61 -0
  29. data/lib/rex/encoder/nonupper.rb +64 -0
  30. data/lib/rex/encoder/xdr.rb +106 -0
  31. data/lib/rex/encoder/xdr.rb.ut.rb +29 -0
  32. data/lib/rex/encoder/xor.rb +69 -0
  33. data/lib/rex/encoder/xor/dword.rb +13 -0
  34. data/lib/rex/encoder/xor/dword_additive.rb +13 -0
  35. data/lib/rex/encoders/xor_dword.rb +35 -0
  36. data/lib/rex/encoders/xor_dword_additive.rb +53 -0
  37. data/lib/rex/encoders/xor_dword_additive.rb.ut.rb +12 -0
  38. data/lib/rex/encoding/xor.rb +20 -0
  39. data/lib/rex/encoding/xor.rb.ts.rb +14 -0
  40. data/lib/rex/encoding/xor/byte.rb +15 -0
  41. data/lib/rex/encoding/xor/byte.rb.ut.rb +21 -0
  42. data/lib/rex/encoding/xor/dword.rb +21 -0
  43. data/lib/rex/encoding/xor/dword.rb.ut.rb +15 -0
  44. data/lib/rex/encoding/xor/dword_additive.rb +92 -0
  45. data/lib/rex/encoding/xor/dword_additive.rb.ut.rb +15 -0
  46. data/lib/rex/encoding/xor/exceptions.rb +17 -0
  47. data/lib/rex/encoding/xor/generic.rb +146 -0
  48. data/lib/rex/encoding/xor/generic.rb.ut.rb +120 -0
  49. data/lib/rex/encoding/xor/qword.rb +15 -0
  50. data/lib/rex/encoding/xor/word.rb +21 -0
  51. data/lib/rex/encoding/xor/word.rb.ut.rb +13 -0
  52. data/lib/rex/exceptions.rb +275 -0
  53. data/lib/rex/exceptions.rb.ut.rb +44 -0
  54. data/lib/rex/exploitation/cmdstager.rb +9 -0
  55. data/lib/rex/exploitation/cmdstager/base.rb +175 -0
  56. data/lib/rex/exploitation/cmdstager/debug_asm.rb +142 -0
  57. data/lib/rex/exploitation/cmdstager/debug_write.rb +136 -0
  58. data/lib/rex/exploitation/cmdstager/tftp.rb +63 -0
  59. data/lib/rex/exploitation/cmdstager/vbs.rb +128 -0
  60. data/lib/rex/exploitation/egghunter.rb +277 -0
  61. data/lib/rex/exploitation/egghunter.rb.ut.rb +25 -0
  62. data/lib/rex/exploitation/encryptjs.rb +77 -0
  63. data/lib/rex/exploitation/heaplib.js.b64 +331 -0
  64. data/lib/rex/exploitation/heaplib.rb +94 -0
  65. data/lib/rex/exploitation/javascriptosdetect.rb +897 -0
  66. data/lib/rex/exploitation/obfuscatejs.rb +335 -0
  67. data/lib/rex/exploitation/omelet.rb +320 -0
  68. data/lib/rex/exploitation/omelet.rb.ut.rb +13 -0
  69. data/lib/rex/exploitation/opcodedb.rb +818 -0
  70. data/lib/rex/exploitation/opcodedb.rb.ut.rb +279 -0
  71. data/lib/rex/exploitation/seh.rb +92 -0
  72. data/lib/rex/exploitation/seh.rb.ut.rb +19 -0
  73. data/lib/rex/file.rb +112 -0
  74. data/lib/rex/file.rb.ut.rb +16 -0
  75. data/lib/rex/image_source.rb +12 -0
  76. data/lib/rex/image_source/disk.rb +60 -0
  77. data/lib/rex/image_source/image_source.rb +46 -0
  78. data/lib/rex/image_source/memory.rb +37 -0
  79. data/lib/rex/io/bidirectional_pipe.rb +157 -0
  80. data/lib/rex/io/datagram_abstraction.rb +35 -0
  81. data/lib/rex/io/ring_buffer.rb +364 -0
  82. data/lib/rex/io/stream.rb +319 -0
  83. data/lib/rex/io/stream_abstraction.rb +197 -0
  84. data/lib/rex/io/stream_server.rb +211 -0
  85. data/lib/rex/job_container.rb +187 -0
  86. data/lib/rex/logging.rb +4 -0
  87. data/lib/rex/logging/log_dispatcher.rb +179 -0
  88. data/lib/rex/logging/log_sink.rb +42 -0
  89. data/lib/rex/logging/sinks/flatfile.rb +55 -0
  90. data/lib/rex/logging/sinks/stderr.rb +43 -0
  91. data/lib/rex/machparsey.rb +9 -0
  92. data/lib/rex/machparsey/exceptions.rb +34 -0
  93. data/lib/rex/machparsey/mach.rb +209 -0
  94. data/lib/rex/machparsey/machbase.rb +408 -0
  95. data/lib/rex/machscan.rb +9 -0
  96. data/lib/rex/machscan/scanner.rb +217 -0
  97. data/lib/rex/mime.rb +9 -0
  98. data/lib/rex/mime/header.rb +77 -0
  99. data/lib/rex/mime/message.rb +144 -0
  100. data/lib/rex/mime/part.rb +20 -0
  101. data/lib/rex/nop/opty2.rb +108 -0
  102. data/lib/rex/nop/opty2.rb.ut.rb +23 -0
  103. data/lib/rex/nop/opty2_tables.rb +300 -0
  104. data/lib/rex/ole.rb +205 -0
  105. data/lib/rex/ole/clsid.rb +47 -0
  106. data/lib/rex/ole/difat.rb +141 -0
  107. data/lib/rex/ole/directory.rb +231 -0
  108. data/lib/rex/ole/direntry.rb +240 -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 +99 -0
  112. data/lib/rex/ole/header.rb +204 -0
  113. data/lib/rex/ole/minifat.rb +77 -0
  114. data/lib/rex/ole/propset.rb +144 -0
  115. data/lib/rex/ole/samples/create_ole.rb +27 -0
  116. data/lib/rex/ole/samples/dir.rb +35 -0
  117. data/lib/rex/ole/samples/dump_stream.rb +34 -0
  118. data/lib/rex/ole/samples/ole_info.rb +23 -0
  119. data/lib/rex/ole/storage.rb +395 -0
  120. data/lib/rex/ole/stream.rb +53 -0
  121. data/lib/rex/ole/substorage.rb +49 -0
  122. data/lib/rex/ole/util.rb +157 -0
  123. data/lib/rex/parser/arguments.rb +97 -0
  124. data/lib/rex/parser/arguments.rb.ut.rb +67 -0
  125. data/lib/rex/parser/ini.rb +185 -0
  126. data/lib/rex/parser/ini.rb.ut.rb +29 -0
  127. data/lib/rex/parser/ip360_aspl_xml.rb +102 -0
  128. data/lib/rex/parser/ip360_xml.rb +97 -0
  129. data/lib/rex/parser/nessus_xml.rb +118 -0
  130. data/lib/rex/parser/netsparker_xml.rb +94 -0
  131. data/lib/rex/parser/nexpose_xml.rb +136 -0
  132. data/lib/rex/parser/nmap_xml.rb +137 -0
  133. data/lib/rex/parser/retina_xml.rb +109 -0
  134. data/lib/rex/payloads.rb +1 -0
  135. data/lib/rex/payloads/win32.rb +2 -0
  136. data/lib/rex/payloads/win32/common.rb +26 -0
  137. data/lib/rex/payloads/win32/kernel.rb +53 -0
  138. data/lib/rex/payloads/win32/kernel/common.rb +54 -0
  139. data/lib/rex/payloads/win32/kernel/migration.rb +12 -0
  140. data/lib/rex/payloads/win32/kernel/recovery.rb +50 -0
  141. data/lib/rex/payloads/win32/kernel/stager.rb +194 -0
  142. data/lib/rex/peparsey.rb +12 -0
  143. data/lib/rex/peparsey/exceptions.rb +32 -0
  144. data/lib/rex/peparsey/pe.rb +212 -0
  145. data/lib/rex/peparsey/pe_memdump.rb +63 -0
  146. data/lib/rex/peparsey/pebase.rb +1680 -0
  147. data/lib/rex/peparsey/section.rb +136 -0
  148. data/lib/rex/pescan.rb +13 -0
  149. data/lib/rex/pescan/analyze.rb +309 -0
  150. data/lib/rex/pescan/scanner.rb +206 -0
  151. data/lib/rex/pescan/search.rb +56 -0
  152. data/lib/rex/platforms.rb +1 -0
  153. data/lib/rex/platforms/windows.rb +51 -0
  154. data/lib/rex/poly.rb +132 -0
  155. data/lib/rex/poly/block.rb +477 -0
  156. data/lib/rex/poly/register.rb +100 -0
  157. data/lib/rex/poly/register/x86.rb +40 -0
  158. data/lib/rex/post.rb +8 -0
  159. data/lib/rex/post/dir.rb +51 -0
  160. data/lib/rex/post/file.rb +172 -0
  161. data/lib/rex/post/file_stat.rb +220 -0
  162. data/lib/rex/post/gen.pl +13 -0
  163. data/lib/rex/post/io.rb +182 -0
  164. data/lib/rex/post/meterpreter.rb +4 -0
  165. data/lib/rex/post/meterpreter/channel.rb +445 -0
  166. data/lib/rex/post/meterpreter/channel_container.rb +54 -0
  167. data/lib/rex/post/meterpreter/channels/pool.rb +160 -0
  168. data/lib/rex/post/meterpreter/channels/pools/file.rb +62 -0
  169. data/lib/rex/post/meterpreter/channels/pools/stream_pool.rb +103 -0
  170. data/lib/rex/post/meterpreter/channels/stream.rb +87 -0
  171. data/lib/rex/post/meterpreter/client.rb +364 -0
  172. data/lib/rex/post/meterpreter/client_core.rb +274 -0
  173. data/lib/rex/post/meterpreter/dependencies.rb +3 -0
  174. data/lib/rex/post/meterpreter/extension.rb +32 -0
  175. data/lib/rex/post/meterpreter/extensions/espia/espia.rb +58 -0
  176. data/lib/rex/post/meterpreter/extensions/espia/tlv.rb +16 -0
  177. data/lib/rex/post/meterpreter/extensions/incognito/incognito.rb +94 -0
  178. data/lib/rex/post/meterpreter/extensions/incognito/tlv.rb +21 -0
  179. data/lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb +57 -0
  180. data/lib/rex/post/meterpreter/extensions/networkpug/tlv.rb +15 -0
  181. data/lib/rex/post/meterpreter/extensions/priv/fs.rb +118 -0
  182. data/lib/rex/post/meterpreter/extensions/priv/passwd.rb +61 -0
  183. data/lib/rex/post/meterpreter/extensions/priv/priv.rb +111 -0
  184. data/lib/rex/post/meterpreter/extensions/priv/tlv.rb +28 -0
  185. data/lib/rex/post/meterpreter/extensions/sniffer/sniffer.rb +101 -0
  186. data/lib/rex/post/meterpreter/extensions/sniffer/tlv.rb +26 -0
  187. data/lib/rex/post/meterpreter/extensions/stdapi/constants.rb +333 -0
  188. data/lib/rex/post/meterpreter/extensions/stdapi/fs/dir.rb +282 -0
  189. data/lib/rex/post/meterpreter/extensions/stdapi/fs/file.rb +266 -0
  190. data/lib/rex/post/meterpreter/extensions/stdapi/fs/file_stat.rb +103 -0
  191. data/lib/rex/post/meterpreter/extensions/stdapi/fs/io.rb +48 -0
  192. data/lib/rex/post/meterpreter/extensions/stdapi/net/config.rb +144 -0
  193. data/lib/rex/post/meterpreter/extensions/stdapi/net/interface.rb +73 -0
  194. data/lib/rex/post/meterpreter/extensions/stdapi/net/route.rb +56 -0
  195. data/lib/rex/post/meterpreter/extensions/stdapi/net/socket.rb +137 -0
  196. data/lib/rex/post/meterpreter/extensions/stdapi/net/socket_subsystem/tcp_client_channel.rb +180 -0
  197. data/lib/rex/post/meterpreter/extensions/stdapi/net/socket_subsystem/tcp_server_channel.rb +167 -0
  198. data/lib/rex/post/meterpreter/extensions/stdapi/net/socket_subsystem/udp_channel.rb +208 -0
  199. data/lib/rex/post/meterpreter/extensions/stdapi/railgun.rb.ts.rb +6 -0
  200. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/api_constants.rb +38106 -0
  201. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/api_constants.rb.ut.rb +31 -0
  202. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/buffer_item.rb +47 -0
  203. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/buffer_item.rb.ut.rb +36 -0
  204. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_advapi32.rb +1818 -0
  205. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_iphlpapi.rb +96 -0
  206. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_kernel32.rb +3848 -0
  207. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_netapi32.rb +26 -0
  208. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_ntdll.rb +153 -0
  209. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_shell32.rb +21 -0
  210. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_user32.rb +3169 -0
  211. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_ws2_32.rb +599 -0
  212. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/dll.rb +318 -0
  213. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/dll_function.rb +100 -0
  214. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/dll_function.rb.ut.rb +42 -0
  215. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/dll_helper.rb +148 -0
  216. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/dll_helper.rb.ut.rb +127 -0
  217. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/multicall.rb +309 -0
  218. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/railgun.rb +204 -0
  219. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/tlv.rb +51 -0
  220. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/util.rb +630 -0
  221. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/win_const_manager.rb +75 -0
  222. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/win_const_manager.rb.ut.rb +103 -0
  223. data/lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb +149 -0
  224. data/lib/rex/post/meterpreter/extensions/stdapi/sys/config.rb +97 -0
  225. data/lib/rex/post/meterpreter/extensions/stdapi/sys/event_log.rb +192 -0
  226. data/lib/rex/post/meterpreter/extensions/stdapi/sys/event_log_subsystem/event_record.rb +41 -0
  227. data/lib/rex/post/meterpreter/extensions/stdapi/sys/power.rb +61 -0
  228. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process.rb +370 -0
  229. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/image.rb +129 -0
  230. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/io.rb +55 -0
  231. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/memory.rb +336 -0
  232. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/thread.rb +141 -0
  233. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry.rb +279 -0
  234. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry_subsystem/registry_key.rb +193 -0
  235. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry_subsystem/registry_value.rb +102 -0
  236. data/lib/rex/post/meterpreter/extensions/stdapi/sys/thread.rb +180 -0
  237. data/lib/rex/post/meterpreter/extensions/stdapi/tlv.rb +211 -0
  238. data/lib/rex/post/meterpreter/extensions/stdapi/ui.rb +227 -0
  239. data/lib/rex/post/meterpreter/extensions/stdapi/webcam/webcam.rb +63 -0
  240. data/lib/rex/post/meterpreter/inbound_packet_handler.rb +30 -0
  241. data/lib/rex/post/meterpreter/object_aliases.rb +83 -0
  242. data/lib/rex/post/meterpreter/packet.rb +688 -0
  243. data/lib/rex/post/meterpreter/packet_dispatcher.rb +431 -0
  244. data/lib/rex/post/meterpreter/packet_parser.rb +94 -0
  245. data/lib/rex/post/meterpreter/packet_response_waiter.rb +83 -0
  246. data/lib/rex/post/meterpreter/ui/console.rb +137 -0
  247. data/lib/rex/post/meterpreter/ui/console/command_dispatcher.rb +62 -0
  248. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/core.rb +730 -0
  249. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/espia.rb +108 -0
  250. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/incognito.rb +241 -0
  251. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/networkpug.rb +231 -0
  252. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv.rb +61 -0
  253. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/elevate.rb +98 -0
  254. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/passwd.rb +51 -0
  255. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/timestomp.rb +132 -0
  256. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/sniffer.rb +187 -0
  257. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi.rb +65 -0
  258. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb +442 -0
  259. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/net.rb +298 -0
  260. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/sys.rb +486 -0
  261. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/ui.rb +315 -0
  262. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/webcam.rb +157 -0
  263. data/lib/rex/post/meterpreter/ui/console/interactive_channel.rb +95 -0
  264. data/lib/rex/post/permission.rb +26 -0
  265. data/lib/rex/post/process.rb +57 -0
  266. data/lib/rex/post/thread.rb +57 -0
  267. data/lib/rex/post/ui.rb +52 -0
  268. data/lib/rex/proto.rb +13 -0
  269. data/lib/rex/proto.rb.ts.rb +8 -0
  270. data/lib/rex/proto/dcerpc.rb +6 -0
  271. data/lib/rex/proto/dcerpc.rb.ts.rb +9 -0
  272. data/lib/rex/proto/dcerpc/client.rb +361 -0
  273. data/lib/rex/proto/dcerpc/client.rb.ut.rb +491 -0
  274. data/lib/rex/proto/dcerpc/exceptions.rb +150 -0
  275. data/lib/rex/proto/dcerpc/handle.rb +47 -0
  276. data/lib/rex/proto/dcerpc/handle.rb.ut.rb +85 -0
  277. data/lib/rex/proto/dcerpc/ndr.rb +72 -0
  278. data/lib/rex/proto/dcerpc/ndr.rb.ut.rb +41 -0
  279. data/lib/rex/proto/dcerpc/packet.rb +253 -0
  280. data/lib/rex/proto/dcerpc/packet.rb.ut.rb +56 -0
  281. data/lib/rex/proto/dcerpc/response.rb +187 -0
  282. data/lib/rex/proto/dcerpc/response.rb.ut.rb +15 -0
  283. data/lib/rex/proto/dcerpc/uuid.rb +84 -0
  284. data/lib/rex/proto/dcerpc/uuid.rb.ut.rb +46 -0
  285. data/lib/rex/proto/dhcp.rb +7 -0
  286. data/lib/rex/proto/dhcp/constants.rb +33 -0
  287. data/lib/rex/proto/dhcp/server.rb +292 -0
  288. data/lib/rex/proto/drda.rb +5 -0
  289. data/lib/rex/proto/drda.rb.ts.rb +17 -0
  290. data/lib/rex/proto/drda/constants.rb +49 -0
  291. data/lib/rex/proto/drda/constants.rb.ut.rb +23 -0
  292. data/lib/rex/proto/drda/packet.rb +252 -0
  293. data/lib/rex/proto/drda/packet.rb.ut.rb +109 -0
  294. data/lib/rex/proto/drda/utils.rb +123 -0
  295. data/lib/rex/proto/drda/utils.rb.ut.rb +84 -0
  296. data/lib/rex/proto/http.rb +5 -0
  297. data/lib/rex/proto/http.rb.ts.rb +12 -0
  298. data/lib/rex/proto/http/client.rb +821 -0
  299. data/lib/rex/proto/http/client.rb.ut.rb +95 -0
  300. data/lib/rex/proto/http/handler.rb +46 -0
  301. data/lib/rex/proto/http/handler/erb.rb +128 -0
  302. data/lib/rex/proto/http/handler/erb.rb.ut.rb +21 -0
  303. data/lib/rex/proto/http/handler/erb.rb.ut.rb.rhtml +1 -0
  304. data/lib/rex/proto/http/handler/proc.rb +60 -0
  305. data/lib/rex/proto/http/handler/proc.rb.ut.rb +24 -0
  306. data/lib/rex/proto/http/header.rb +161 -0
  307. data/lib/rex/proto/http/header.rb.ut.rb +46 -0
  308. data/lib/rex/proto/http/packet.rb +407 -0
  309. data/lib/rex/proto/http/packet.rb.ut.rb +165 -0
  310. data/lib/rex/proto/http/request.rb +356 -0
  311. data/lib/rex/proto/http/request.rb.ut.rb +214 -0
  312. data/lib/rex/proto/http/response.rb +90 -0
  313. data/lib/rex/proto/http/response.rb.ut.rb +149 -0
  314. data/lib/rex/proto/http/server.rb +369 -0
  315. data/lib/rex/proto/http/server.rb.ut.rb +79 -0
  316. data/lib/rex/proto/ntlm.rb +7 -0
  317. data/lib/rex/proto/ntlm.rb.ut.rb +177 -0
  318. data/lib/rex/proto/ntlm/base.rb +326 -0
  319. data/lib/rex/proto/ntlm/constants.rb +74 -0
  320. data/lib/rex/proto/ntlm/crypt.rb +415 -0
  321. data/lib/rex/proto/ntlm/exceptions.rb +16 -0
  322. data/lib/rex/proto/ntlm/message.rb +536 -0
  323. data/lib/rex/proto/ntlm/utils.rb +764 -0
  324. data/lib/rex/proto/proxy/socks4a.rb +440 -0
  325. data/lib/rex/proto/rfb.rb +19 -0
  326. data/lib/rex/proto/rfb.rb.ut.rb +37 -0
  327. data/lib/rex/proto/rfb/cipher.rb +84 -0
  328. data/lib/rex/proto/rfb/client.rb +207 -0
  329. data/lib/rex/proto/rfb/constants.rb +52 -0
  330. data/lib/rex/proto/smb.rb +7 -0
  331. data/lib/rex/proto/smb.rb.ts.rb +8 -0
  332. data/lib/rex/proto/smb/client.rb +1952 -0
  333. data/lib/rex/proto/smb/client.rb.ut.rb +223 -0
  334. data/lib/rex/proto/smb/constants.rb +1047 -0
  335. data/lib/rex/proto/smb/constants.rb.ut.rb +18 -0
  336. data/lib/rex/proto/smb/crypt.rb +36 -0
  337. data/lib/rex/proto/smb/evasions.rb +66 -0
  338. data/lib/rex/proto/smb/exceptions.rb +858 -0
  339. data/lib/rex/proto/smb/simpleclient.rb +306 -0
  340. data/lib/rex/proto/smb/simpleclient.rb.ut.rb +128 -0
  341. data/lib/rex/proto/smb/utils.rb +103 -0
  342. data/lib/rex/proto/smb/utils.rb.ut.rb +20 -0
  343. data/lib/rex/proto/sunrpc.rb +1 -0
  344. data/lib/rex/proto/sunrpc/client.rb +195 -0
  345. data/lib/rex/proto/tftp.rb +12 -0
  346. data/lib/rex/proto/tftp/constants.rb +39 -0
  347. data/lib/rex/proto/tftp/server.rb +497 -0
  348. data/lib/rex/proto/tftp/server.rb.ut.rb +28 -0
  349. data/lib/rex/script.rb +42 -0
  350. data/lib/rex/script/base.rb +59 -0
  351. data/lib/rex/script/meterpreter.rb +15 -0
  352. data/lib/rex/script/shell.rb +9 -0
  353. data/lib/rex/service.rb +48 -0
  354. data/lib/rex/service_manager.rb +141 -0
  355. data/lib/rex/service_manager.rb.ut.rb +32 -0
  356. data/lib/rex/services/local_relay.rb +423 -0
  357. data/lib/rex/socket.rb +684 -0
  358. data/lib/rex/socket.rb.ut.rb +107 -0
  359. data/lib/rex/socket/comm.rb +119 -0
  360. data/lib/rex/socket/comm/local.rb +412 -0
  361. data/lib/rex/socket/comm/local.rb.ut.rb +75 -0
  362. data/lib/rex/socket/ip.rb +130 -0
  363. data/lib/rex/socket/parameters.rb +345 -0
  364. data/lib/rex/socket/parameters.rb.ut.rb +51 -0
  365. data/lib/rex/socket/range_walker.rb +346 -0
  366. data/lib/rex/socket/range_walker.rb.ut.rb +55 -0
  367. data/lib/rex/socket/ssl_tcp.rb +184 -0
  368. data/lib/rex/socket/ssl_tcp.rb.ut.rb +39 -0
  369. data/lib/rex/socket/ssl_tcp_server.rb +122 -0
  370. data/lib/rex/socket/ssl_tcp_server.rb.ut.rb +61 -0
  371. data/lib/rex/socket/subnet_walker.rb +75 -0
  372. data/lib/rex/socket/subnet_walker.rb.ut.rb +28 -0
  373. data/lib/rex/socket/switch_board.rb +278 -0
  374. data/lib/rex/socket/switch_board.rb.ut.rb +52 -0
  375. data/lib/rex/socket/tcp.rb +76 -0
  376. data/lib/rex/socket/tcp.rb.ut.rb +64 -0
  377. data/lib/rex/socket/tcp_server.rb +66 -0
  378. data/lib/rex/socket/tcp_server.rb.ut.rb +44 -0
  379. data/lib/rex/socket/udp.rb +164 -0
  380. data/lib/rex/socket/udp.rb.ut.rb +44 -0
  381. data/lib/rex/struct2.rb +5 -0
  382. data/lib/rex/struct2/c_struct.rb +181 -0
  383. data/lib/rex/struct2/c_struct_template.rb +39 -0
  384. data/lib/rex/struct2/constant.rb +26 -0
  385. data/lib/rex/struct2/element.rb +44 -0
  386. data/lib/rex/struct2/generic.rb +73 -0
  387. data/lib/rex/struct2/restraint.rb +54 -0
  388. data/lib/rex/struct2/s_string.rb +72 -0
  389. data/lib/rex/struct2/s_struct.rb +111 -0
  390. data/lib/rex/sync.rb +6 -0
  391. data/lib/rex/sync/event.rb +94 -0
  392. data/lib/rex/sync/read_write_lock.rb +176 -0
  393. data/lib/rex/sync/ref.rb +57 -0
  394. data/lib/rex/sync/thread_safe.rb +82 -0
  395. data/lib/rex/test.rb +35 -0
  396. data/lib/rex/text.rb +1163 -0
  397. data/lib/rex/text.rb.ut.rb +190 -0
  398. data/lib/rex/thread_factory.rb +42 -0
  399. data/lib/rex/time.rb +65 -0
  400. data/lib/rex/transformer.rb +115 -0
  401. data/lib/rex/transformer.rb.ut.rb +38 -0
  402. data/lib/rex/ui.rb +21 -0
  403. data/lib/rex/ui/interactive.rb +298 -0
  404. data/lib/rex/ui/output.rb +78 -0
  405. data/lib/rex/ui/output/none.rb +18 -0
  406. data/lib/rex/ui/progress_tracker.rb +96 -0
  407. data/lib/rex/ui/subscriber.rb +149 -0
  408. data/lib/rex/ui/text/color.rb +97 -0
  409. data/lib/rex/ui/text/color.rb.ut.rb +18 -0
  410. data/lib/rex/ui/text/dispatcher_shell.rb +467 -0
  411. data/lib/rex/ui/text/input.rb +117 -0
  412. data/lib/rex/ui/text/input/buffer.rb +75 -0
  413. data/lib/rex/ui/text/input/readline.rb +129 -0
  414. data/lib/rex/ui/text/input/socket.rb +95 -0
  415. data/lib/rex/ui/text/input/stdio.rb +45 -0
  416. data/lib/rex/ui/text/irb_shell.rb +57 -0
  417. data/lib/rex/ui/text/output.rb +80 -0
  418. data/lib/rex/ui/text/output/buffer.rb +61 -0
  419. data/lib/rex/ui/text/output/file.rb +43 -0
  420. data/lib/rex/ui/text/output/socket.rb +43 -0
  421. data/lib/rex/ui/text/output/stdio.rb +40 -0
  422. data/lib/rex/ui/text/progress_tracker.rb +56 -0
  423. data/lib/rex/ui/text/progress_tracker.rb.ut.rb +34 -0
  424. data/lib/rex/ui/text/shell.rb +328 -0
  425. data/lib/rex/ui/text/table.rb +279 -0
  426. data/lib/rex/ui/text/table.rb.ut.rb +55 -0
  427. data/lib/rex/zip.rb +93 -0
  428. data/lib/rex/zip/archive.rb +184 -0
  429. data/lib/rex/zip/blocks.rb +182 -0
  430. data/lib/rex/zip/entry.rb +104 -0
  431. data/lib/rex/zip/samples/comment.rb +32 -0
  432. data/lib/rex/zip/samples/mkwar.rb +138 -0
  433. data/lib/rex/zip/samples/mkzip.rb +19 -0
  434. data/lib/rex/zip/samples/recursive.rb +58 -0
  435. metadata +434 -1
@@ -0,0 +1,96 @@
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_iphlpapi
10
+
11
+ def self.add_imports(railgun)
12
+
13
+ railgun.add_dll('iphlpapi')
14
+
15
+ railgun.add_function( 'iphlpapi', 'CancelIPChangeNotify', 'BOOL',[
16
+ ["PBLOB","notifyOverlapped","in"],
17
+ ])
18
+
19
+ railgun.add_function( 'iphlpapi', 'CreateProxyArpEntry', 'DWORD',[
20
+ ["DWORD","dwAddress","in"],
21
+ ["DWORD","dwMask","in"],
22
+ ["DWORD","dwIfIndex","in"],
23
+ ])
24
+
25
+ railgun.add_function( 'iphlpapi', 'DeleteIPAddress', 'DWORD',[
26
+ ["DWORD","NTEContext","in"],
27
+ ])
28
+
29
+ railgun.add_function( 'iphlpapi', 'DeleteProxyArpEntry', 'DWORD',[
30
+ ["DWORD","dwAddress","in"],
31
+ ["DWORD","dwMask","in"],
32
+ ["DWORD","dwIfIndex","in"],
33
+ ])
34
+
35
+ railgun.add_function( 'iphlpapi', 'FlushIpNetTable', 'DWORD',[
36
+ ["DWORD","dwIfIndex","in"],
37
+ ])
38
+
39
+ railgun.add_function( 'iphlpapi', 'GetAdapterIndex', 'DWORD',[
40
+ ["PWCHAR","AdapterName","in"],
41
+ ["PDWORD","IfIndex","inout"],
42
+ ])
43
+
44
+ railgun.add_function( 'iphlpapi', 'GetBestInterface', 'DWORD',[
45
+ ["DWORD","dwDestAddr","in"],
46
+ ["PDWORD","pdwBestIfIndex","inout"],
47
+ ])
48
+
49
+ railgun.add_function( 'iphlpapi', 'GetBestInterfaceEx', 'DWORD',[
50
+ ["PBLOB","pDestAddr","in"],
51
+ ["PDWORD","pdwBestIfIndex","inout"],
52
+ ])
53
+
54
+ railgun.add_function( 'iphlpapi', 'GetFriendlyIfIndex', 'DWORD',[
55
+ ["DWORD","IfIndex","in"],
56
+ ])
57
+
58
+ railgun.add_function( 'iphlpapi', 'GetNumberOfInterfaces', 'DWORD',[
59
+ ["PDWORD","pdwNumIf","inout"],
60
+ ])
61
+
62
+ railgun.add_function( 'iphlpapi', 'GetRTTAndHopCount', 'BOOL',[
63
+ ["DWORD","DestIpAddress","in"],
64
+ ["PDWORD","HopCount","inout"],
65
+ ["DWORD","MaxHops","in"],
66
+ ["PDWORD","RTT","inout"],
67
+ ])
68
+
69
+ railgun.add_function( 'iphlpapi', 'NotifyAddrChange', 'DWORD',[
70
+ ["PDWORD","Handle","inout"],
71
+ ["PBLOB","overlapped","in"],
72
+ ])
73
+
74
+ railgun.add_function( 'iphlpapi', 'NotifyRouteChange', 'DWORD',[
75
+ ["PDWORD","Handle","inout"],
76
+ ["PBLOB","overlapped","in"],
77
+ ])
78
+
79
+ railgun.add_function( 'iphlpapi', 'SendARP', 'DWORD',[
80
+ ["DWORD","DestIP","in"],
81
+ ["DWORD","SrcIP","in"],
82
+ ["PBLOB","pMacAddr","out"],
83
+ ["PDWORD","PhyAddrLen","inout"],
84
+ ])
85
+
86
+ railgun.add_function( 'iphlpapi', 'SetIpTTL', 'DWORD',[
87
+ ["DWORD","nTTL","in"],
88
+ ])
89
+
90
+ end
91
+
92
+ end
93
+
94
+ end; end; end; end; end; end; end
95
+
96
+
@@ -0,0 +1,3848 @@
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_kernel32
10
+ def self.add_imports(railgun)
11
+
12
+ railgun.add_dll('kernel32')
13
+
14
+ railgun.add_function('kernel32', 'ActivateActCtx', 'BOOL',[
15
+ ["HANDLE","hActCtx","inout"],
16
+ ["PBLOB","lpCookie","out"],
17
+ ])
18
+
19
+ railgun.add_function('kernel32', 'AddAtomA', 'WORD',[
20
+ ["PCHAR","lpString","in"],
21
+ ])
22
+
23
+ railgun.add_function('kernel32', 'AddAtomW', 'WORD',[
24
+ ["PWCHAR","lpString","in"],
25
+ ])
26
+
27
+ railgun.add_function('kernel32', 'AddRefActCtx', 'VOID',[
28
+ ["HANDLE","hActCtx","inout"],
29
+ ])
30
+
31
+ railgun.add_function('kernel32', 'AddVectoredContinueHandler', 'LPVOID',[
32
+ ["DWORD","First","in"],
33
+ ["PBLOB","Handler","in"],
34
+ ])
35
+
36
+ railgun.add_function('kernel32', 'AddVectoredExceptionHandler', 'LPVOID',[
37
+ ["DWORD","First","in"],
38
+ ["PBLOB","Handler","in"],
39
+ ])
40
+
41
+ railgun.add_function('kernel32', 'AllocateUserPhysicalPages', 'BOOL',[
42
+ ["HANDLE","hProcess","in"],
43
+ ["PBLOB","NumberOfPages","inout"],
44
+ ["PBLOB","PageArray","out"],
45
+ ])
46
+
47
+ railgun.add_function('kernel32', 'AreFileApisANSI', 'BOOL',[
48
+ ])
49
+
50
+ railgun.add_function('kernel32', 'AssignProcessToJobObject', 'BOOL',[
51
+ ["HANDLE","hJob","in"],
52
+ ["HANDLE","hProcess","in"],
53
+ ])
54
+
55
+ railgun.add_function('kernel32', 'BackupRead', 'BOOL',[
56
+ ["HANDLE","hFile","in"],
57
+ ["PBLOB","lpBuffer","out"],
58
+ ["DWORD","nNumberOfBytesToRead","in"],
59
+ ["PDWORD","lpNumberOfBytesRead","out"],
60
+ ["BOOL","bAbort","in"],
61
+ ["BOOL","bProcessSecurity","in"],
62
+ ["PBLOB","lpContext","inout"],
63
+ ])
64
+
65
+ railgun.add_function('kernel32', 'BackupSeek', 'BOOL',[
66
+ ["HANDLE","hFile","in"],
67
+ ["DWORD","dwLowBytesToSeek","in"],
68
+ ["DWORD","dwHighBytesToSeek","in"],
69
+ ["PDWORD","lpdwLowByteSeeked","out"],
70
+ ["PDWORD","lpdwHighByteSeeked","out"],
71
+ ["PBLOB","lpContext","inout"],
72
+ ])
73
+
74
+ railgun.add_function('kernel32', 'BackupWrite', 'BOOL',[
75
+ ["HANDLE","hFile","in"],
76
+ ["PBLOB","lpBuffer","in"],
77
+ ["DWORD","nNumberOfBytesToWrite","in"],
78
+ ["PDWORD","lpNumberOfBytesWritten","out"],
79
+ ["BOOL","bAbort","in"],
80
+ ["BOOL","bProcessSecurity","in"],
81
+ ["PBLOB","lpContext","inout"],
82
+ ])
83
+
84
+ railgun.add_function('kernel32', 'Beep', 'BOOL',[
85
+ ["DWORD","dwFreq","in"],
86
+ ["DWORD","dwDuration","in"],
87
+ ])
88
+
89
+ railgun.add_function('kernel32', 'BeginUpdateResourceA', 'DWORD',[
90
+ ["PCHAR","pFileName","in"],
91
+ ["BOOL","bDeleteExistingResources","in"],
92
+ ])
93
+
94
+ railgun.add_function('kernel32', 'BeginUpdateResourceW', 'DWORD',[
95
+ ["PWCHAR","pFileName","in"],
96
+ ["BOOL","bDeleteExistingResources","in"],
97
+ ])
98
+
99
+ railgun.add_function('kernel32', 'BindIoCompletionCallback', 'BOOL',[
100
+ ["DWORD","FileHandle","in"],
101
+ ["PBLOB","Function","in"],
102
+ ["DWORD","Flags","in"],
103
+ ])
104
+
105
+ railgun.add_function('kernel32', 'BuildCommDCBA', 'BOOL',[
106
+ ["PCHAR","lpDef","in"],
107
+ ["PBLOB","lpDCB","out"],
108
+ ])
109
+
110
+ railgun.add_function('kernel32', 'BuildCommDCBAndTimeoutsA', 'BOOL',[
111
+ ["PCHAR","lpDef","in"],
112
+ ["PBLOB","lpDCB","out"],
113
+ ["PBLOB","lpCommTimeouts","out"],
114
+ ])
115
+
116
+ railgun.add_function('kernel32', 'BuildCommDCBAndTimeoutsW', 'BOOL',[
117
+ ["PWCHAR","lpDef","in"],
118
+ ["PBLOB","lpDCB","out"],
119
+ ["PBLOB","lpCommTimeouts","out"],
120
+ ])
121
+
122
+ railgun.add_function('kernel32', 'BuildCommDCBW', 'BOOL',[
123
+ ["PWCHAR","lpDef","in"],
124
+ ["PBLOB","lpDCB","out"],
125
+ ])
126
+
127
+ railgun.add_function('kernel32', 'CallNamedPipeA', 'BOOL',[
128
+ ["PCHAR","lpNamedPipeName","in"],
129
+ ["PBLOB","lpInBuffer","in"],
130
+ ["DWORD","nInBufferSize","in"],
131
+ ["PBLOB","lpOutBuffer","out"],
132
+ ["DWORD","nOutBufferSize","in"],
133
+ ["PDWORD","lpBytesRead","out"],
134
+ ["DWORD","nTimeOut","in"],
135
+ ])
136
+
137
+ railgun.add_function('kernel32', 'CallNamedPipeW', 'BOOL',[
138
+ ["PWCHAR","lpNamedPipeName","in"],
139
+ ["PBLOB","lpInBuffer","in"],
140
+ ["DWORD","nInBufferSize","in"],
141
+ ["PBLOB","lpOutBuffer","out"],
142
+ ["DWORD","nOutBufferSize","in"],
143
+ ["PDWORD","lpBytesRead","out"],
144
+ ["DWORD","nTimeOut","in"],
145
+ ])
146
+
147
+ railgun.add_function('kernel32', 'CancelDeviceWakeupRequest', 'BOOL',[
148
+ ["HANDLE","hDevice","in"],
149
+ ])
150
+
151
+ railgun.add_function('kernel32', 'CancelIo', 'BOOL',[
152
+ ["HANDLE","hFile","in"],
153
+ ])
154
+
155
+ railgun.add_function('kernel32', 'CancelTimerQueueTimer', 'BOOL',[
156
+ ["DWORD","TimerQueue","in"],
157
+ ["DWORD","Timer","in"],
158
+ ])
159
+
160
+ railgun.add_function('kernel32', 'CancelWaitableTimer', 'BOOL',[
161
+ ["HANDLE","hTimer","in"],
162
+ ])
163
+
164
+ railgun.add_function('kernel32', 'ChangeTimerQueueTimer', 'BOOL',[
165
+ ["DWORD","TimerQueue","in"],
166
+ ["DWORD","Timer","inout"],
167
+ ["DWORD","DueTime","in"],
168
+ ["DWORD","Period","in"],
169
+ ])
170
+
171
+ railgun.add_function('kernel32', 'CheckNameLegalDOS8Dot3A', 'BOOL',[
172
+ ["PCHAR","lpName","in"],
173
+ ["PCHAR","lpOemName","out"],
174
+ ["DWORD","OemNameSize","in"],
175
+ ["PBLOB","pbNameContainsSpaces","out"],
176
+ ["PBLOB","pbNameLegal","out"],
177
+ ])
178
+
179
+ railgun.add_function('kernel32', 'CheckNameLegalDOS8Dot3W', 'BOOL',[
180
+ ["PWCHAR","lpName","in"],
181
+ ["PCHAR","lpOemName","out"],
182
+ ["DWORD","OemNameSize","in"],
183
+ ["PBLOB","pbNameContainsSpaces","out"],
184
+ ["PBLOB","pbNameLegal","out"],
185
+ ])
186
+
187
+ railgun.add_function('kernel32', 'CheckRemoteDebuggerPresent', 'BOOL',[
188
+ ["HANDLE","hProcess","in"],
189
+ ["PBLOB","pbDebuggerPresent","out"],
190
+ ])
191
+
192
+ railgun.add_function('kernel32', 'ClearCommBreak', 'BOOL',[
193
+ ["HANDLE","hFile","in"],
194
+ ])
195
+
196
+ railgun.add_function('kernel32', 'ClearCommError', 'BOOL',[
197
+ ["HANDLE","hFile","in"],
198
+ ["PDWORD","lpErrors","out"],
199
+ ["PBLOB","lpStat","out"],
200
+ ])
201
+
202
+ railgun.add_function('kernel32', 'CloseHandle', 'BOOL',[
203
+ ["HANDLE","hObject","in"],
204
+ ])
205
+
206
+ railgun.add_function('kernel32', 'CommConfigDialogA', 'BOOL',[
207
+ ["PCHAR","lpszName","in"],
208
+ ["HANDLE","hWnd","in"],
209
+ ["PBLOB","lpCC","inout"],
210
+ ])
211
+
212
+ railgun.add_function('kernel32', 'CommConfigDialogW', 'BOOL',[
213
+ ["PWCHAR","lpszName","in"],
214
+ ["HANDLE","hWnd","in"],
215
+ ["PBLOB","lpCC","inout"],
216
+ ])
217
+
218
+ railgun.add_function('kernel32', 'CompareFileTime', 'DWORD',[
219
+ ["PBLOB","lpFileTime1","in"],
220
+ ["PBLOB","lpFileTime2","in"],
221
+ ])
222
+
223
+ railgun.add_function('kernel32', 'ConnectNamedPipe', 'BOOL',[
224
+ ["HANDLE","hNamedPipe","in"],
225
+ ["PBLOB","lpOverlapped","inout"],
226
+ ])
227
+
228
+ railgun.add_function('kernel32', 'ContinueDebugEvent', 'BOOL',[
229
+ ["DWORD","dwProcessId","in"],
230
+ ["DWORD","dwThreadId","in"],
231
+ ["DWORD","dwContinueStatus","in"],
232
+ ])
233
+
234
+ railgun.add_function('kernel32', 'ConvertFiberToThread', 'BOOL',[
235
+ ])
236
+
237
+ railgun.add_function('kernel32', 'ConvertThreadToFiber', 'LPVOID',[
238
+ ["PBLOB","lpParameter","in"],
239
+ ])
240
+
241
+ railgun.add_function('kernel32', 'ConvertThreadToFiberEx', 'LPVOID',[
242
+ ["PBLOB","lpParameter","in"],
243
+ ["DWORD","dwFlags","in"],
244
+ ])
245
+
246
+ railgun.add_function('kernel32', 'CopyFileA', 'BOOL',[
247
+ ["PCHAR","lpExistingFileName","in"],
248
+ ["PCHAR","lpNewFileName","in"],
249
+ ["BOOL","bFailIfExists","in"],
250
+ ])
251
+
252
+ railgun.add_function('kernel32', 'CopyFileExA', 'BOOL',[
253
+ ["PCHAR","lpExistingFileName","in"],
254
+ ["PCHAR","lpNewFileName","in"],
255
+ ["PBLOB","lpProgressRoutine","in"],
256
+ ["PBLOB","lpData","in"],
257
+ ["PBLOB","pbCancel","in"],
258
+ ["DWORD","dwCopyFlags","in"],
259
+ ])
260
+
261
+ railgun.add_function('kernel32', 'CopyFileExW', 'BOOL',[
262
+ ["PWCHAR","lpExistingFileName","in"],
263
+ ["PWCHAR","lpNewFileName","in"],
264
+ ["PBLOB","lpProgressRoutine","in"],
265
+ ["PBLOB","lpData","in"],
266
+ ["PBLOB","pbCancel","in"],
267
+ ["DWORD","dwCopyFlags","in"],
268
+ ])
269
+
270
+ railgun.add_function('kernel32', 'CopyFileW', 'BOOL',[
271
+ ["PWCHAR","lpExistingFileName","in"],
272
+ ["PWCHAR","lpNewFileName","in"],
273
+ ["BOOL","bFailIfExists","in"],
274
+ ])
275
+
276
+ railgun.add_function('kernel32', 'CreateActCtxA', 'DWORD',[
277
+ ["PBLOB","pActCtx","in"],
278
+ ])
279
+
280
+ railgun.add_function('kernel32', 'CreateActCtxW', 'DWORD',[
281
+ ["PBLOB","pActCtx","in"],
282
+ ])
283
+
284
+ railgun.add_function('kernel32', 'CreateDirectoryA', 'BOOL',[
285
+ ["PCHAR","lpPathName","in"],
286
+ ["PBLOB","lpSecurityAttributes","in"],
287
+ ])
288
+
289
+ railgun.add_function('kernel32', 'CreateDirectoryExA', 'BOOL',[
290
+ ["PCHAR","lpTemplateDirectory","in"],
291
+ ["PCHAR","lpNewDirectory","in"],
292
+ ["PBLOB","lpSecurityAttributes","in"],
293
+ ])
294
+
295
+ railgun.add_function('kernel32', 'CreateDirectoryExW', 'BOOL',[
296
+ ["PWCHAR","lpTemplateDirectory","in"],
297
+ ["PWCHAR","lpNewDirectory","in"],
298
+ ["PBLOB","lpSecurityAttributes","in"],
299
+ ])
300
+
301
+ railgun.add_function('kernel32', 'CreateDirectoryW', 'BOOL',[
302
+ ["PWCHAR","lpPathName","in"],
303
+ ["PBLOB","lpSecurityAttributes","in"],
304
+ ])
305
+
306
+ railgun.add_function('kernel32', 'CreateEventA', 'DWORD',[
307
+ ["PBLOB","lpEventAttributes","in"],
308
+ ["BOOL","bManualReset","in"],
309
+ ["BOOL","bInitialState","in"],
310
+ ["PCHAR","lpName","in"],
311
+ ])
312
+
313
+ railgun.add_function('kernel32', 'CreateEventW', 'DWORD',[
314
+ ["PBLOB","lpEventAttributes","in"],
315
+ ["BOOL","bManualReset","in"],
316
+ ["BOOL","bInitialState","in"],
317
+ ["PWCHAR","lpName","in"],
318
+ ])
319
+
320
+ railgun.add_function('kernel32', 'CreateFiber', 'LPVOID',[
321
+ ["DWORD","dwStackSize","in"],
322
+ ["PBLOB","lpStartAddress","in"],
323
+ ["PBLOB","lpParameter","in"],
324
+ ])
325
+
326
+ railgun.add_function('kernel32', 'CreateFiberEx', 'LPVOID',[
327
+ ["DWORD","dwStackCommitSize","in"],
328
+ ["DWORD","dwStackReserveSize","in"],
329
+ ["DWORD","dwFlags","in"],
330
+ ["PBLOB","lpStartAddress","in"],
331
+ ["PBLOB","lpParameter","in"],
332
+ ])
333
+
334
+ railgun.add_function('kernel32', 'CreateFileA', 'DWORD',[
335
+ ["PCHAR","lpFileName","in"],
336
+ ["DWORD","dwDesiredAccess","in"],
337
+ ["DWORD","dwShareMode","in"],
338
+ ["PBLOB","lpSecurityAttributes","in"],
339
+ ["DWORD","dwCreationDisposition","in"],
340
+ ["DWORD","dwFlagsAndAttributes","in"],
341
+ ["HANDLE","hTemplateFile","in"],
342
+ ])
343
+
344
+ railgun.add_function('kernel32', 'CreateFileMappingA', 'DWORD',[
345
+ ["HANDLE","hFile","in"],
346
+ ["PBLOB","lpFileMappingAttributes","in"],
347
+ ["DWORD","flProtect","in"],
348
+ ["DWORD","dwMaximumSizeHigh","in"],
349
+ ["DWORD","dwMaximumSizeLow","in"],
350
+ ["PCHAR","lpName","in"],
351
+ ])
352
+
353
+ railgun.add_function('kernel32', 'CreateFileMappingW', 'DWORD',[
354
+ ["HANDLE","hFile","in"],
355
+ ["PBLOB","lpFileMappingAttributes","in"],
356
+ ["DWORD","flProtect","in"],
357
+ ["DWORD","dwMaximumSizeHigh","in"],
358
+ ["DWORD","dwMaximumSizeLow","in"],
359
+ ["PWCHAR","lpName","in"],
360
+ ])
361
+
362
+ railgun.add_function('kernel32', 'CreateFileW', 'DWORD',[
363
+ ["PWCHAR","lpFileName","in"],
364
+ ["DWORD","dwDesiredAccess","in"],
365
+ ["DWORD","dwShareMode","in"],
366
+ ["PBLOB","lpSecurityAttributes","in"],
367
+ ["DWORD","dwCreationDisposition","in"],
368
+ ["DWORD","dwFlagsAndAttributes","in"],
369
+ ["HANDLE","hTemplateFile","in"],
370
+ ])
371
+
372
+ railgun.add_function('kernel32', 'CreateHardLinkA', 'BOOL',[
373
+ ["PCHAR","lpFileName","in"],
374
+ ["PCHAR","lpExistingFileName","in"],
375
+ ["PBLOB","lpSecurityAttributes","inout"],
376
+ ])
377
+
378
+ railgun.add_function('kernel32', 'CreateHardLinkW', 'BOOL',[
379
+ ["PWCHAR","lpFileName","in"],
380
+ ["PWCHAR","lpExistingFileName","in"],
381
+ ["PBLOB","lpSecurityAttributes","inout"],
382
+ ])
383
+
384
+ railgun.add_function('kernel32', 'CreateIoCompletionPort', 'DWORD',[
385
+ ["DWORD","FileHandle","in"],
386
+ ["DWORD","ExistingCompletionPort","in"],
387
+ ["PDWORD","CompletionKey","in"],
388
+ ["DWORD","NumberOfConcurrentThreads","in"],
389
+ ])
390
+
391
+ railgun.add_function('kernel32', 'CreateJobObjectA', 'DWORD',[
392
+ ["PBLOB","lpJobAttributes","in"],
393
+ ["PCHAR","lpName","in"],
394
+ ])
395
+
396
+ railgun.add_function('kernel32', 'CreateJobObjectW', 'DWORD',[
397
+ ["PBLOB","lpJobAttributes","in"],
398
+ ["PWCHAR","lpName","in"],
399
+ ])
400
+
401
+ railgun.add_function('kernel32', 'CreateJobSet', 'BOOL',[
402
+ ["DWORD","NumJob","in"],
403
+ ["PBLOB","UserJobSet","in"],
404
+ ["DWORD","Flags","in"],
405
+ ])
406
+
407
+ railgun.add_function('kernel32', 'CreateMailslotA', 'DWORD',[
408
+ ["PCHAR","lpName","in"],
409
+ ["DWORD","nMaxMessageSize","in"],
410
+ ["DWORD","lReadTimeout","in"],
411
+ ["PBLOB","lpSecurityAttributes","in"],
412
+ ])
413
+
414
+ railgun.add_function('kernel32', 'CreateMailslotW', 'DWORD',[
415
+ ["PWCHAR","lpName","in"],
416
+ ["DWORD","nMaxMessageSize","in"],
417
+ ["DWORD","lReadTimeout","in"],
418
+ ["PBLOB","lpSecurityAttributes","in"],
419
+ ])
420
+
421
+ railgun.add_function('kernel32', 'CreateMemoryResourceNotification', 'DWORD',[
422
+ ["PDWORD","NotificationType","in"],
423
+ ])
424
+
425
+ railgun.add_function('kernel32', 'CreateMutexA', 'DWORD',[
426
+ ["PBLOB","lpMutexAttributes","in"],
427
+ ["BOOL","bInitialOwner","in"],
428
+ ["PCHAR","lpName","in"],
429
+ ])
430
+
431
+ railgun.add_function('kernel32', 'CreateMutexW', 'DWORD',[
432
+ ["PBLOB","lpMutexAttributes","in"],
433
+ ["BOOL","bInitialOwner","in"],
434
+ ["PWCHAR","lpName","in"],
435
+ ])
436
+
437
+ railgun.add_function('kernel32', 'CreateNamedPipeA', 'DWORD',[
438
+ ["PCHAR","lpName","in"],
439
+ ["DWORD","dwOpenMode","in"],
440
+ ["DWORD","dwPipeMode","in"],
441
+ ["DWORD","nMaxInstances","in"],
442
+ ["DWORD","nOutBufferSize","in"],
443
+ ["DWORD","nInBufferSize","in"],
444
+ ["DWORD","nDefaultTimeOut","in"],
445
+ ["PBLOB","lpSecurityAttributes","in"],
446
+ ])
447
+
448
+ railgun.add_function('kernel32', 'CreateNamedPipeW', 'DWORD',[
449
+ ["PWCHAR","lpName","in"],
450
+ ["DWORD","dwOpenMode","in"],
451
+ ["DWORD","dwPipeMode","in"],
452
+ ["DWORD","nMaxInstances","in"],
453
+ ["DWORD","nOutBufferSize","in"],
454
+ ["DWORD","nInBufferSize","in"],
455
+ ["DWORD","nDefaultTimeOut","in"],
456
+ ["PBLOB","lpSecurityAttributes","in"],
457
+ ])
458
+
459
+ railgun.add_function('kernel32', 'CreatePipe', 'BOOL',[
460
+ ["PDWORD","hReadPipe","out"],
461
+ ["PDWORD","hWritePipe","out"],
462
+ ["PBLOB","lpPipeAttributes","in"],
463
+ ["DWORD","nSize","in"],
464
+ ])
465
+
466
+ railgun.add_function('kernel32', 'CreateProcessA', 'BOOL',[
467
+ ["PCHAR","lpApplicationName","in"],
468
+ ["PCHAR","lpCommandLine","inout"],
469
+ ["PBLOB","lpProcessAttributes","in"],
470
+ ["PBLOB","lpThreadAttributes","in"],
471
+ ["BOOL","bInheritHandles","in"],
472
+ ["DWORD","dwCreationFlags","in"],
473
+ ["PBLOB","lpEnvironment","in"],
474
+ ["PCHAR","lpCurrentDirectory","in"],
475
+ ["PBLOB","lpStartupInfo","in"],
476
+ ["PBLOB","lpProcessInformation","out"],
477
+ ])
478
+
479
+ railgun.add_function('kernel32', 'CreateProcessW', 'BOOL',[
480
+ ["PWCHAR","lpApplicationName","in"],
481
+ ["PWCHAR","lpCommandLine","inout"],
482
+ ["PBLOB","lpProcessAttributes","in"],
483
+ ["PBLOB","lpThreadAttributes","in"],
484
+ ["BOOL","bInheritHandles","in"],
485
+ ["DWORD","dwCreationFlags","in"],
486
+ ["PBLOB","lpEnvironment","in"],
487
+ ["PWCHAR","lpCurrentDirectory","in"],
488
+ ["PBLOB","lpStartupInfo","in"],
489
+ ["PBLOB","lpProcessInformation","out"],
490
+ ])
491
+
492
+ railgun.add_function('kernel32', 'CreateRemoteThread', 'DWORD',[
493
+ ["HANDLE","hProcess","in"],
494
+ ["PBLOB","lpThreadAttributes","in"],
495
+ ["DWORD","dwStackSize","in"],
496
+ ["PBLOB","lpStartAddress","in"],
497
+ ["PBLOB","lpParameter","in"],
498
+ ["DWORD","dwCreationFlags","in"],
499
+ ["PDWORD","lpThreadId","out"],
500
+ ])
501
+
502
+ railgun.add_function('kernel32', 'CreateSemaphoreA', 'DWORD',[
503
+ ["PBLOB","lpSemaphoreAttributes","in"],
504
+ ["DWORD","lInitialCount","in"],
505
+ ["DWORD","lMaximumCount","in"],
506
+ ["PCHAR","lpName","in"],
507
+ ])
508
+
509
+ railgun.add_function('kernel32', 'CreateSemaphoreW', 'DWORD',[
510
+ ["PBLOB","lpSemaphoreAttributes","in"],
511
+ ["DWORD","lInitialCount","in"],
512
+ ["DWORD","lMaximumCount","in"],
513
+ ["PWCHAR","lpName","in"],
514
+ ])
515
+
516
+ railgun.add_function('kernel32', 'CreateTapePartition', 'DWORD',[
517
+ ["HANDLE","hDevice","in"],
518
+ ["DWORD","dwPartitionMethod","in"],
519
+ ["DWORD","dwCount","in"],
520
+ ["DWORD","dwSize","in"],
521
+ ])
522
+
523
+ railgun.add_function('kernel32', 'CreateThread', 'HANDLE',[
524
+ ["PBLOB","lpThreadAttributes","in"],
525
+ ["DWORD","dwStackSize","in"],
526
+ ["LPVOID","lpStartAddress","in"],
527
+ ["PBLOB","lpParameter","in"],
528
+ ["DWORD","dwCreationFlags","in"],
529
+ ["PDWORD","lpThreadId","out"],
530
+ ])
531
+
532
+ railgun.add_function('kernel32', 'CreateTimerQueue', 'DWORD',[
533
+ ])
534
+
535
+ railgun.add_function('kernel32', 'CreateTimerQueueTimer', 'BOOL',[
536
+ ["PDWORD","phNewTimer","out"],
537
+ ["DWORD","TimerQueue","in"],
538
+ ["PBLOB","Callback","in"],
539
+ ["PBLOB","Parameter","in"],
540
+ ["DWORD","DueTime","in"],
541
+ ["DWORD","Period","in"],
542
+ ["DWORD","Flags","in"],
543
+ ])
544
+
545
+ railgun.add_function('kernel32', 'CreateWaitableTimerA', 'DWORD',[
546
+ ["PBLOB","lpTimerAttributes","in"],
547
+ ["BOOL","bManualReset","in"],
548
+ ["PCHAR","lpTimerName","in"],
549
+ ])
550
+
551
+ railgun.add_function('kernel32', 'CreateWaitableTimerW', 'DWORD',[
552
+ ["PBLOB","lpTimerAttributes","in"],
553
+ ["BOOL","bManualReset","in"],
554
+ ["PWCHAR","lpTimerName","in"],
555
+ ])
556
+
557
+ railgun.add_function('kernel32', 'DeactivateActCtx', 'BOOL',[
558
+ ["DWORD","dwFlags","in"],
559
+ ["PDWORD","ulCookie","in"],
560
+ ])
561
+
562
+ railgun.add_function('kernel32', 'DebugActiveProcess', 'BOOL',[
563
+ ["DWORD","dwProcessId","in"],
564
+ ])
565
+
566
+ railgun.add_function('kernel32', 'DebugActiveProcessStop', 'BOOL',[
567
+ ["DWORD","dwProcessId","in"],
568
+ ])
569
+
570
+ railgun.add_function('kernel32', 'DebugBreak', 'VOID',[
571
+ ])
572
+
573
+ railgun.add_function('kernel32', 'DebugBreakProcess', 'BOOL',[
574
+ ["DWORD","Process","in"],
575
+ ])
576
+
577
+ railgun.add_function('kernel32', 'DebugSetProcessKillOnExit', 'BOOL',[
578
+ ["BOOL","KillOnExit","in"],
579
+ ])
580
+
581
+ railgun.add_function('kernel32', 'DecodePointer', 'LPVOID',[
582
+ ["PBLOB","Ptr","in"],
583
+ ])
584
+
585
+ railgun.add_function('kernel32', 'DecodeSystemPointer', 'LPVOID',[
586
+ ["PBLOB","Ptr","in"],
587
+ ])
588
+
589
+ railgun.add_function('kernel32', 'DefineDosDeviceA', 'BOOL',[
590
+ ["DWORD","dwFlags","in"],
591
+ ["PCHAR","lpDeviceName","in"],
592
+ ["PCHAR","lpTargetPath","in"],
593
+ ])
594
+
595
+ railgun.add_function('kernel32', 'DefineDosDeviceW', 'BOOL',[
596
+ ["DWORD","dwFlags","in"],
597
+ ["PWCHAR","lpDeviceName","in"],
598
+ ["PWCHAR","lpTargetPath","in"],
599
+ ])
600
+
601
+ railgun.add_function('kernel32', 'DeleteAtom', 'WORD',[
602
+ ["WORD","nAtom","in"],
603
+ ])
604
+
605
+ railgun.add_function('kernel32', 'DeleteCriticalSection', 'VOID',[
606
+ ["PBLOB","lpCriticalSection","inout"],
607
+ ])
608
+
609
+ railgun.add_function('kernel32', 'DeleteFiber', 'VOID',[
610
+ ["PBLOB","lpFiber","in"],
611
+ ])
612
+
613
+ railgun.add_function('kernel32', 'DeleteFileA', 'BOOL',[
614
+ ["PCHAR","lpFileName","in"],
615
+ ])
616
+
617
+ railgun.add_function('kernel32', 'DeleteFileW', 'BOOL',[
618
+ ["PWCHAR","lpFileName","in"],
619
+ ])
620
+
621
+ railgun.add_function('kernel32', 'DeleteTimerQueue', 'BOOL',[
622
+ ["DWORD","TimerQueue","in"],
623
+ ])
624
+
625
+ railgun.add_function('kernel32', 'DeleteTimerQueueEx', 'BOOL',[
626
+ ["DWORD","TimerQueue","in"],
627
+ ["DWORD","CompletionEvent","in"],
628
+ ])
629
+
630
+ railgun.add_function('kernel32', 'DeleteTimerQueueTimer', 'BOOL',[
631
+ ["DWORD","TimerQueue","in"],
632
+ ["DWORD","Timer","in"],
633
+ ["DWORD","CompletionEvent","in"],
634
+ ])
635
+
636
+ railgun.add_function('kernel32', 'DeleteVolumeMountPointA', 'BOOL',[
637
+ ["PCHAR","lpszVolumeMountPoint","in"],
638
+ ])
639
+
640
+ railgun.add_function('kernel32', 'DeleteVolumeMountPointW', 'BOOL',[
641
+ ["PWCHAR","lpszVolumeMountPoint","in"],
642
+ ])
643
+
644
+ railgun.add_function('kernel32', 'DeviceIoControl', 'BOOL',[
645
+ ["HANDLE","hDevice","in"],
646
+ ["DWORD","dwIoControlCode","in"],
647
+ ["PBLOB","lpInBuffer","in"],
648
+ ["DWORD","nInBufferSize","in"],
649
+ ["PBLOB","lpOutBuffer","out"],
650
+ ["DWORD","nOutBufferSize","in"],
651
+ ["PDWORD","lpBytesReturned","out"],
652
+ ["PBLOB","lpOverlapped","inout"],
653
+ ])
654
+
655
+ railgun.add_function('kernel32', 'DisableThreadLibraryCalls', 'BOOL',[
656
+ ["HANDLE","hLibModule","in"],
657
+ ])
658
+
659
+ railgun.add_function('kernel32', 'DisconnectNamedPipe', 'BOOL',[
660
+ ["HANDLE","hNamedPipe","in"],
661
+ ])
662
+
663
+ railgun.add_function('kernel32', 'DnsHostnameToComputerNameA', 'BOOL',[
664
+ ["PCHAR","Hostname","in"],
665
+ ["PCHAR","ComputerName","out"],
666
+ ["PDWORD","nSize","inout"],
667
+ ])
668
+
669
+ railgun.add_function('kernel32', 'DnsHostnameToComputerNameW', 'BOOL',[
670
+ ["PWCHAR","Hostname","in"],
671
+ ["PWCHAR","ComputerName","out"],
672
+ ["PDWORD","nSize","inout"],
673
+ ])
674
+
675
+ railgun.add_function('kernel32', 'DosDateTimeToFileTime', 'BOOL',[
676
+ ["WORD","wFatDate","in"],
677
+ ["WORD","wFatTime","in"],
678
+ ["PBLOB","lpFileTime","out"],
679
+ ])
680
+
681
+ railgun.add_function('kernel32', 'DuplicateHandle', 'BOOL',[
682
+ ["HANDLE","hSourceProcessHandle","in"],
683
+ ["HANDLE","hSourceHandle","in"],
684
+ ["HANDLE","hTargetProcessHandle","in"],
685
+ ["PDWORD","lpTargetHandle","out"],
686
+ ["DWORD","dwDesiredAccess","in"],
687
+ ["BOOL","bInheritHandle","in"],
688
+ ["DWORD","dwOptions","in"],
689
+ ])
690
+
691
+ railgun.add_function('kernel32', 'EncodePointer', 'LPVOID',[
692
+ ["PBLOB","Ptr","in"],
693
+ ])
694
+
695
+ railgun.add_function('kernel32', 'EncodeSystemPointer', 'LPVOID',[
696
+ ["PBLOB","Ptr","in"],
697
+ ])
698
+
699
+ railgun.add_function('kernel32', 'EndUpdateResourceA', 'BOOL',[
700
+ ["HANDLE","hUpdate","in"],
701
+ ["BOOL","fDiscard","in"],
702
+ ])
703
+
704
+ railgun.add_function('kernel32', 'EndUpdateResourceW', 'BOOL',[
705
+ ["HANDLE","hUpdate","in"],
706
+ ["BOOL","fDiscard","in"],
707
+ ])
708
+
709
+ railgun.add_function('kernel32', 'EnterCriticalSection', 'VOID',[
710
+ ["PBLOB","lpCriticalSection","inout"],
711
+ ])
712
+
713
+ railgun.add_function('kernel32', 'EnumResourceLanguagesA', 'BOOL',[
714
+ ["HANDLE","hModule","in"],
715
+ ["PCHAR","lpType","in"],
716
+ ["PCHAR","lpName","in"],
717
+ ["PBLOB","lpEnumFunc","in"],
718
+ ["PBLOB","lparam","in"],
719
+ ])
720
+
721
+ railgun.add_function('kernel32', 'EnumResourceLanguagesW', 'BOOL',[
722
+ ["HANDLE","hModule","in"],
723
+ ["PWCHAR","lpType","in"],
724
+ ["PWCHAR","lpName","in"],
725
+ ["PBLOB","lpEnumFunc","in"],
726
+ ["PBLOB","lparam","in"],
727
+ ])
728
+
729
+ railgun.add_function('kernel32', 'EnumResourceNamesA', 'BOOL',[
730
+ ["HANDLE","hModule","in"],
731
+ ["PCHAR","lpType","in"],
732
+ ["PBLOB","lpEnumFunc","in"],
733
+ ["PBLOB","lparam","in"],
734
+ ])
735
+
736
+ railgun.add_function('kernel32', 'EnumResourceNamesW', 'BOOL',[
737
+ ["HANDLE","hModule","in"],
738
+ ["PWCHAR","lpType","in"],
739
+ ["PBLOB","lpEnumFunc","in"],
740
+ ["PBLOB","lparam","in"],
741
+ ])
742
+
743
+ railgun.add_function('kernel32', 'EnumResourceTypesA', 'BOOL',[
744
+ ["HANDLE","hModule","in"],
745
+ ["PBLOB","lpEnumFunc","in"],
746
+ ["PBLOB","lparam","in"],
747
+ ])
748
+
749
+ railgun.add_function('kernel32', 'EnumResourceTypesW', 'BOOL',[
750
+ ["HANDLE","hModule","in"],
751
+ ["PBLOB","lpEnumFunc","in"],
752
+ ["PBLOB","lparam","in"],
753
+ ])
754
+
755
+ railgun.add_function('kernel32', 'EnumSystemFirmwareTables', 'DWORD',[
756
+ ["DWORD","FirmwareTableProviderSignature","in"],
757
+ ["PBLOB","pFirmwareTableEnumBuffer","out"],
758
+ ["DWORD","BufferSize","in"],
759
+ ])
760
+
761
+ railgun.add_function('kernel32', 'EraseTape', 'DWORD',[
762
+ ["HANDLE","hDevice","in"],
763
+ ["DWORD","dwEraseType","in"],
764
+ ["BOOL","bImmediate","in"],
765
+ ])
766
+
767
+ railgun.add_function('kernel32', 'EscapeCommFunction', 'BOOL',[
768
+ ["HANDLE","hFile","in"],
769
+ ["DWORD","dwFunc","in"],
770
+ ])
771
+
772
+ railgun.add_function('kernel32', 'ExitProcess', 'VOID',[
773
+ ["DWORD","uExitCode","in"],
774
+ ])
775
+
776
+ railgun.add_function('kernel32', 'ExitThread', 'VOID',[
777
+ ["DWORD","dwExitCode","in"],
778
+ ])
779
+
780
+ railgun.add_function('kernel32', 'ExpandEnvironmentStringsA', 'DWORD',[
781
+ ["PCHAR","lpSrc","in"],
782
+ ["PCHAR","lpDst","out"],
783
+ ["DWORD","nSize","in"],
784
+ ])
785
+
786
+ railgun.add_function('kernel32', 'ExpandEnvironmentStringsW', 'DWORD',[
787
+ ["PWCHAR","lpSrc","in"],
788
+ ["PWCHAR","lpDst","out"],
789
+ ["DWORD","nSize","in"],
790
+ ])
791
+
792
+ railgun.add_function('kernel32', 'FatalAppExitA', 'VOID',[
793
+ ["DWORD","uAction","in"],
794
+ ["PCHAR","lpMessageText","in"],
795
+ ])
796
+
797
+ railgun.add_function('kernel32', 'FatalAppExitW', 'VOID',[
798
+ ["DWORD","uAction","in"],
799
+ ["PWCHAR","lpMessageText","in"],
800
+ ])
801
+
802
+ railgun.add_function('kernel32', 'FatalExit', 'VOID',[
803
+ ["DWORD","ExitCode","in"],
804
+ ])
805
+
806
+ railgun.add_function('kernel32', 'FileTimeToDosDateTime', 'BOOL',[
807
+ ["PBLOB","lpFileTime","in"],
808
+ ["PBLOB","lpFatDate","out"],
809
+ ["PBLOB","lpFatTime","out"],
810
+ ])
811
+
812
+ railgun.add_function('kernel32', 'FileTimeToLocalFileTime', 'BOOL',[
813
+ ["PBLOB","lpFileTime","in"],
814
+ ["PBLOB","lpLocalFileTime","out"],
815
+ ])
816
+
817
+ railgun.add_function('kernel32', 'FileTimeToSystemTime', 'BOOL',[
818
+ ["PBLOB","lpFileTime","in"],
819
+ ["PBLOB","lpSystemTime","out"],
820
+ ])
821
+
822
+ railgun.add_function('kernel32', 'FindActCtxSectionGuid', 'BOOL',[
823
+ ["DWORD","dwFlags","in"],
824
+ ["PBLOB","lpExtensionGuid","inout"],
825
+ ["DWORD","ulSectionId","in"],
826
+ ["PBLOB","lpGuidToFind","in"],
827
+ ["PBLOB","ReturnedData","out"],
828
+ ])
829
+
830
+ railgun.add_function('kernel32', 'FindActCtxSectionStringA', 'BOOL',[
831
+ ["DWORD","dwFlags","in"],
832
+ ["PBLOB","lpExtensionGuid","inout"],
833
+ ["DWORD","ulSectionId","in"],
834
+ ["PCHAR","lpStringToFind","in"],
835
+ ["PBLOB","ReturnedData","out"],
836
+ ])
837
+
838
+ railgun.add_function('kernel32', 'FindActCtxSectionStringW', 'BOOL',[
839
+ ["DWORD","dwFlags","in"],
840
+ ["PBLOB","lpExtensionGuid","inout"],
841
+ ["DWORD","ulSectionId","in"],
842
+ ["PWCHAR","lpStringToFind","in"],
843
+ ["PBLOB","ReturnedData","out"],
844
+ ])
845
+
846
+ railgun.add_function('kernel32', 'FindAtomA', 'WORD',[
847
+ ["PCHAR","lpString","in"],
848
+ ])
849
+
850
+ railgun.add_function('kernel32', 'FindAtomW', 'WORD',[
851
+ ["PWCHAR","lpString","in"],
852
+ ])
853
+
854
+ railgun.add_function('kernel32', 'FindClose', 'BOOL',[
855
+ ["HANDLE","hFindFile","inout"],
856
+ ])
857
+
858
+ railgun.add_function('kernel32', 'FindCloseChangeNotification', 'BOOL',[
859
+ ["HANDLE","hChangeHandle","in"],
860
+ ])
861
+
862
+ railgun.add_function('kernel32', 'FindFirstChangeNotificationA', 'DWORD',[
863
+ ["PCHAR","lpPathName","in"],
864
+ ["BOOL","bWatchSubtree","in"],
865
+ ["DWORD","dwNotifyFilter","in"],
866
+ ])
867
+
868
+ railgun.add_function('kernel32', 'FindFirstChangeNotificationW', 'DWORD',[
869
+ ["PWCHAR","lpPathName","in"],
870
+ ["BOOL","bWatchSubtree","in"],
871
+ ["DWORD","dwNotifyFilter","in"],
872
+ ])
873
+
874
+ railgun.add_function('kernel32', 'FindFirstFileA', 'DWORD',[
875
+ ["PCHAR","lpFileName","in"],
876
+ ["PBLOB","lpFindFileData","out"],
877
+ ])
878
+
879
+ railgun.add_function('kernel32', 'FindFirstFileExA', 'DWORD',[
880
+ ["PCHAR","lpFileName","in"],
881
+ ["PBLOB","fInfoLevelId","in"],
882
+ ["PBLOB","lpFindFileData","out"],
883
+ ["PBLOB","fSearchOp","in"],
884
+ ["PBLOB","lpSearchFilter","inout"],
885
+ ["DWORD","dwAdditionalFlags","in"],
886
+ ])
887
+
888
+ railgun.add_function('kernel32', 'FindFirstFileExW', 'DWORD',[
889
+ ["PWCHAR","lpFileName","in"],
890
+ ["PBLOB","fInfoLevelId","in"],
891
+ ["PBLOB","lpFindFileData","out"],
892
+ ["PBLOB","fSearchOp","in"],
893
+ ["PBLOB","lpSearchFilter","inout"],
894
+ ["DWORD","dwAdditionalFlags","in"],
895
+ ])
896
+
897
+ railgun.add_function('kernel32', 'FindFirstFileW', 'DWORD',[
898
+ ["PWCHAR","lpFileName","in"],
899
+ ["PBLOB","lpFindFileData","out"],
900
+ ])
901
+
902
+ railgun.add_function('kernel32', 'FindFirstStreamW', 'DWORD',[
903
+ ["PWCHAR","lpFileName","in"],
904
+ ["PBLOB","InfoLevel","in"],
905
+ ["PBLOB","lpFindStreamData","out"],
906
+ ["DWORD","dwFlags","inout"],
907
+ ])
908
+
909
+ railgun.add_function('kernel32', 'FindFirstVolumeA', 'DWORD',[
910
+ ["PCHAR","lpszVolumeName","out"],
911
+ ["DWORD","cchBufferLength","in"],
912
+ ])
913
+
914
+ railgun.add_function('kernel32', 'FindFirstVolumeMountPointA', 'DWORD',[
915
+ ["PCHAR","lpszRootPathName","in"],
916
+ ["PCHAR","lpszVolumeMountPoint","out"],
917
+ ["DWORD","cchBufferLength","in"],
918
+ ])
919
+
920
+ railgun.add_function('kernel32', 'FindFirstVolumeMountPointW', 'DWORD',[
921
+ ["PWCHAR","lpszRootPathName","in"],
922
+ ["PWCHAR","lpszVolumeMountPoint","out"],
923
+ ["DWORD","cchBufferLength","in"],
924
+ ])
925
+
926
+ railgun.add_function('kernel32', 'FindFirstVolumeW', 'DWORD',[
927
+ ["PWCHAR","lpszVolumeName","out"],
928
+ ["DWORD","cchBufferLength","in"],
929
+ ])
930
+
931
+ railgun.add_function('kernel32', 'FindNextChangeNotification', 'BOOL',[
932
+ ["HANDLE","hChangeHandle","in"],
933
+ ])
934
+
935
+ railgun.add_function('kernel32', 'FindNextFileA', 'BOOL',[
936
+ ["HANDLE","hFindFile","in"],
937
+ ["PBLOB","lpFindFileData","out"],
938
+ ])
939
+
940
+ railgun.add_function('kernel32', 'FindNextFileW', 'BOOL',[
941
+ ["HANDLE","hFindFile","in"],
942
+ ["PBLOB","lpFindFileData","out"],
943
+ ])
944
+
945
+ railgun.add_function('kernel32', 'FindNextStreamW', 'BOOL',[
946
+ ["HANDLE","hFindStream","in"],
947
+ ["PBLOB","lpFindStreamData","out"],
948
+ ])
949
+
950
+ railgun.add_function('kernel32', 'FindNextVolumeA', 'BOOL',[
951
+ ["HANDLE","hFindVolume","inout"],
952
+ ["PCHAR","lpszVolumeName","out"],
953
+ ["DWORD","cchBufferLength","in"],
954
+ ])
955
+
956
+ railgun.add_function('kernel32', 'FindNextVolumeMountPointA', 'BOOL',[
957
+ ["HANDLE","hFindVolumeMountPoint","in"],
958
+ ["PCHAR","lpszVolumeMountPoint","out"],
959
+ ["DWORD","cchBufferLength","in"],
960
+ ])
961
+
962
+ railgun.add_function('kernel32', 'FindNextVolumeMountPointW', 'BOOL',[
963
+ ["HANDLE","hFindVolumeMountPoint","in"],
964
+ ["PWCHAR","lpszVolumeMountPoint","out"],
965
+ ["DWORD","cchBufferLength","in"],
966
+ ])
967
+
968
+ railgun.add_function('kernel32', 'FindNextVolumeW', 'BOOL',[
969
+ ["HANDLE","hFindVolume","inout"],
970
+ ["PWCHAR","lpszVolumeName","out"],
971
+ ["DWORD","cchBufferLength","in"],
972
+ ])
973
+
974
+ railgun.add_function('kernel32', 'FindResourceA', 'DWORD',[
975
+ ["HANDLE","hModule","in"],
976
+ ["PCHAR","lpName","in"],
977
+ ["PCHAR","lpType","in"],
978
+ ])
979
+
980
+ railgun.add_function('kernel32', 'FindResourceExA', 'DWORD',[
981
+ ["HANDLE","hModule","in"],
982
+ ["PCHAR","lpType","in"],
983
+ ["PCHAR","lpName","in"],
984
+ ["WORD","wLanguage","in"],
985
+ ])
986
+
987
+ railgun.add_function('kernel32', 'FindResourceExW', 'DWORD',[
988
+ ["HANDLE","hModule","in"],
989
+ ["PWCHAR","lpType","in"],
990
+ ["PWCHAR","lpName","in"],
991
+ ["WORD","wLanguage","in"],
992
+ ])
993
+
994
+ railgun.add_function('kernel32', 'FindResourceW', 'DWORD',[
995
+ ["HANDLE","hModule","in"],
996
+ ["PWCHAR","lpName","in"],
997
+ ["PWCHAR","lpType","in"],
998
+ ])
999
+
1000
+ railgun.add_function('kernel32', 'FindVolumeClose', 'BOOL',[
1001
+ ["HANDLE","hFindVolume","in"],
1002
+ ])
1003
+
1004
+ railgun.add_function('kernel32', 'FindVolumeMountPointClose', 'BOOL',[
1005
+ ["HANDLE","hFindVolumeMountPoint","in"],
1006
+ ])
1007
+
1008
+ railgun.add_function('kernel32', 'FlsAlloc', 'DWORD',[
1009
+ ["PBLOB","lpCallback","in"],
1010
+ ])
1011
+
1012
+ railgun.add_function('kernel32', 'FlsFree', 'BOOL',[
1013
+ ["DWORD","dwFlsIndex","in"],
1014
+ ])
1015
+
1016
+ railgun.add_function('kernel32', 'FlsGetValue', 'LPVOID',[
1017
+ ["DWORD","dwFlsIndex","in"],
1018
+ ])
1019
+
1020
+ railgun.add_function('kernel32', 'FlsSetValue', 'BOOL',[
1021
+ ["DWORD","dwFlsIndex","in"],
1022
+ ["PBLOB","lpFlsData","in"],
1023
+ ])
1024
+
1025
+ railgun.add_function('kernel32', 'FlushFileBuffers', 'BOOL',[
1026
+ ["HANDLE","hFile","in"],
1027
+ ])
1028
+
1029
+ railgun.add_function('kernel32', 'FlushInstructionCache', 'BOOL',[
1030
+ ["HANDLE","hProcess","in"],
1031
+ ["PBLOB","lpBaseAddress","in"],
1032
+ ["DWORD","dwSize","in"],
1033
+ ])
1034
+
1035
+ railgun.add_function('kernel32', 'FlushViewOfFile', 'BOOL',[
1036
+ ["PBLOB","lpBaseAddress","in"],
1037
+ ["DWORD","dwNumberOfBytesToFlush","in"],
1038
+ ])
1039
+
1040
+ railgun.add_function('kernel32', 'FreeEnvironmentStringsA', 'BOOL',[
1041
+ ["PBLOB","param0","in"],
1042
+ ])
1043
+
1044
+ railgun.add_function('kernel32', 'FreeEnvironmentStringsW', 'BOOL',[
1045
+ ["PBLOB","param0","in"],
1046
+ ])
1047
+
1048
+ railgun.add_function('kernel32', 'FreeLibrary', 'BOOL',[
1049
+ ["HANDLE","hLibModule","in"],
1050
+ ])
1051
+
1052
+ railgun.add_function('kernel32', 'FreeLibraryAndExitThread', 'VOID',[
1053
+ ["HANDLE","hLibModule","in"],
1054
+ ["DWORD","dwExitCode","in"],
1055
+ ])
1056
+
1057
+ railgun.add_function('kernel32', 'FreeResource', 'BOOL',[
1058
+ ["HANDLE","hResData","in"],
1059
+ ])
1060
+
1061
+ railgun.add_function('kernel32', 'FreeUserPhysicalPages', 'BOOL',[
1062
+ ["HANDLE","hProcess","in"],
1063
+ ["PBLOB","NumberOfPages","inout"],
1064
+ ["PBLOB","PageArray","in"],
1065
+ ])
1066
+
1067
+ railgun.add_function('kernel32', 'GetAtomNameA', 'DWORD',[
1068
+ ["WORD","nAtom","in"],
1069
+ ["PCHAR","lpBuffer","out"],
1070
+ ["DWORD","nSize","in"],
1071
+ ])
1072
+
1073
+ railgun.add_function('kernel32', 'GetAtomNameW', 'DWORD',[
1074
+ ["WORD","nAtom","in"],
1075
+ ["PWCHAR","lpBuffer","out"],
1076
+ ["DWORD","nSize","in"],
1077
+ ])
1078
+
1079
+ railgun.add_function('kernel32', 'GetBinaryTypeA', 'BOOL',[
1080
+ ["PCHAR","lpApplicationName","in"],
1081
+ ["PDWORD","lpBinaryType","out"],
1082
+ ])
1083
+
1084
+ railgun.add_function('kernel32', 'GetBinaryTypeW', 'BOOL',[
1085
+ ["PWCHAR","lpApplicationName","in"],
1086
+ ["PDWORD","lpBinaryType","out"],
1087
+ ])
1088
+
1089
+ railgun.add_function('kernel32', 'GetCommConfig', 'BOOL',[
1090
+ ["HANDLE","hCommDev","in"],
1091
+ ["PBLOB","lpCC","out"],
1092
+ ["PDWORD","lpdwSize","inout"],
1093
+ ])
1094
+
1095
+ railgun.add_function('kernel32', 'GetCommMask', 'BOOL',[
1096
+ ["HANDLE","hFile","in"],
1097
+ ["PDWORD","lpEvtMask","out"],
1098
+ ])
1099
+
1100
+ railgun.add_function('kernel32', 'GetCommModemStatus', 'BOOL',[
1101
+ ["HANDLE","hFile","in"],
1102
+ ["PDWORD","lpModemStat","out"],
1103
+ ])
1104
+
1105
+ railgun.add_function('kernel32', 'GetCommProperties', 'BOOL',[
1106
+ ["HANDLE","hFile","in"],
1107
+ ["PBLOB","lpCommProp","out"],
1108
+ ])
1109
+
1110
+ railgun.add_function('kernel32', 'GetCommState', 'BOOL',[
1111
+ ["HANDLE","hFile","in"],
1112
+ ["PBLOB","lpDCB","out"],
1113
+ ])
1114
+
1115
+ railgun.add_function('kernel32', 'GetCommTimeouts', 'BOOL',[
1116
+ ["HANDLE","hFile","in"],
1117
+ ["PBLOB","lpCommTimeouts","out"],
1118
+ ])
1119
+
1120
+ #railgun.add_function('kernel32', 'GetCommandLineA', 'PCHAR',[
1121
+ # ])
1122
+
1123
+ #railgun.add_function('kernel32', 'GetCommandLineW', 'PWCHAR',[
1124
+ # ])
1125
+
1126
+ railgun.add_function('kernel32', 'GetCompressedFileSizeA', 'DWORD',[
1127
+ ["PCHAR","lpFileName","in"],
1128
+ ["PDWORD","lpFileSizeHigh","out"],
1129
+ ])
1130
+
1131
+ railgun.add_function('kernel32', 'GetCompressedFileSizeW', 'DWORD',[
1132
+ ["PWCHAR","lpFileName","in"],
1133
+ ["PDWORD","lpFileSizeHigh","out"],
1134
+ ])
1135
+
1136
+ railgun.add_function('kernel32', 'GetComputerNameA', 'BOOL',[
1137
+ ["PCHAR","lpBuffer","out"],
1138
+ ["PDWORD","nSize","inout"],
1139
+ ])
1140
+
1141
+ railgun.add_function('kernel32', 'GetComputerNameExA', 'BOOL',[
1142
+ ["DWORD","NameType","in"],
1143
+ ["PCHAR","lpBuffer","out"],
1144
+ ["PDWORD","nSize","inout"],
1145
+ ])
1146
+
1147
+ railgun.add_function('kernel32', 'GetComputerNameExW', 'BOOL',[
1148
+ ["DWORD","NameType","in"],
1149
+ ["PWCHAR","lpBuffer","out"],
1150
+ ["PDWORD","nSize","inout"],
1151
+ ])
1152
+
1153
+ railgun.add_function('kernel32', 'GetComputerNameW', 'BOOL',[
1154
+ ["PWCHAR","lpBuffer","out"],
1155
+ ["PDWORD","nSize","inout"],
1156
+ ])
1157
+
1158
+ railgun.add_function('kernel32', 'GetCurrentActCtx', 'BOOL',[
1159
+ ["PDWORD","lphActCtx","out"],
1160
+ ])
1161
+
1162
+ railgun.add_function('kernel32', 'GetCurrentDirectoryA', 'DWORD',[
1163
+ ["DWORD","nBufferLength","in"],
1164
+ ["PCHAR","lpBuffer","out"],
1165
+ ])
1166
+
1167
+ railgun.add_function('kernel32', 'GetCurrentDirectoryW', 'DWORD',[
1168
+ ["DWORD","nBufferLength","in"],
1169
+ ["PWCHAR","lpBuffer","out"],
1170
+ ])
1171
+
1172
+ railgun.add_function('kernel32', 'GetCurrentProcess', 'HANDLE',[
1173
+ ])
1174
+
1175
+ railgun.add_function('kernel32', 'GetCurrentProcessId', 'DWORD',[
1176
+ ])
1177
+
1178
+ railgun.add_function('kernel32', 'GetCurrentProcessorNumber', 'DWORD',[
1179
+ ])
1180
+
1181
+ railgun.add_function('kernel32', 'GetCurrentThread', 'HANDLE',[
1182
+ ])
1183
+
1184
+ railgun.add_function('kernel32', 'GetCurrentThreadId', 'DWORD',[
1185
+ ])
1186
+
1187
+ railgun.add_function('kernel32', 'GetDefaultCommConfigA', 'BOOL',[
1188
+ ["PCHAR","lpszName","in"],
1189
+ ["PBLOB","lpCC","out"],
1190
+ ["PDWORD","lpdwSize","inout"],
1191
+ ])
1192
+
1193
+ railgun.add_function('kernel32', 'GetDefaultCommConfigW', 'BOOL',[
1194
+ ["PWCHAR","lpszName","in"],
1195
+ ["PBLOB","lpCC","out"],
1196
+ ["PDWORD","lpdwSize","inout"],
1197
+ ])
1198
+
1199
+ railgun.add_function('kernel32', 'GetDevicePowerState', 'BOOL',[
1200
+ ["HANDLE","hDevice","in"],
1201
+ ["PBLOB","pfOn","out"],
1202
+ ])
1203
+
1204
+ railgun.add_function('kernel32', 'GetDiskFreeSpaceA', 'BOOL',[
1205
+ ["PCHAR","lpRootPathName","in"],
1206
+ ["PDWORD","lpSectorsPerCluster","out"],
1207
+ ["PDWORD","lpBytesPerSector","out"],
1208
+ ["PDWORD","lpNumberOfFreeClusters","out"],
1209
+ ["PDWORD","lpTotalNumberOfClusters","out"],
1210
+ ])
1211
+
1212
+ railgun.add_function('kernel32', 'GetDiskFreeSpaceExA', 'BOOL',[
1213
+ ["PCHAR","lpDirectoryName","in"],
1214
+ ["PBLOB","lpFreeBytesAvailableToCaller","out"],
1215
+ ["PBLOB","lpTotalNumberOfBytes","out"],
1216
+ ["PBLOB","lpTotalNumberOfFreeBytes","out"],
1217
+ ])
1218
+
1219
+ railgun.add_function('kernel32', 'GetDiskFreeSpaceExW', 'BOOL',[
1220
+ ["PWCHAR","lpDirectoryName","in"],
1221
+ ["PBLOB","lpFreeBytesAvailableToCaller","out"],
1222
+ ["PBLOB","lpTotalNumberOfBytes","out"],
1223
+ ["PBLOB","lpTotalNumberOfFreeBytes","out"],
1224
+ ])
1225
+
1226
+ railgun.add_function('kernel32', 'GetDiskFreeSpaceW', 'BOOL',[
1227
+ ["PWCHAR","lpRootPathName","in"],
1228
+ ["PDWORD","lpSectorsPerCluster","out"],
1229
+ ["PDWORD","lpBytesPerSector","out"],
1230
+ ["PDWORD","lpNumberOfFreeClusters","out"],
1231
+ ["PDWORD","lpTotalNumberOfClusters","out"],
1232
+ ])
1233
+
1234
+ railgun.add_function('kernel32', 'GetDllDirectoryA', 'DWORD',[
1235
+ ["DWORD","nBufferLength","in"],
1236
+ ["PCHAR","lpBuffer","out"],
1237
+ ])
1238
+
1239
+ railgun.add_function('kernel32', 'GetDllDirectoryW', 'DWORD',[
1240
+ ["DWORD","nBufferLength","in"],
1241
+ ["PWCHAR","lpBuffer","out"],
1242
+ ])
1243
+
1244
+ railgun.add_function('kernel32', 'GetDriveTypeA', 'DWORD',[
1245
+ ["PCHAR","lpRootPathName","in"],
1246
+ ])
1247
+
1248
+ railgun.add_function('kernel32', 'GetDriveTypeW', 'DWORD',[
1249
+ ["PWCHAR","lpRootPathName","in"],
1250
+ ])
1251
+
1252
+ railgun.add_function('kernel32', 'GetEnvironmentStrings', 'LPVOID',[
1253
+ ])
1254
+
1255
+ railgun.add_function('kernel32', 'GetEnvironmentStringsW', 'LPVOID',[
1256
+ ])
1257
+
1258
+ railgun.add_function('kernel32', 'GetEnvironmentVariableA', 'DWORD',[
1259
+ ["PCHAR","lpName","in"],
1260
+ ["PCHAR","lpBuffer","out"],
1261
+ ["DWORD","nSize","in"],
1262
+ ])
1263
+
1264
+ railgun.add_function('kernel32', 'GetEnvironmentVariableW', 'DWORD',[
1265
+ ["PWCHAR","lpName","in"],
1266
+ ["PWCHAR","lpBuffer","out"],
1267
+ ["DWORD","nSize","in"],
1268
+ ])
1269
+
1270
+ railgun.add_function('kernel32', 'GetExitCodeProcess', 'BOOL',[
1271
+ ["HANDLE","hProcess","in"],
1272
+ ["PDWORD","lpExitCode","out"],
1273
+ ])
1274
+
1275
+ railgun.add_function('kernel32', 'GetExitCodeThread', 'BOOL',[
1276
+ ["HANDLE","hThread","in"],
1277
+ ["PDWORD","lpExitCode","out"],
1278
+ ])
1279
+
1280
+ railgun.add_function('kernel32', 'GetFileAttributesA', 'DWORD',[
1281
+ ["PCHAR","lpFileName","in"],
1282
+ ])
1283
+
1284
+ railgun.add_function('kernel32', 'GetFileAttributesExA', 'BOOL',[
1285
+ ["PCHAR","lpFileName","in"],
1286
+ ["PBLOB","fInfoLevelId","in"],
1287
+ ["PBLOB","lpFileInformation","out"],
1288
+ ])
1289
+
1290
+ railgun.add_function('kernel32', 'GetFileAttributesExW', 'BOOL',[
1291
+ ["PWCHAR","lpFileName","in"],
1292
+ ["PBLOB","fInfoLevelId","in"],
1293
+ ["PBLOB","lpFileInformation","out"],
1294
+ ])
1295
+
1296
+ railgun.add_function('kernel32', 'GetFileAttributesW', 'DWORD',[
1297
+ ["PWCHAR","lpFileName","in"],
1298
+ ])
1299
+
1300
+ railgun.add_function('kernel32', 'GetFileInformationByHandle', 'BOOL',[
1301
+ ["HANDLE","hFile","in"],
1302
+ ["PBLOB","lpFileInformation","out"],
1303
+ ])
1304
+
1305
+ railgun.add_function('kernel32', 'GetFileSize', 'DWORD',[
1306
+ ["HANDLE","hFile","in"],
1307
+ ["PDWORD","lpFileSizeHigh","out"],
1308
+ ])
1309
+
1310
+ railgun.add_function('kernel32', 'GetFileSizeEx', 'BOOL',[
1311
+ ["HANDLE","hFile","in"],
1312
+ ["PBLOB","lpFileSize","out"],
1313
+ ])
1314
+
1315
+ railgun.add_function('kernel32', 'GetFileTime', 'BOOL',[
1316
+ ["HANDLE","hFile","in"],
1317
+ ["PBLOB","lpCreationTime","out"],
1318
+ ["PBLOB","lpLastAccessTime","out"],
1319
+ ["PBLOB","lpLastWriteTime","out"],
1320
+ ])
1321
+
1322
+ railgun.add_function('kernel32', 'GetFileType', 'DWORD',[
1323
+ ["HANDLE","hFile","in"],
1324
+ ])
1325
+
1326
+ railgun.add_function('kernel32', 'GetFirmwareEnvironmentVariableA', 'DWORD',[
1327
+ ["PCHAR","lpName","in"],
1328
+ ["PCHAR","lpGuid","in"],
1329
+ ["PBLOB","pBuffer","out"],
1330
+ ["DWORD","nSize","in"],
1331
+ ])
1332
+
1333
+ railgun.add_function('kernel32', 'GetFirmwareEnvironmentVariableW', 'DWORD',[
1334
+ ["PWCHAR","lpName","in"],
1335
+ ["PWCHAR","lpGuid","in"],
1336
+ ["PBLOB","pBuffer","out"],
1337
+ ["DWORD","nSize","in"],
1338
+ ])
1339
+
1340
+ railgun.add_function('kernel32', 'GetFullPathNameA', 'DWORD',[
1341
+ ["PCHAR","lpFileName","in"],
1342
+ ["DWORD","nBufferLength","in"],
1343
+ ["PCHAR","lpBuffer","out"],
1344
+ ["PBLOB","lpFilePart","out"],
1345
+ ])
1346
+
1347
+ railgun.add_function('kernel32', 'GetFullPathNameW', 'DWORD',[
1348
+ ["PWCHAR","lpFileName","in"],
1349
+ ["DWORD","nBufferLength","in"],
1350
+ ["PWCHAR","lpBuffer","out"],
1351
+ ["PBLOB","lpFilePart","out"],
1352
+ ])
1353
+
1354
+ railgun.add_function('kernel32', 'GetHandleInformation', 'BOOL',[
1355
+ ["HANDLE","hObject","in"],
1356
+ ["PDWORD","lpdwFlags","out"],
1357
+ ])
1358
+
1359
+ railgun.add_function('kernel32', 'GetLargePageMinimum', 'DWORD',[
1360
+ ])
1361
+
1362
+ railgun.add_function('kernel32', 'GetLastError', 'DWORD',[
1363
+ ])
1364
+
1365
+ railgun.add_function('kernel32', 'GetLocalTime', 'VOID',[
1366
+ ["PBLOB","lpSystemTime","out"],
1367
+ ])
1368
+
1369
+ railgun.add_function('kernel32', 'GetLogicalDriveStringsA', 'DWORD',[
1370
+ ["DWORD","nBufferLength","in"],
1371
+ ["PCHAR","lpBuffer","out"],
1372
+ ])
1373
+
1374
+ railgun.add_function('kernel32', 'GetLogicalDriveStringsW', 'DWORD',[
1375
+ ["DWORD","nBufferLength","in"],
1376
+ ["PWCHAR","lpBuffer","out"],
1377
+ ])
1378
+
1379
+ railgun.add_function('kernel32', 'GetLogicalDrives', 'DWORD',[
1380
+ ])
1381
+
1382
+ railgun.add_function('kernel32', 'GetLogicalProcessorInformation', 'BOOL',[
1383
+ ["PBLOB","Buffer","out"],
1384
+ ["PDWORD","ReturnedLength","inout"],
1385
+ ])
1386
+
1387
+ railgun.add_function('kernel32', 'GetLongPathNameA', 'DWORD',[
1388
+ ["PCHAR","lpszShortPath","in"],
1389
+ ["PCHAR","lpszLongPath","out"],
1390
+ ["DWORD","cchBuffer","in"],
1391
+ ])
1392
+
1393
+ railgun.add_function('kernel32', 'GetLongPathNameW', 'DWORD',[
1394
+ ["PWCHAR","lpszShortPath","in"],
1395
+ ["PWCHAR","lpszLongPath","out"],
1396
+ ["DWORD","cchBuffer","in"],
1397
+ ])
1398
+
1399
+ railgun.add_function('kernel32', 'GetMailslotInfo', 'BOOL',[
1400
+ ["HANDLE","hMailslot","in"],
1401
+ ["PDWORD","lpMaxMessageSize","out"],
1402
+ ["PDWORD","lpNextSize","out"],
1403
+ ["PDWORD","lpMessageCount","out"],
1404
+ ["PDWORD","lpReadTimeout","out"],
1405
+ ])
1406
+
1407
+ railgun.add_function('kernel32', 'GetModuleFileNameA', 'DWORD',[
1408
+ ["HANDLE","hModule","in"],
1409
+ ["PBLOB","lpFilename","out"],
1410
+ ["DWORD","nSize","in"],
1411
+ ])
1412
+
1413
+ railgun.add_function('kernel32', 'GetModuleFileNameW', 'DWORD',[
1414
+ ["HANDLE","hModule","in"],
1415
+ ["PBLOB","lpFilename","out"],
1416
+ ["DWORD","nSize","in"],
1417
+ ])
1418
+
1419
+ railgun.add_function('kernel32', 'GetModuleHandleA', 'DWORD',[
1420
+ ["PCHAR","lpModuleName","in"],
1421
+ ])
1422
+
1423
+ railgun.add_function('kernel32', 'GetModuleHandleExA', 'BOOL',[
1424
+ ["DWORD","dwFlags","in"],
1425
+ ["PCHAR","lpModuleName","in"],
1426
+ ["PDWORD","phModule","out"],
1427
+ ])
1428
+
1429
+ railgun.add_function('kernel32', 'GetModuleHandleExW', 'BOOL',[
1430
+ ["DWORD","dwFlags","in"],
1431
+ ["PWCHAR","lpModuleName","in"],
1432
+ ["PDWORD","phModule","out"],
1433
+ ])
1434
+
1435
+ railgun.add_function('kernel32', 'GetModuleHandleW', 'DWORD',[
1436
+ ["PWCHAR","lpModuleName","in"],
1437
+ ])
1438
+
1439
+ railgun.add_function('kernel32', 'GetNamedPipeHandleStateA', 'BOOL',[
1440
+ ["HANDLE","hNamedPipe","in"],
1441
+ ["PDWORD","lpState","out"],
1442
+ ["PDWORD","lpCurInstances","out"],
1443
+ ["PDWORD","lpMaxCollectionCount","out"],
1444
+ ["PDWORD","lpCollectDataTimeout","out"],
1445
+ ["PCHAR","lpUserName","out"],
1446
+ ["DWORD","nMaxUserNameSize","in"],
1447
+ ])
1448
+
1449
+ railgun.add_function('kernel32', 'GetNamedPipeHandleStateW', 'BOOL',[
1450
+ ["HANDLE","hNamedPipe","in"],
1451
+ ["PDWORD","lpState","out"],
1452
+ ["PDWORD","lpCurInstances","out"],
1453
+ ["PDWORD","lpMaxCollectionCount","out"],
1454
+ ["PDWORD","lpCollectDataTimeout","out"],
1455
+ ["PWCHAR","lpUserName","out"],
1456
+ ["DWORD","nMaxUserNameSize","in"],
1457
+ ])
1458
+
1459
+ railgun.add_function('kernel32', 'GetNamedPipeInfo', 'BOOL',[
1460
+ ["HANDLE","hNamedPipe","in"],
1461
+ ["PDWORD","lpFlags","out"],
1462
+ ["PDWORD","lpOutBufferSize","out"],
1463
+ ["PDWORD","lpInBufferSize","out"],
1464
+ ["PDWORD","lpMaxInstances","out"],
1465
+ ])
1466
+
1467
+ railgun.add_function('kernel32', 'GetNativeSystemInfo', 'VOID',[
1468
+ ["PBLOB","lpSystemInfo","out"],
1469
+ ])
1470
+
1471
+ railgun.add_function('kernel32', 'GetNumaAvailableMemoryNode', 'BOOL',[
1472
+ ["BYTE","Node","in"],
1473
+ ["PBLOB","AvailableBytes","out"],
1474
+ ])
1475
+
1476
+ railgun.add_function('kernel32', 'GetNumaHighestNodeNumber', 'BOOL',[
1477
+ ["PDWORD","HighestNodeNumber","out"],
1478
+ ])
1479
+
1480
+ railgun.add_function('kernel32', 'GetNumaNodeProcessorMask', 'BOOL',[
1481
+ ["BYTE","Node","in"],
1482
+ ["PBLOB","ProcessorMask","out"],
1483
+ ])
1484
+
1485
+ railgun.add_function('kernel32', 'GetNumaProcessorNode', 'BOOL',[
1486
+ ["BYTE","Processor","in"],
1487
+ ["PBLOB","NodeNumber","out"],
1488
+ ])
1489
+
1490
+ railgun.add_function('kernel32', 'GetOverlappedResult', 'BOOL',[
1491
+ ["HANDLE","hFile","in"],
1492
+ ["PBLOB","lpOverlapped","in"],
1493
+ ["PDWORD","lpNumberOfBytesTransferred","out"],
1494
+ ["BOOL","bWait","in"],
1495
+ ])
1496
+
1497
+ railgun.add_function('kernel32', 'GetPriorityClass', 'DWORD',[
1498
+ ["HANDLE","hProcess","in"],
1499
+ ])
1500
+
1501
+ railgun.add_function('kernel32', 'GetPrivateProfileIntA', 'DWORD',[
1502
+ ["PCHAR","lpAppName","in"],
1503
+ ["PCHAR","lpKeyName","in"],
1504
+ ["DWORD","nDefault","in"],
1505
+ ["PCHAR","lpFileName","in"],
1506
+ ])
1507
+
1508
+ railgun.add_function('kernel32', 'GetPrivateProfileIntW', 'DWORD',[
1509
+ ["PWCHAR","lpAppName","in"],
1510
+ ["PWCHAR","lpKeyName","in"],
1511
+ ["DWORD","nDefault","in"],
1512
+ ["PWCHAR","lpFileName","in"],
1513
+ ])
1514
+
1515
+ railgun.add_function('kernel32', 'GetPrivateProfileSectionA', 'DWORD',[
1516
+ ["PCHAR","lpAppName","in"],
1517
+ ["PCHAR","lpReturnedString","out"],
1518
+ ["DWORD","nSize","in"],
1519
+ ["PCHAR","lpFileName","in"],
1520
+ ])
1521
+
1522
+ railgun.add_function('kernel32', 'GetPrivateProfileSectionNamesA', 'DWORD',[
1523
+ ["PCHAR","lpszReturnBuffer","out"],
1524
+ ["DWORD","nSize","in"],
1525
+ ["PCHAR","lpFileName","in"],
1526
+ ])
1527
+
1528
+ railgun.add_function('kernel32', 'GetPrivateProfileSectionNamesW', 'DWORD',[
1529
+ ["PWCHAR","lpszReturnBuffer","out"],
1530
+ ["DWORD","nSize","in"],
1531
+ ["PWCHAR","lpFileName","in"],
1532
+ ])
1533
+
1534
+ railgun.add_function('kernel32', 'GetPrivateProfileSectionW', 'DWORD',[
1535
+ ["PWCHAR","lpAppName","in"],
1536
+ ["PWCHAR","lpReturnedString","out"],
1537
+ ["DWORD","nSize","in"],
1538
+ ["PWCHAR","lpFileName","in"],
1539
+ ])
1540
+
1541
+ railgun.add_function('kernel32', 'GetPrivateProfileStringA', 'DWORD',[
1542
+ ["PCHAR","lpAppName","in"],
1543
+ ["PCHAR","lpKeyName","in"],
1544
+ ["PCHAR","lpDefault","in"],
1545
+ ["PCHAR","lpReturnedString","out"],
1546
+ ["DWORD","nSize","in"],
1547
+ ["PCHAR","lpFileName","in"],
1548
+ ])
1549
+
1550
+ railgun.add_function('kernel32', 'GetPrivateProfileStringW', 'DWORD',[
1551
+ ["PWCHAR","lpAppName","in"],
1552
+ ["PWCHAR","lpKeyName","in"],
1553
+ ["PWCHAR","lpDefault","in"],
1554
+ ["PWCHAR","lpReturnedString","out"],
1555
+ ["DWORD","nSize","in"],
1556
+ ["PWCHAR","lpFileName","in"],
1557
+ ])
1558
+
1559
+ railgun.add_function('kernel32', 'GetPrivateProfileStructA', 'BOOL',[
1560
+ ["PCHAR","lpszSection","in"],
1561
+ ["PCHAR","lpszKey","in"],
1562
+ ["PBLOB","lpStruct","out"],
1563
+ ["DWORD","uSizeStruct","in"],
1564
+ ["PCHAR","szFile","in"],
1565
+ ])
1566
+
1567
+ railgun.add_function('kernel32', 'GetPrivateProfileStructW', 'BOOL',[
1568
+ ["PWCHAR","lpszSection","in"],
1569
+ ["PWCHAR","lpszKey","in"],
1570
+ ["PBLOB","lpStruct","out"],
1571
+ ["DWORD","uSizeStruct","in"],
1572
+ ["PWCHAR","szFile","in"],
1573
+ ])
1574
+
1575
+ railgun.add_function('kernel32', 'GetProcAddress', 'LPVOID',[
1576
+ ["HANDLE","hModule","in"],
1577
+ ["PCHAR","lpProcName","in"],
1578
+ ])
1579
+
1580
+ railgun.add_function('kernel32', 'GetProcessAffinityMask', 'BOOL',[
1581
+ ["HANDLE","hProcess","in"],
1582
+ ["PBLOB","lpProcessAffinityMask","out"],
1583
+ ["PBLOB","lpSystemAffinityMask","out"],
1584
+ ])
1585
+
1586
+ railgun.add_function('kernel32', 'GetProcessHandleCount', 'BOOL',[
1587
+ ["HANDLE","hProcess","in"],
1588
+ ["PDWORD","pdwHandleCount","out"],
1589
+ ])
1590
+
1591
+ railgun.add_function('kernel32', 'GetProcessHeap', 'DWORD',[
1592
+ ])
1593
+
1594
+ railgun.add_function('kernel32', 'GetProcessHeaps', 'DWORD',[
1595
+ ["DWORD","NumberOfHeaps","in"],
1596
+ ["PDWORD","ProcessHeaps","out"],
1597
+ ])
1598
+
1599
+ railgun.add_function('kernel32', 'GetProcessId', 'DWORD',[
1600
+ ["DWORD","Process","in"],
1601
+ ])
1602
+
1603
+ railgun.add_function('kernel32', 'GetProcessIdOfThread', 'DWORD',[
1604
+ ["DWORD","Thread","in"],
1605
+ ])
1606
+
1607
+ railgun.add_function('kernel32', 'GetProcessIoCounters', 'BOOL',[
1608
+ ["HANDLE","hProcess","in"],
1609
+ ["PBLOB","lpIoCounters","out"],
1610
+ ])
1611
+
1612
+ railgun.add_function('kernel32', 'GetProcessPriorityBoost', 'BOOL',[
1613
+ ["HANDLE","hProcess","in"],
1614
+ ["PBLOB","pDisablePriorityBoost","out"],
1615
+ ])
1616
+
1617
+ railgun.add_function('kernel32', 'GetProcessShutdownParameters', 'BOOL',[
1618
+ ["PDWORD","lpdwLevel","out"],
1619
+ ["PDWORD","lpdwFlags","out"],
1620
+ ])
1621
+
1622
+ railgun.add_function('kernel32', 'GetProcessTimes', 'BOOL',[
1623
+ ["HANDLE","hProcess","in"],
1624
+ ["PBLOB","lpCreationTime","out"],
1625
+ ["PBLOB","lpExitTime","out"],
1626
+ ["PBLOB","lpKernelTime","out"],
1627
+ ["PBLOB","lpUserTime","out"],
1628
+ ])
1629
+
1630
+ railgun.add_function('kernel32', 'GetProcessVersion', 'DWORD',[
1631
+ ["DWORD","ProcessId","in"],
1632
+ ])
1633
+
1634
+ railgun.add_function('kernel32', 'GetProcessWorkingSetSize', 'BOOL',[
1635
+ ["HANDLE","hProcess","in"],
1636
+ ["PDWORD","lpMinimumWorkingSetSize","out"],
1637
+ ["PDWORD","lpMaximumWorkingSetSize","out"],
1638
+ ])
1639
+
1640
+ railgun.add_function('kernel32', 'GetProcessWorkingSetSizeEx', 'BOOL',[
1641
+ ["HANDLE","hProcess","in"],
1642
+ ["PDWORD","lpMinimumWorkingSetSize","out"],
1643
+ ["PDWORD","lpMaximumWorkingSetSize","out"],
1644
+ ["PDWORD","Flags","out"],
1645
+ ])
1646
+
1647
+ railgun.add_function('kernel32', 'GetProfileIntA', 'DWORD',[
1648
+ ["PCHAR","lpAppName","in"],
1649
+ ["PCHAR","lpKeyName","in"],
1650
+ ["DWORD","nDefault","in"],
1651
+ ])
1652
+
1653
+ railgun.add_function('kernel32', 'GetProfileIntW', 'DWORD',[
1654
+ ["PWCHAR","lpAppName","in"],
1655
+ ["PWCHAR","lpKeyName","in"],
1656
+ ["DWORD","nDefault","in"],
1657
+ ])
1658
+
1659
+ railgun.add_function('kernel32', 'GetProfileSectionA', 'DWORD',[
1660
+ ["PCHAR","lpAppName","in"],
1661
+ ["PCHAR","lpReturnedString","out"],
1662
+ ["DWORD","nSize","in"],
1663
+ ])
1664
+
1665
+ railgun.add_function('kernel32', 'GetProfileSectionW', 'DWORD',[
1666
+ ["PWCHAR","lpAppName","in"],
1667
+ ["PWCHAR","lpReturnedString","out"],
1668
+ ["DWORD","nSize","in"],
1669
+ ])
1670
+
1671
+ railgun.add_function('kernel32', 'GetProfileStringA', 'DWORD',[
1672
+ ["PCHAR","lpAppName","in"],
1673
+ ["PCHAR","lpKeyName","in"],
1674
+ ["PCHAR","lpDefault","in"],
1675
+ ["PCHAR","lpReturnedString","out"],
1676
+ ["DWORD","nSize","in"],
1677
+ ])
1678
+
1679
+ railgun.add_function('kernel32', 'GetProfileStringW', 'DWORD',[
1680
+ ["PWCHAR","lpAppName","in"],
1681
+ ["PWCHAR","lpKeyName","in"],
1682
+ ["PWCHAR","lpDefault","in"],
1683
+ ["PWCHAR","lpReturnedString","out"],
1684
+ ["DWORD","nSize","in"],
1685
+ ])
1686
+
1687
+ railgun.add_function('kernel32', 'GetQueuedCompletionStatus', 'BOOL',[
1688
+ ["DWORD","CompletionPort","in"],
1689
+ ["PDWORD","lpNumberOfBytesTransferred","out"],
1690
+ ["PBLOB","lpCompletionKey","out"],
1691
+ ["PBLOB","lpOverlapped","out"],
1692
+ ["DWORD","dwMilliseconds","in"],
1693
+ ])
1694
+
1695
+ railgun.add_function('kernel32', 'GetShortPathNameA', 'DWORD',[
1696
+ ["PCHAR","lpszLongPath","in"],
1697
+ ["PCHAR","lpszShortPath","out"],
1698
+ ["DWORD","cchBuffer","in"],
1699
+ ])
1700
+
1701
+ railgun.add_function('kernel32', 'GetShortPathNameW', 'DWORD',[
1702
+ ["PWCHAR","lpszLongPath","in"],
1703
+ ["PWCHAR","lpszShortPath","out"],
1704
+ ["DWORD","cchBuffer","in"],
1705
+ ])
1706
+
1707
+ railgun.add_function('kernel32', 'GetStartupInfoA', 'VOID',[
1708
+ ["PBLOB","lpStartupInfo","out"],
1709
+ ])
1710
+
1711
+ railgun.add_function('kernel32', 'GetStartupInfoW', 'VOID',[
1712
+ ["PBLOB","lpStartupInfo","out"],
1713
+ ])
1714
+
1715
+ railgun.add_function('kernel32', 'GetStdHandle', 'DWORD',[
1716
+ ["DWORD","nStdHandle","in"],
1717
+ ])
1718
+
1719
+ railgun.add_function('kernel32', 'GetSystemDirectoryA', 'DWORD',[
1720
+ ["PCHAR","lpBuffer","out"],
1721
+ ["DWORD","uSize","in"],
1722
+ ])
1723
+
1724
+ railgun.add_function('kernel32', 'GetSystemDirectoryW', 'DWORD',[
1725
+ ["PWCHAR","lpBuffer","out"],
1726
+ ["DWORD","uSize","in"],
1727
+ ])
1728
+
1729
+ railgun.add_function('kernel32', 'GetSystemFileCacheSize', 'BOOL',[
1730
+ ["PDWORD","lpMinimumFileCacheSize","out"],
1731
+ ["PDWORD","lpMaximumFileCacheSize","out"],
1732
+ ["PDWORD","lpFlags","out"],
1733
+ ])
1734
+
1735
+ railgun.add_function('kernel32', 'GetSystemFirmwareTable', 'DWORD',[
1736
+ ["DWORD","FirmwareTableProviderSignature","in"],
1737
+ ["DWORD","FirmwareTableID","in"],
1738
+ ["PBLOB","pFirmwareTableBuffer","out"],
1739
+ ["DWORD","BufferSize","in"],
1740
+ ])
1741
+
1742
+ railgun.add_function('kernel32', 'GetSystemInfo', 'VOID',[
1743
+ ["PBLOB","lpSystemInfo","out"],
1744
+ ])
1745
+
1746
+ railgun.add_function('kernel32', 'GetSystemPowerStatus', 'BOOL',[
1747
+ ["PBLOB","lpSystemPowerStatus","out"],
1748
+ ])
1749
+
1750
+ railgun.add_function('kernel32', 'GetSystemRegistryQuota', 'BOOL',[
1751
+ ["PDWORD","pdwQuotaAllowed","out"],
1752
+ ["PDWORD","pdwQuotaUsed","out"],
1753
+ ])
1754
+
1755
+ railgun.add_function('kernel32', 'GetSystemTime', 'VOID',[
1756
+ ["PBLOB","lpSystemTime","out"],
1757
+ ])
1758
+
1759
+ railgun.add_function('kernel32', 'GetSystemTimeAdjustment', 'BOOL',[
1760
+ ["PDWORD","lpTimeAdjustment","out"],
1761
+ ["PDWORD","lpTimeIncrement","out"],
1762
+ ["PBLOB","lpTimeAdjustmentDisabled","out"],
1763
+ ])
1764
+
1765
+ railgun.add_function('kernel32', 'GetSystemTimeAsFileTime', 'VOID',[
1766
+ ["PBLOB","lpSystemTimeAsFileTime","out"],
1767
+ ])
1768
+
1769
+ railgun.add_function('kernel32', 'GetSystemTimes', 'BOOL',[
1770
+ ["PBLOB","lpIdleTime","out"],
1771
+ ["PBLOB","lpKernelTime","out"],
1772
+ ["PBLOB","lpUserTime","out"],
1773
+ ])
1774
+
1775
+ railgun.add_function('kernel32', 'GetSystemWindowsDirectoryA', 'DWORD',[
1776
+ ["PCHAR","lpBuffer","out"],
1777
+ ["DWORD","uSize","in"],
1778
+ ])
1779
+
1780
+ railgun.add_function('kernel32', 'GetSystemWindowsDirectoryW', 'DWORD',[
1781
+ ["PWCHAR","lpBuffer","out"],
1782
+ ["DWORD","uSize","in"],
1783
+ ])
1784
+
1785
+ railgun.add_function('kernel32', 'GetSystemWow64DirectoryA', 'DWORD',[
1786
+ ["PCHAR","lpBuffer","out"],
1787
+ ["DWORD","uSize","in"],
1788
+ ])
1789
+
1790
+ railgun.add_function('kernel32', 'GetSystemWow64DirectoryW', 'DWORD',[
1791
+ ["PWCHAR","lpBuffer","out"],
1792
+ ["DWORD","uSize","in"],
1793
+ ])
1794
+
1795
+ railgun.add_function('kernel32', 'GetTapeParameters', 'DWORD',[
1796
+ ["HANDLE","hDevice","in"],
1797
+ ["DWORD","dwOperation","in"],
1798
+ ["PDWORD","lpdwSize","inout"],
1799
+ ["PBLOB","lpTapeInformation","out"],
1800
+ ])
1801
+
1802
+ railgun.add_function('kernel32', 'GetTapePosition', 'DWORD',[
1803
+ ["HANDLE","hDevice","in"],
1804
+ ["DWORD","dwPositionType","in"],
1805
+ ["PDWORD","lpdwPartition","out"],
1806
+ ["PDWORD","lpdwOffsetLow","out"],
1807
+ ["PDWORD","lpdwOffsetHigh","out"],
1808
+ ])
1809
+
1810
+ railgun.add_function('kernel32', 'GetTapeStatus', 'DWORD',[
1811
+ ["HANDLE","hDevice","in"],
1812
+ ])
1813
+
1814
+ railgun.add_function('kernel32', 'GetTempFileNameA', 'DWORD',[
1815
+ ["PCHAR","lpPathName","in"],
1816
+ ["PCHAR","lpPrefixString","in"],
1817
+ ["DWORD","uUnique","in"],
1818
+ ["PCHAR","lpTempFileName","out"],
1819
+ ])
1820
+
1821
+ railgun.add_function('kernel32', 'GetTempFileNameW', 'DWORD',[
1822
+ ["PWCHAR","lpPathName","in"],
1823
+ ["PWCHAR","lpPrefixString","in"],
1824
+ ["DWORD","uUnique","in"],
1825
+ ["PWCHAR","lpTempFileName","out"],
1826
+ ])
1827
+
1828
+ railgun.add_function('kernel32', 'GetTempPathA', 'DWORD',[
1829
+ ["DWORD","nBufferLength","in"],
1830
+ ["PCHAR","lpBuffer","out"],
1831
+ ])
1832
+
1833
+ railgun.add_function('kernel32', 'GetTempPathW', 'DWORD',[
1834
+ ["DWORD","nBufferLength","in"],
1835
+ ["PWCHAR","lpBuffer","out"],
1836
+ ])
1837
+
1838
+ railgun.add_function('kernel32', 'GetThreadContext', 'BOOL',[
1839
+ ["HANDLE","hThread","in"],
1840
+ ["PBLOB","lpContext","inout"],
1841
+ ])
1842
+
1843
+ railgun.add_function('kernel32', 'GetThreadIOPendingFlag', 'BOOL',[
1844
+ ["HANDLE","hThread","in"],
1845
+ ["PBLOB","lpIOIsPending","out"],
1846
+ ])
1847
+
1848
+ railgun.add_function('kernel32', 'GetThreadId', 'DWORD',[
1849
+ ["DWORD","Thread","in"],
1850
+ ])
1851
+
1852
+ railgun.add_function('kernel32', 'GetThreadPriority', 'DWORD',[
1853
+ ["HANDLE","hThread","in"],
1854
+ ])
1855
+
1856
+ railgun.add_function('kernel32', 'GetThreadPriorityBoost', 'BOOL',[
1857
+ ["HANDLE","hThread","in"],
1858
+ ["PBLOB","pDisablePriorityBoost","out"],
1859
+ ])
1860
+
1861
+ railgun.add_function('kernel32', 'GetThreadSelectorEntry', 'BOOL',[
1862
+ ["HANDLE","hThread","in"],
1863
+ ["DWORD","dwSelector","in"],
1864
+ ["PBLOB","lpSelectorEntry","out"],
1865
+ ])
1866
+
1867
+ railgun.add_function('kernel32', 'GetThreadTimes', 'BOOL',[
1868
+ ["HANDLE","hThread","in"],
1869
+ ["PBLOB","lpCreationTime","out"],
1870
+ ["PBLOB","lpExitTime","out"],
1871
+ ["PBLOB","lpKernelTime","out"],
1872
+ ["PBLOB","lpUserTime","out"],
1873
+ ])
1874
+
1875
+ railgun.add_function('kernel32', 'GetTickCount', 'DWORD',[
1876
+ ])
1877
+
1878
+ railgun.add_function('kernel32', 'GetTimeZoneInformation', 'DWORD',[
1879
+ ["PBLOB","lpTimeZoneInformation","out"],
1880
+ ])
1881
+
1882
+ railgun.add_function('kernel32', 'GetVersion', 'DWORD',[
1883
+ ])
1884
+
1885
+ railgun.add_function('kernel32', 'GetVersionExA', 'BOOL',[
1886
+ ["PBLOB","lpVersionInformation","inout"],
1887
+ ])
1888
+
1889
+ railgun.add_function('kernel32', 'GetVersionExW', 'BOOL',[
1890
+ ["PBLOB","lpVersionInformation","inout"],
1891
+ ])
1892
+
1893
+ railgun.add_function('kernel32', 'GetVolumeInformationA', 'BOOL',[
1894
+ ["PCHAR","lpRootPathName","in"],
1895
+ ["PCHAR","lpVolumeNameBuffer","out"],
1896
+ ["DWORD","nVolumeNameSize","in"],
1897
+ ["PDWORD","lpVolumeSerialNumber","out"],
1898
+ ["PDWORD","lpMaximumComponentLength","out"],
1899
+ ["PDWORD","lpFileSystemFlags","out"],
1900
+ ["PCHAR","lpFileSystemNameBuffer","out"],
1901
+ ["DWORD","nFileSystemNameSize","in"],
1902
+ ])
1903
+
1904
+ railgun.add_function('kernel32', 'GetVolumeInformationW', 'BOOL',[
1905
+ ["PWCHAR","lpRootPathName","in"],
1906
+ ["PWCHAR","lpVolumeNameBuffer","out"],
1907
+ ["DWORD","nVolumeNameSize","in"],
1908
+ ["PDWORD","lpVolumeSerialNumber","out"],
1909
+ ["PDWORD","lpMaximumComponentLength","out"],
1910
+ ["PDWORD","lpFileSystemFlags","out"],
1911
+ ["PWCHAR","lpFileSystemNameBuffer","out"],
1912
+ ["DWORD","nFileSystemNameSize","in"],
1913
+ ])
1914
+
1915
+ railgun.add_function('kernel32', 'GetVolumeNameForVolumeMountPointA', 'BOOL',[
1916
+ ["PCHAR","lpszVolumeMountPoint","in"],
1917
+ ["PCHAR","lpszVolumeName","out"],
1918
+ ["DWORD","cchBufferLength","in"],
1919
+ ])
1920
+
1921
+ railgun.add_function('kernel32', 'GetVolumeNameForVolumeMountPointW', 'BOOL',[
1922
+ ["PWCHAR","lpszVolumeMountPoint","in"],
1923
+ ["PWCHAR","lpszVolumeName","out"],
1924
+ ["DWORD","cchBufferLength","in"],
1925
+ ])
1926
+
1927
+ railgun.add_function('kernel32', 'GetVolumePathNameA', 'BOOL',[
1928
+ ["PCHAR","lpszFileName","in"],
1929
+ ["PCHAR","lpszVolumePathName","out"],
1930
+ ["DWORD","cchBufferLength","in"],
1931
+ ])
1932
+
1933
+ railgun.add_function('kernel32', 'GetVolumePathNameW', 'BOOL',[
1934
+ ["PWCHAR","lpszFileName","in"],
1935
+ ["PWCHAR","lpszVolumePathName","out"],
1936
+ ["DWORD","cchBufferLength","in"],
1937
+ ])
1938
+
1939
+ railgun.add_function('kernel32', 'GetVolumePathNamesForVolumeNameA', 'BOOL',[
1940
+ ["PCHAR","lpszVolumeName","in"],
1941
+ ["PBLOB","lpszVolumePathNames","out"],
1942
+ ["DWORD","cchBufferLength","in"],
1943
+ ["PDWORD","lpcchReturnLength","out"],
1944
+ ])
1945
+
1946
+ railgun.add_function('kernel32', 'GetVolumePathNamesForVolumeNameW', 'BOOL',[
1947
+ ["PWCHAR","lpszVolumeName","in"],
1948
+ ["PBLOB","lpszVolumePathNames","out"],
1949
+ ["DWORD","cchBufferLength","in"],
1950
+ ["PDWORD","lpcchReturnLength","out"],
1951
+ ])
1952
+
1953
+ railgun.add_function('kernel32', 'GetWindowsDirectoryA', 'DWORD',[
1954
+ ["PCHAR","lpBuffer","out"],
1955
+ ["DWORD","uSize","in"],
1956
+ ])
1957
+
1958
+ railgun.add_function('kernel32', 'GetWindowsDirectoryW', 'DWORD',[
1959
+ ["PWCHAR","lpBuffer","out"],
1960
+ ["DWORD","uSize","in"],
1961
+ ])
1962
+
1963
+ railgun.add_function('kernel32', 'GetWriteWatch', 'DWORD',[
1964
+ ["DWORD","dwFlags","in"],
1965
+ ["PBLOB","lpBaseAddress","in"],
1966
+ ["DWORD","dwRegionSize","in"],
1967
+ ["PBLOB","lpAddresses","out"],
1968
+ ["PBLOB","lpdwCount","inout"],
1969
+ ["PDWORD","lpdwGranularity","out"],
1970
+ ])
1971
+
1972
+ railgun.add_function('kernel32', 'GlobalAddAtomA', 'WORD',[
1973
+ ["PCHAR","lpString","in"],
1974
+ ])
1975
+
1976
+ railgun.add_function('kernel32', 'GlobalAddAtomW', 'WORD',[
1977
+ ["PWCHAR","lpString","in"],
1978
+ ])
1979
+
1980
+ railgun.add_function('kernel32', 'GlobalAlloc', 'DWORD',[
1981
+ ["DWORD","uFlags","in"],
1982
+ ["DWORD","dwBytes","in"],
1983
+ ])
1984
+
1985
+ railgun.add_function('kernel32', 'GlobalCompact', 'DWORD',[
1986
+ ["DWORD","dwMinFree","in"],
1987
+ ])
1988
+
1989
+ railgun.add_function('kernel32', 'GlobalDeleteAtom', 'WORD',[
1990
+ ["WORD","nAtom","in"],
1991
+ ])
1992
+
1993
+ railgun.add_function('kernel32', 'GlobalFindAtomA', 'WORD',[
1994
+ ["PCHAR","lpString","in"],
1995
+ ])
1996
+
1997
+ railgun.add_function('kernel32', 'GlobalFindAtomW', 'WORD',[
1998
+ ["PWCHAR","lpString","in"],
1999
+ ])
2000
+
2001
+ railgun.add_function('kernel32', 'GlobalFix', 'VOID',[
2002
+ ["HANDLE","hMem","in"],
2003
+ ])
2004
+
2005
+ railgun.add_function('kernel32', 'GlobalFlags', 'DWORD',[
2006
+ ["HANDLE","hMem","in"],
2007
+ ])
2008
+
2009
+ railgun.add_function('kernel32', 'GlobalFree', 'DWORD',[
2010
+ ["HANDLE","hMem","in"],
2011
+ ])
2012
+
2013
+ railgun.add_function('kernel32', 'GlobalGetAtomNameA', 'DWORD',[
2014
+ ["WORD","nAtom","in"],
2015
+ ["PCHAR","lpBuffer","out"],
2016
+ ["DWORD","nSize","in"],
2017
+ ])
2018
+
2019
+ railgun.add_function('kernel32', 'GlobalGetAtomNameW', 'DWORD',[
2020
+ ["WORD","nAtom","in"],
2021
+ ["PWCHAR","lpBuffer","out"],
2022
+ ["DWORD","nSize","in"],
2023
+ ])
2024
+
2025
+ railgun.add_function('kernel32', 'GlobalHandle', 'DWORD',[
2026
+ ["PBLOB","pMem","in"],
2027
+ ])
2028
+
2029
+ railgun.add_function('kernel32', 'GlobalLock', 'LPVOID',[
2030
+ ["HANDLE","hMem","in"],
2031
+ ])
2032
+
2033
+ railgun.add_function('kernel32', 'GlobalMemoryStatus', 'VOID',[
2034
+ ["PBLOB","lpBuffer","out"],
2035
+ ])
2036
+
2037
+ railgun.add_function('kernel32', 'GlobalMemoryStatusEx', 'BOOL',[
2038
+ ["PBLOB","lpBuffer","out"],
2039
+ ])
2040
+
2041
+ railgun.add_function('kernel32', 'GlobalReAlloc', 'DWORD',[
2042
+ ["HANDLE","hMem","in"],
2043
+ ["DWORD","dwBytes","in"],
2044
+ ["DWORD","uFlags","in"],
2045
+ ])
2046
+
2047
+ railgun.add_function('kernel32', 'GlobalSize', 'DWORD',[
2048
+ ["HANDLE","hMem","in"],
2049
+ ])
2050
+
2051
+ railgun.add_function('kernel32', 'GlobalUnWire', 'BOOL',[
2052
+ ["HANDLE","hMem","in"],
2053
+ ])
2054
+
2055
+ railgun.add_function('kernel32', 'GlobalUnfix', 'VOID',[
2056
+ ["HANDLE","hMem","in"],
2057
+ ])
2058
+
2059
+ railgun.add_function('kernel32', 'GlobalUnlock', 'BOOL',[
2060
+ ["HANDLE","hMem","in"],
2061
+ ])
2062
+
2063
+ railgun.add_function('kernel32', 'GlobalWire', 'LPVOID',[
2064
+ ["HANDLE","hMem","in"],
2065
+ ])
2066
+
2067
+ railgun.add_function('kernel32', 'HeapAlloc', 'LPVOID',[
2068
+ ["HANDLE","hHeap","in"],
2069
+ ["DWORD","dwFlags","in"],
2070
+ ["DWORD","dwBytes","in"],
2071
+ ])
2072
+
2073
+ railgun.add_function('kernel32', 'HeapCompact', 'DWORD',[
2074
+ ["HANDLE","hHeap","in"],
2075
+ ["DWORD","dwFlags","in"],
2076
+ ])
2077
+
2078
+ railgun.add_function('kernel32', 'HeapCreate', 'DWORD',[
2079
+ ["DWORD","flOptions","in"],
2080
+ ["DWORD","dwInitialSize","in"],
2081
+ ["DWORD","dwMaximumSize","in"],
2082
+ ])
2083
+
2084
+ railgun.add_function('kernel32', 'HeapDestroy', 'BOOL',[
2085
+ ["HANDLE","hHeap","in"],
2086
+ ])
2087
+
2088
+ railgun.add_function('kernel32', 'HeapFree', 'BOOL',[
2089
+ ["HANDLE","hHeap","inout"],
2090
+ ["DWORD","dwFlags","in"],
2091
+ ["LPVOID","lpMem","in"],
2092
+ ])
2093
+
2094
+ railgun.add_function('kernel32', 'HeapLock', 'BOOL',[
2095
+ ["HANDLE","hHeap","in"],
2096
+ ])
2097
+
2098
+ railgun.add_function('kernel32', 'HeapQueryInformation', 'BOOL',[
2099
+ ["HANDLE","heapHandle","in"],
2100
+ ["PDWORD","HeapInformationClass","in"],
2101
+ ["PBLOB","HeapInformation","out"],
2102
+ ["HANDLE","heapInformationLength","in"],
2103
+ ["PDWORD","ReturnLength","out"],
2104
+ ])
2105
+
2106
+ railgun.add_function('kernel32', 'HeapReAlloc', 'LPVOID',[
2107
+ ["HANDLE","hHeap","inout"],
2108
+ ["DWORD","dwFlags","in"],
2109
+ ["LPVOID","lpMem","in"],
2110
+ ["DWORD","dwBytes","in"],
2111
+ ])
2112
+
2113
+ railgun.add_function('kernel32', 'HeapSetInformation', 'BOOL',[
2114
+ ["HANDLE","heapHandle","in"],
2115
+ ["PDWORD","HeapInformationClass","in"],
2116
+ ["PBLOB","HeapInformation","in"],
2117
+ ["HANDLE","heapInformationLength","in"],
2118
+ ])
2119
+
2120
+ railgun.add_function('kernel32', 'HeapSize', 'DWORD',[
2121
+ ["HANDLE","hHeap","in"],
2122
+ ["DWORD","dwFlags","in"],
2123
+ ["LPVOID","lpMem","in"],
2124
+ ])
2125
+
2126
+ railgun.add_function('kernel32', 'HeapUnlock', 'BOOL',[
2127
+ ["HANDLE","hHeap","in"],
2128
+ ])
2129
+
2130
+ railgun.add_function('kernel32', 'HeapValidate', 'BOOL',[
2131
+ ["HANDLE","hHeap","in"],
2132
+ ["DWORD","dwFlags","in"],
2133
+ ["LPVOID","lpMem","in"],
2134
+ ])
2135
+
2136
+ railgun.add_function('kernel32', 'HeapWalk', 'BOOL',[
2137
+ ["HANDLE","hHeap","in"],
2138
+ ["PBLOB","lpEntry","inout"],
2139
+ ])
2140
+
2141
+ railgun.add_function('kernel32', 'InitAtomTable', 'BOOL',[
2142
+ ["DWORD","nSize","in"],
2143
+ ])
2144
+
2145
+ railgun.add_function('kernel32', 'InitializeCriticalSection', 'VOID',[
2146
+ ["PBLOB","lpCriticalSection","out"],
2147
+ ])
2148
+
2149
+ railgun.add_function('kernel32', 'InitializeCriticalSectionAndSpinCount', 'BOOL',[
2150
+ ["PBLOB","lpCriticalSection","out"],
2151
+ ["DWORD","dwSpinCount","in"],
2152
+ ])
2153
+
2154
+ railgun.add_function('kernel32', 'InitializeSListHead', 'VOID',[
2155
+ ["PBLOB","ListHead","inout"],
2156
+ ])
2157
+
2158
+ railgun.add_function('kernel32', 'InterlockedCompareExchange', 'DWORD',[
2159
+ ["PDWORD","Destination","inout"],
2160
+ ["DWORD","ExChange","in"],
2161
+ ["DWORD","Comperand","in"],
2162
+ ])
2163
+
2164
+ railgun.add_function('kernel32', 'InterlockedCompareExchange64', 'LPVOID',[
2165
+ ["PBLOB","Destination","inout"],
2166
+ ["PBLOB","ExChange","in"],
2167
+ ["PBLOB","Comperand","in"],
2168
+ ])
2169
+
2170
+ railgun.add_function('kernel32', 'InterlockedDecrement', 'DWORD',[
2171
+ ["PDWORD","lpAddend","inout"],
2172
+ ])
2173
+
2174
+ railgun.add_function('kernel32', 'InterlockedExchange', 'DWORD',[
2175
+ ["PDWORD","Target","inout"],
2176
+ ["DWORD","Value","in"],
2177
+ ])
2178
+
2179
+ railgun.add_function('kernel32', 'InterlockedExchangeAdd', 'DWORD',[
2180
+ ["PDWORD","Addend","inout"],
2181
+ ["DWORD","Value","in"],
2182
+ ])
2183
+
2184
+ railgun.add_function('kernel32', 'InterlockedFlushSList', 'LPVOID',[
2185
+ ["PBLOB","ListHead","inout"],
2186
+ ])
2187
+
2188
+ railgun.add_function('kernel32', 'InterlockedIncrement', 'DWORD',[
2189
+ ["PDWORD","lpAddend","inout"],
2190
+ ])
2191
+
2192
+ railgun.add_function('kernel32', 'InterlockedPopEntrySList', 'LPVOID',[
2193
+ ["PBLOB","ListHead","inout"],
2194
+ ])
2195
+
2196
+ railgun.add_function('kernel32', 'InterlockedPushEntrySList', 'LPVOID',[
2197
+ ["PBLOB","ListHead","inout"],
2198
+ ["PBLOB","ListEntry","inout"],
2199
+ ])
2200
+
2201
+ railgun.add_function('kernel32', 'IsBadCodePtr', 'BOOL',[
2202
+ ["PBLOB","lpfn","in"],
2203
+ ])
2204
+
2205
+ railgun.add_function('kernel32', 'IsBadHugeReadPtr', 'BOOL',[
2206
+ ["DWORD","ucb","in"],
2207
+ ])
2208
+
2209
+ railgun.add_function('kernel32', 'IsBadHugeWritePtr', 'BOOL',[
2210
+ ["PBLOB","lp","in"],
2211
+ ["DWORD","ucb","in"],
2212
+ ])
2213
+
2214
+ railgun.add_function('kernel32', 'IsBadReadPtr', 'BOOL',[
2215
+ ["DWORD","ucb","in"],
2216
+ ])
2217
+
2218
+ railgun.add_function('kernel32', 'IsBadStringPtrA', 'BOOL',[
2219
+ ["PCHAR","lpsz","in"],
2220
+ ["DWORD","ucchMax","in"],
2221
+ ])
2222
+
2223
+ railgun.add_function('kernel32', 'IsBadStringPtrW', 'BOOL',[
2224
+ ["PWCHAR","lpsz","in"],
2225
+ ["DWORD","ucchMax","in"],
2226
+ ])
2227
+
2228
+ railgun.add_function('kernel32', 'IsBadWritePtr', 'BOOL',[
2229
+ ["PBLOB","lp","in"],
2230
+ ["DWORD","ucb","in"],
2231
+ ])
2232
+
2233
+ railgun.add_function('kernel32', 'IsDebuggerPresent', 'BOOL',[
2234
+ ])
2235
+
2236
+ railgun.add_function('kernel32', 'IsProcessInJob', 'BOOL',[
2237
+ ["DWORD","ProcessHandle","in"],
2238
+ ["DWORD","JobHandle","in"],
2239
+ ["PBLOB","Result","out"],
2240
+ ])
2241
+
2242
+ railgun.add_function('kernel32', 'IsProcessorFeaturePresent', 'BOOL',[
2243
+ ["DWORD","ProcessorFeature","in"],
2244
+ ])
2245
+
2246
+ railgun.add_function('kernel32', 'IsSystemResumeAutomatic', 'BOOL',[
2247
+ ])
2248
+
2249
+ railgun.add_function('kernel32', 'IsWow64Process', 'BOOL',[
2250
+ ["HANDLE","hProcess","in"],
2251
+ ["PBLOB","Wow64Process","out"],
2252
+ ])
2253
+
2254
+ railgun.add_function('kernel32', 'LeaveCriticalSection', 'VOID',[
2255
+ ["PBLOB","lpCriticalSection","inout"],
2256
+ ])
2257
+
2258
+ railgun.add_function('kernel32', 'LoadLibraryA', 'DWORD',[
2259
+ ["PCHAR","lpLibFileName","in"],
2260
+ ])
2261
+
2262
+ railgun.add_function('kernel32', 'LoadLibraryExA', 'DWORD',[
2263
+ ["PCHAR","lpLibFileName","in"],
2264
+ ["HANDLE","hFile","inout"],
2265
+ ["DWORD","dwFlags","in"],
2266
+ ])
2267
+
2268
+ railgun.add_function('kernel32', 'LoadLibraryExW', 'DWORD',[
2269
+ ["PWCHAR","lpLibFileName","in"],
2270
+ ["HANDLE","hFile","inout"],
2271
+ ["DWORD","dwFlags","in"],
2272
+ ])
2273
+
2274
+ railgun.add_function('kernel32', 'LoadLibraryW', 'DWORD',[
2275
+ ["PWCHAR","lpLibFileName","in"],
2276
+ ])
2277
+
2278
+ railgun.add_function('kernel32', 'LoadModule', 'DWORD',[
2279
+ ["PCHAR","lpModuleName","in"],
2280
+ ["PBLOB","lpParameterBlock","in"],
2281
+ ])
2282
+
2283
+ railgun.add_function('kernel32', 'LoadResource', 'DWORD',[
2284
+ ["HANDLE","hModule","in"],
2285
+ ["HANDLE","hResInfo","in"],
2286
+ ])
2287
+
2288
+ railgun.add_function('kernel32', 'LocalAlloc', 'DWORD',[
2289
+ ["DWORD","uFlags","in"],
2290
+ ["DWORD","uBytes","in"],
2291
+ ])
2292
+
2293
+ railgun.add_function('kernel32', 'LocalCompact', 'DWORD',[
2294
+ ["DWORD","uMinFree","in"],
2295
+ ])
2296
+
2297
+ railgun.add_function('kernel32', 'LocalFileTimeToFileTime', 'BOOL',[
2298
+ ["PBLOB","lpLocalFileTime","in"],
2299
+ ["PBLOB","lpFileTime","out"],
2300
+ ])
2301
+
2302
+ railgun.add_function('kernel32', 'LocalFlags', 'DWORD',[
2303
+ ["HANDLE","hMem","in"],
2304
+ ])
2305
+
2306
+ railgun.add_function('kernel32', 'LocalFree', 'DWORD',[
2307
+ ["HANDLE","hMem","in"],
2308
+ ])
2309
+
2310
+ railgun.add_function('kernel32', 'LocalHandle', 'DWORD',[
2311
+ ["PBLOB","pMem","in"],
2312
+ ])
2313
+
2314
+ railgun.add_function('kernel32', 'LocalLock', 'LPVOID',[
2315
+ ["HANDLE","hMem","in"],
2316
+ ])
2317
+
2318
+ railgun.add_function('kernel32', 'LocalReAlloc', 'DWORD',[
2319
+ ["HANDLE","hMem","in"],
2320
+ ["DWORD","uBytes","in"],
2321
+ ["DWORD","uFlags","in"],
2322
+ ])
2323
+
2324
+ railgun.add_function('kernel32', 'LocalShrink', 'DWORD',[
2325
+ ["HANDLE","hMem","in"],
2326
+ ["DWORD","cbNewSize","in"],
2327
+ ])
2328
+
2329
+ railgun.add_function('kernel32', 'LocalSize', 'DWORD',[
2330
+ ["HANDLE","hMem","in"],
2331
+ ])
2332
+
2333
+ railgun.add_function('kernel32', 'LocalUnlock', 'BOOL',[
2334
+ ["HANDLE","hMem","in"],
2335
+ ])
2336
+
2337
+ railgun.add_function('kernel32', 'LockFile', 'BOOL',[
2338
+ ["HANDLE","hFile","in"],
2339
+ ["DWORD","dwFileOffsetLow","in"],
2340
+ ["DWORD","dwFileOffsetHigh","in"],
2341
+ ["DWORD","nNumberOfBytesToLockLow","in"],
2342
+ ["DWORD","nNumberOfBytesToLockHigh","in"],
2343
+ ])
2344
+
2345
+ railgun.add_function('kernel32', 'LockFileEx', 'BOOL',[
2346
+ ["HANDLE","hFile","in"],
2347
+ ["DWORD","dwFlags","in"],
2348
+ ["DWORD","dwReserved","inout"],
2349
+ ["DWORD","nNumberOfBytesToLockLow","in"],
2350
+ ["DWORD","nNumberOfBytesToLockHigh","in"],
2351
+ ["PBLOB","lpOverlapped","inout"],
2352
+ ])
2353
+
2354
+ railgun.add_function('kernel32', 'LockResource', 'LPVOID',[
2355
+ ["HANDLE","hResData","in"],
2356
+ ])
2357
+
2358
+ railgun.add_function('kernel32', 'MapUserPhysicalPages', 'BOOL',[
2359
+ ["PBLOB","VirtualAddress","in"],
2360
+ ["PDWORD","NumberOfPages","in"],
2361
+ ["PBLOB","PageArray","in"],
2362
+ ])
2363
+
2364
+ railgun.add_function('kernel32', 'MapUserPhysicalPagesScatter', 'BOOL',[
2365
+ ["PBLOB","VirtualAddresses","in"],
2366
+ ["PDWORD","NumberOfPages","in"],
2367
+ ["PBLOB","PageArray","in"],
2368
+ ])
2369
+
2370
+ railgun.add_function('kernel32', 'MapViewOfFile', 'LPVOID',[
2371
+ ["HANDLE","hFileMappingObject","in"],
2372
+ ["DWORD","dwDesiredAccess","in"],
2373
+ ["DWORD","dwFileOffsetHigh","in"],
2374
+ ["DWORD","dwFileOffsetLow","in"],
2375
+ ["DWORD","dwNumberOfBytesToMap","in"],
2376
+ ])
2377
+
2378
+ railgun.add_function('kernel32', 'MapViewOfFileEx', 'LPVOID',[
2379
+ ["HANDLE","hFileMappingObject","in"],
2380
+ ["DWORD","dwDesiredAccess","in"],
2381
+ ["DWORD","dwFileOffsetHigh","in"],
2382
+ ["DWORD","dwFileOffsetLow","in"],
2383
+ ["DWORD","dwNumberOfBytesToMap","in"],
2384
+ ["PBLOB","lpBaseAddress","in"],
2385
+ ])
2386
+
2387
+ railgun.add_function('kernel32', 'MoveFileA', 'BOOL',[
2388
+ ["PCHAR","lpExistingFileName","in"],
2389
+ ["PCHAR","lpNewFileName","in"],
2390
+ ])
2391
+
2392
+ railgun.add_function('kernel32', 'MoveFileExA', 'BOOL',[
2393
+ ["PCHAR","lpExistingFileName","in"],
2394
+ ["PCHAR","lpNewFileName","in"],
2395
+ ["DWORD","dwFlags","in"],
2396
+ ])
2397
+
2398
+ railgun.add_function('kernel32', 'MoveFileExW', 'BOOL',[
2399
+ ["PWCHAR","lpExistingFileName","in"],
2400
+ ["PWCHAR","lpNewFileName","in"],
2401
+ ["DWORD","dwFlags","in"],
2402
+ ])
2403
+
2404
+ railgun.add_function('kernel32', 'MoveFileW', 'BOOL',[
2405
+ ["PWCHAR","lpExistingFileName","in"],
2406
+ ["PWCHAR","lpNewFileName","in"],
2407
+ ])
2408
+
2409
+ railgun.add_function('kernel32', 'MoveFileWithProgressA', 'BOOL',[
2410
+ ["PCHAR","lpExistingFileName","in"],
2411
+ ["PCHAR","lpNewFileName","in"],
2412
+ ["PBLOB","lpProgressRoutine","in"],
2413
+ ["PBLOB","lpData","in"],
2414
+ ["DWORD","dwFlags","in"],
2415
+ ])
2416
+
2417
+ railgun.add_function('kernel32', 'MoveFileWithProgressW', 'BOOL',[
2418
+ ["PWCHAR","lpExistingFileName","in"],
2419
+ ["PWCHAR","lpNewFileName","in"],
2420
+ ["PBLOB","lpProgressRoutine","in"],
2421
+ ["PBLOB","lpData","in"],
2422
+ ["DWORD","dwFlags","in"],
2423
+ ])
2424
+
2425
+ railgun.add_function('kernel32', 'MulDiv', 'DWORD',[
2426
+ ["DWORD","nNumber","in"],
2427
+ ["DWORD","nNumerator","in"],
2428
+ ["DWORD","nDenominator","in"],
2429
+ ])
2430
+
2431
+ railgun.add_function('kernel32', 'NeedCurrentDirectoryForExePathA', 'BOOL',[
2432
+ ["PCHAR","ExeName","in"],
2433
+ ])
2434
+
2435
+ railgun.add_function('kernel32', 'NeedCurrentDirectoryForExePathW', 'BOOL',[
2436
+ ["PWCHAR","ExeName","in"],
2437
+ ])
2438
+
2439
+ railgun.add_function('kernel32', 'OpenEventA', 'DWORD',[
2440
+ ["DWORD","dwDesiredAccess","in"],
2441
+ ["BOOL","bInheritHandle","in"],
2442
+ ["PCHAR","lpName","in"],
2443
+ ])
2444
+
2445
+ railgun.add_function('kernel32', 'OpenEventW', 'DWORD',[
2446
+ ["DWORD","dwDesiredAccess","in"],
2447
+ ["BOOL","bInheritHandle","in"],
2448
+ ["PWCHAR","lpName","in"],
2449
+ ])
2450
+
2451
+ railgun.add_function('kernel32', 'OpenFile', 'DWORD',[
2452
+ ["PCHAR","lpFileName","in"],
2453
+ ["PBLOB","lpReOpenBuff","inout"],
2454
+ ["DWORD","uStyle","in"],
2455
+ ])
2456
+
2457
+ railgun.add_function('kernel32', 'OpenFileMappingA', 'DWORD',[
2458
+ ["DWORD","dwDesiredAccess","in"],
2459
+ ["BOOL","bInheritHandle","in"],
2460
+ ["PCHAR","lpName","in"],
2461
+ ])
2462
+
2463
+ railgun.add_function('kernel32', 'OpenFileMappingW', 'DWORD',[
2464
+ ["DWORD","dwDesiredAccess","in"],
2465
+ ["BOOL","bInheritHandle","in"],
2466
+ ["PWCHAR","lpName","in"],
2467
+ ])
2468
+
2469
+ railgun.add_function('kernel32', 'OpenJobObjectA', 'DWORD',[
2470
+ ["DWORD","dwDesiredAccess","in"],
2471
+ ["BOOL","bInheritHandle","in"],
2472
+ ["PCHAR","lpName","in"],
2473
+ ])
2474
+
2475
+ railgun.add_function('kernel32', 'OpenJobObjectW', 'DWORD',[
2476
+ ["DWORD","dwDesiredAccess","in"],
2477
+ ["BOOL","bInheritHandle","in"],
2478
+ ["PWCHAR","lpName","in"],
2479
+ ])
2480
+
2481
+ railgun.add_function('kernel32', 'OpenMutexA', 'DWORD',[
2482
+ ["DWORD","dwDesiredAccess","in"],
2483
+ ["BOOL","bInheritHandle","in"],
2484
+ ["PCHAR","lpName","in"],
2485
+ ])
2486
+
2487
+ railgun.add_function('kernel32', 'OpenMutexW', 'DWORD',[
2488
+ ["DWORD","dwDesiredAccess","in"],
2489
+ ["BOOL","bInheritHandle","in"],
2490
+ ["PWCHAR","lpName","in"],
2491
+ ])
2492
+
2493
+ railgun.add_function('kernel32', 'OpenProcess', 'DWORD',[
2494
+ ["DWORD","dwDesiredAccess","in"],
2495
+ ["BOOL","bInheritHandle","in"],
2496
+ ["DWORD","dwProcessId","in"],
2497
+ ])
2498
+
2499
+ railgun.add_function('kernel32', 'OpenSemaphoreA', 'DWORD',[
2500
+ ["DWORD","dwDesiredAccess","in"],
2501
+ ["BOOL","bInheritHandle","in"],
2502
+ ["PCHAR","lpName","in"],
2503
+ ])
2504
+
2505
+ railgun.add_function('kernel32', 'OpenSemaphoreW', 'DWORD',[
2506
+ ["DWORD","dwDesiredAccess","in"],
2507
+ ["BOOL","bInheritHandle","in"],
2508
+ ["PWCHAR","lpName","in"],
2509
+ ])
2510
+
2511
+ railgun.add_function('kernel32', 'OpenThread', 'DWORD',[
2512
+ ["DWORD","dwDesiredAccess","in"],
2513
+ ["BOOL","bInheritHandle","in"],
2514
+ ["DWORD","dwThreadId","in"],
2515
+ ])
2516
+
2517
+ railgun.add_function('kernel32', 'OpenWaitableTimerA', 'DWORD',[
2518
+ ["DWORD","dwDesiredAccess","in"],
2519
+ ["BOOL","bInheritHandle","in"],
2520
+ ["PCHAR","lpTimerName","in"],
2521
+ ])
2522
+
2523
+ railgun.add_function('kernel32', 'OpenWaitableTimerW', 'DWORD',[
2524
+ ["DWORD","dwDesiredAccess","in"],
2525
+ ["BOOL","bInheritHandle","in"],
2526
+ ["PWCHAR","lpTimerName","in"],
2527
+ ])
2528
+
2529
+ railgun.add_function('kernel32', 'OutputDebugStringA', 'VOID',[
2530
+ ["PCHAR","lpOutputString","in"],
2531
+ ])
2532
+
2533
+ railgun.add_function('kernel32', 'OutputDebugStringW', 'VOID',[
2534
+ ["PWCHAR","lpOutputString","in"],
2535
+ ])
2536
+
2537
+ railgun.add_function('kernel32', 'PeekNamedPipe', 'BOOL',[
2538
+ ["HANDLE","hNamedPipe","in"],
2539
+ ["PBLOB","lpBuffer","out"],
2540
+ ["DWORD","nBufferSize","in"],
2541
+ ["PDWORD","lpBytesRead","out"],
2542
+ ["PDWORD","lpTotalBytesAvail","out"],
2543
+ ["PDWORD","lpBytesLeftThisMessage","out"],
2544
+ ])
2545
+
2546
+ railgun.add_function('kernel32', 'PostQueuedCompletionStatus', 'BOOL',[
2547
+ ["DWORD","CompletionPort","in"],
2548
+ ["DWORD","dwNumberOfBytesTransferred","in"],
2549
+ ["PDWORD","dwCompletionKey","in"],
2550
+ ["PBLOB","lpOverlapped","in"],
2551
+ ])
2552
+
2553
+ railgun.add_function('kernel32', 'PrepareTape', 'DWORD',[
2554
+ ["HANDLE","hDevice","in"],
2555
+ ["DWORD","dwOperation","in"],
2556
+ ["BOOL","bImmediate","in"],
2557
+ ])
2558
+
2559
+ railgun.add_function('kernel32', 'ProcessIdToSessionId', 'BOOL',[
2560
+ ["DWORD","dwProcessId","in"],
2561
+ ["PDWORD","pSessionId","out"],
2562
+ ])
2563
+
2564
+ railgun.add_function('kernel32', 'PulseEvent', 'BOOL',[
2565
+ ["HANDLE","hEvent","in"],
2566
+ ])
2567
+
2568
+ railgun.add_function('kernel32', 'PurgeComm', 'BOOL',[
2569
+ ["HANDLE","hFile","in"],
2570
+ ["DWORD","dwFlags","in"],
2571
+ ])
2572
+
2573
+ railgun.add_function('kernel32', 'QueryActCtxW', 'BOOL',[
2574
+ ["DWORD","dwFlags","in"],
2575
+ ["HANDLE","hActCtx","in"],
2576
+ ["PBLOB","pvSubInstance","in"],
2577
+ ["DWORD","ulInfoClass","in"],
2578
+ ["PBLOB","pvBuffer","out"],
2579
+ ["DWORD","cbBuffer","in"],
2580
+ ["PDWORD","pcbWrittenOrRequired","out"],
2581
+ ])
2582
+
2583
+ railgun.add_function('kernel32', 'QueryDepthSList', 'WORD',[
2584
+ ["PBLOB","ListHead","in"],
2585
+ ])
2586
+
2587
+ railgun.add_function('kernel32', 'QueryDosDeviceA', 'DWORD',[
2588
+ ["PCHAR","lpDeviceName","in"],
2589
+ ["PCHAR","lpTargetPath","out"],
2590
+ ["DWORD","ucchMax","in"],
2591
+ ])
2592
+
2593
+ railgun.add_function('kernel32', 'QueryDosDeviceW', 'DWORD',[
2594
+ ["PWCHAR","lpDeviceName","in"],
2595
+ ["PWCHAR","lpTargetPath","out"],
2596
+ ["DWORD","ucchMax","in"],
2597
+ ])
2598
+
2599
+ railgun.add_function('kernel32', 'QueryInformationJobObject', 'BOOL',[
2600
+ ["HANDLE","hJob","in"],
2601
+ ["PBLOB","JobObjectInformationClass","in"],
2602
+ ["PBLOB","lpJobObjectInformation","out"],
2603
+ ["DWORD","cbJobObjectInformationLength","in"],
2604
+ ["PDWORD","lpReturnLength","out"],
2605
+ ])
2606
+
2607
+ railgun.add_function('kernel32', 'QueryMemoryResourceNotification', 'BOOL',[
2608
+ ["DWORD","ResourceNotificationHandle","in"],
2609
+ ["PBLOB","ResourceState","out"],
2610
+ ])
2611
+
2612
+ railgun.add_function('kernel32', 'QueryPerformanceCounter', 'BOOL',[
2613
+ ["PBLOB","lpPerformanceCount","out"],
2614
+ ])
2615
+
2616
+ railgun.add_function('kernel32', 'QueryPerformanceFrequency', 'BOOL',[
2617
+ ["PBLOB","lpFrequency","out"],
2618
+ ])
2619
+
2620
+ railgun.add_function('kernel32', 'QueueUserAPC', 'DWORD',[
2621
+ ["PBLOB","pfnAPC","in"],
2622
+ ["HANDLE","hThread","in"],
2623
+ ["PDWORD","dwData","in"],
2624
+ ])
2625
+
2626
+ railgun.add_function('kernel32', 'QueueUserWorkItem', 'BOOL',[
2627
+ ["PBLOB","Function","in"],
2628
+ ["PBLOB","Context","in"],
2629
+ ["DWORD","Flags","in"],
2630
+ ])
2631
+
2632
+ railgun.add_function('kernel32', 'RaiseException', 'VOID',[
2633
+ ["DWORD","dwExceptionCode","in"],
2634
+ ["DWORD","dwExceptionFlags","in"],
2635
+ ["DWORD","nNumberOfArguments","in"],
2636
+ ["PBLOB","lpArguments","in"],
2637
+ ])
2638
+
2639
+ railgun.add_function('kernel32', 'ReOpenFile', 'DWORD',[
2640
+ ["HANDLE","hOriginalFile","in"],
2641
+ ["DWORD","dwDesiredAccess","in"],
2642
+ ["DWORD","dwShareMode","in"],
2643
+ ["DWORD","dwFlagsAndAttributes","in"],
2644
+ ])
2645
+
2646
+ railgun.add_function('kernel32', 'ReadDirectoryChangesW', 'BOOL',[
2647
+ ["HANDLE","hDirectory","in"],
2648
+ ["PBLOB","lpBuffer","out"],
2649
+ ["DWORD","nBufferLength","in"],
2650
+ ["BOOL","bWatchSubtree","in"],
2651
+ ["DWORD","dwNotifyFilter","in"],
2652
+ ["PDWORD","lpBytesReturned","out"],
2653
+ ["PBLOB","lpOverlapped","inout"],
2654
+ ["PBLOB","lpCompletionRoutine","in"],
2655
+ ])
2656
+
2657
+ railgun.add_function('kernel32', 'ReadFile', 'BOOL',[
2658
+ ["HANDLE","hFile","in"],
2659
+ ["PBLOB","lpBuffer","out"],
2660
+ ["DWORD","nNumberOfBytesToRead","in"],
2661
+ ["PDWORD","lpNumberOfBytesRead","out"],
2662
+ ["PBLOB","lpOverlapped","inout"],
2663
+ ])
2664
+
2665
+ railgun.add_function('kernel32', 'ReadFileEx', 'BOOL',[
2666
+ ["HANDLE","hFile","in"],
2667
+ ["PBLOB","lpBuffer","out"],
2668
+ ["DWORD","nNumberOfBytesToRead","in"],
2669
+ ["PBLOB","lpOverlapped","inout"],
2670
+ ["PBLOB","lpCompletionRoutine","in"],
2671
+ ])
2672
+
2673
+ railgun.add_function('kernel32', 'ReadFileScatter', 'BOOL',[
2674
+ ["HANDLE","hFile","in"],
2675
+ ["PBLOB","aSegmentArray[]","in"],
2676
+ ["DWORD","nNumberOfBytesToRead","in"],
2677
+ ["PDWORD","lpReserved","inout"],
2678
+ ["PBLOB","lpOverlapped","inout"],
2679
+ ])
2680
+
2681
+ railgun.add_function('kernel32', 'ReadProcessMemory', 'BOOL',[
2682
+ ["HANDLE","hProcess","in"],
2683
+ ["PBLOB","lpBaseAddress","in"],
2684
+ ["PBLOB","lpBuffer","out"],
2685
+ ["DWORD","nSize","in"],
2686
+ ["PDWORD","lpNumberOfBytesRead","out"],
2687
+ ])
2688
+
2689
+ railgun.add_function('kernel32', 'RegisterWaitForSingleObject', 'BOOL',[
2690
+ ["PDWORD","phNewWaitObject","out"],
2691
+ ["HANDLE","hObject","in"],
2692
+ ["PBLOB","Callback","in"],
2693
+ ["PBLOB","Context","in"],
2694
+ ["DWORD","dwMilliseconds","in"],
2695
+ ["DWORD","dwFlags","in"],
2696
+ ])
2697
+
2698
+ railgun.add_function('kernel32', 'RegisterWaitForSingleObjectEx', 'DWORD',[
2699
+ ["HANDLE","hObject","in"],
2700
+ ["PBLOB","Callback","in"],
2701
+ ["PBLOB","Context","in"],
2702
+ ["DWORD","dwMilliseconds","in"],
2703
+ ["DWORD","dwFlags","in"],
2704
+ ])
2705
+
2706
+ railgun.add_function('kernel32', 'ReleaseActCtx', 'VOID',[
2707
+ ["HANDLE","hActCtx","inout"],
2708
+ ])
2709
+
2710
+ railgun.add_function('kernel32', 'ReleaseMutex', 'BOOL',[
2711
+ ["HANDLE","hMutex","in"],
2712
+ ])
2713
+
2714
+ railgun.add_function('kernel32', 'ReleaseSemaphore', 'BOOL',[
2715
+ ["HANDLE","hSemaphore","in"],
2716
+ ["DWORD","lReleaseCount","in"],
2717
+ ["PBLOB","lpPreviousCount","out"],
2718
+ ])
2719
+
2720
+ railgun.add_function('kernel32', 'RemoveDirectoryA', 'BOOL',[
2721
+ ["PCHAR","lpPathName","in"],
2722
+ ])
2723
+
2724
+ railgun.add_function('kernel32', 'RemoveDirectoryW', 'BOOL',[
2725
+ ["PWCHAR","lpPathName","in"],
2726
+ ])
2727
+
2728
+ railgun.add_function('kernel32', 'RemoveVectoredContinueHandler', 'DWORD',[
2729
+ ["PBLOB","Handle","in"],
2730
+ ])
2731
+
2732
+ railgun.add_function('kernel32', 'RemoveVectoredExceptionHandler', 'DWORD',[
2733
+ ["PBLOB","Handle","in"],
2734
+ ])
2735
+
2736
+ railgun.add_function('kernel32', 'ReplaceFileA', 'BOOL',[
2737
+ ["PCHAR","lpReplacedFileName","in"],
2738
+ ["PCHAR","lpReplacementFileName","in"],
2739
+ ["PCHAR","lpBackupFileName","in"],
2740
+ ["DWORD","dwReplaceFlags","in"],
2741
+ ["PBLOB","lpExclude","inout"],
2742
+ ["PBLOB","lpReserved","inout"],
2743
+ ])
2744
+
2745
+ railgun.add_function('kernel32', 'ReplaceFileW', 'BOOL',[
2746
+ ["PWCHAR","lpReplacedFileName","in"],
2747
+ ["PWCHAR","lpReplacementFileName","in"],
2748
+ ["PWCHAR","lpBackupFileName","in"],
2749
+ ["DWORD","dwReplaceFlags","in"],
2750
+ ["PBLOB","lpExclude","inout"],
2751
+ ["PBLOB","lpReserved","inout"],
2752
+ ])
2753
+
2754
+ railgun.add_function('kernel32', 'RequestDeviceWakeup', 'BOOL',[
2755
+ ["HANDLE","hDevice","in"],
2756
+ ])
2757
+
2758
+ railgun.add_function('kernel32', 'RequestWakeupLatency', 'BOOL',[
2759
+ ["PBLOB","latency","in"],
2760
+ ])
2761
+
2762
+ railgun.add_function('kernel32', 'ResetEvent', 'BOOL',[
2763
+ ["HANDLE","hEvent","in"],
2764
+ ])
2765
+
2766
+ railgun.add_function('kernel32', 'ResetWriteWatch', 'DWORD',[
2767
+ ["PBLOB","lpBaseAddress","in"],
2768
+ ["DWORD","dwRegionSize","in"],
2769
+ ])
2770
+
2771
+ railgun.add_function('kernel32', 'RestoreLastError', 'VOID',[
2772
+ ["DWORD","dwErrCode","in"],
2773
+ ])
2774
+
2775
+ railgun.add_function('kernel32', 'ResumeThread', 'DWORD',[
2776
+ ["HANDLE","hThread","in"],
2777
+ ])
2778
+
2779
+ railgun.add_function('kernel32', 'SearchPathA', 'DWORD',[
2780
+ ["PCHAR","lpPath","in"],
2781
+ ["PCHAR","lpFileName","in"],
2782
+ ["PCHAR","lpExtension","in"],
2783
+ ["DWORD","nBufferLength","in"],
2784
+ ["PCHAR","lpBuffer","out"],
2785
+ ["PBLOB","lpFilePart","out"],
2786
+ ])
2787
+
2788
+ railgun.add_function('kernel32', 'SearchPathW', 'DWORD',[
2789
+ ["PWCHAR","lpPath","in"],
2790
+ ["PWCHAR","lpFileName","in"],
2791
+ ["PWCHAR","lpExtension","in"],
2792
+ ["DWORD","nBufferLength","in"],
2793
+ ["PWCHAR","lpBuffer","out"],
2794
+ ["PBLOB","lpFilePart","out"],
2795
+ ])
2796
+
2797
+ railgun.add_function('kernel32', 'SetCommBreak', 'BOOL',[
2798
+ ["HANDLE","hFile","in"],
2799
+ ])
2800
+
2801
+ railgun.add_function('kernel32', 'SetCommConfig', 'BOOL',[
2802
+ ["HANDLE","hCommDev","in"],
2803
+ ["PBLOB","lpCC","in"],
2804
+ ["DWORD","dwSize","in"],
2805
+ ])
2806
+
2807
+ railgun.add_function('kernel32', 'SetCommMask', 'BOOL',[
2808
+ ["HANDLE","hFile","in"],
2809
+ ["DWORD","dwEvtMask","in"],
2810
+ ])
2811
+
2812
+ railgun.add_function('kernel32', 'SetCommState', 'BOOL',[
2813
+ ["HANDLE","hFile","in"],
2814
+ ["PBLOB","lpDCB","in"],
2815
+ ])
2816
+
2817
+ railgun.add_function('kernel32', 'SetCommTimeouts', 'BOOL',[
2818
+ ["HANDLE","hFile","in"],
2819
+ ["PBLOB","lpCommTimeouts","in"],
2820
+ ])
2821
+
2822
+ railgun.add_function('kernel32', 'SetComputerNameA', 'BOOL',[
2823
+ ["PCHAR","lpComputerName","in"],
2824
+ ])
2825
+
2826
+ railgun.add_function('kernel32', 'SetComputerNameExA', 'BOOL',[
2827
+ ["DWORD","NameType","in"],
2828
+ ["PCHAR","lpBuffer","in"],
2829
+ ])
2830
+
2831
+ railgun.add_function('kernel32', 'SetComputerNameExW', 'BOOL',[
2832
+ ["DWORD","NameType","in"],
2833
+ ["PWCHAR","lpBuffer","in"],
2834
+ ])
2835
+
2836
+ railgun.add_function('kernel32', 'SetComputerNameW', 'BOOL',[
2837
+ ["PWCHAR","lpComputerName","in"],
2838
+ ])
2839
+
2840
+ railgun.add_function('kernel32', 'SetCriticalSectionSpinCount', 'DWORD',[
2841
+ ["PBLOB","lpCriticalSection","inout"],
2842
+ ["DWORD","dwSpinCount","in"],
2843
+ ])
2844
+
2845
+ railgun.add_function('kernel32', 'SetCurrentDirectoryA', 'BOOL',[
2846
+ ["PCHAR","lpPathName","in"],
2847
+ ])
2848
+
2849
+ railgun.add_function('kernel32', 'SetCurrentDirectoryW', 'BOOL',[
2850
+ ["PWCHAR","lpPathName","in"],
2851
+ ])
2852
+
2853
+ railgun.add_function('kernel32', 'SetDefaultCommConfigA', 'BOOL',[
2854
+ ["PCHAR","lpszName","in"],
2855
+ ["PBLOB","lpCC","in"],
2856
+ ["DWORD","dwSize","in"],
2857
+ ])
2858
+
2859
+ railgun.add_function('kernel32', 'SetDefaultCommConfigW', 'BOOL',[
2860
+ ["PWCHAR","lpszName","in"],
2861
+ ["PBLOB","lpCC","in"],
2862
+ ["DWORD","dwSize","in"],
2863
+ ])
2864
+
2865
+ railgun.add_function('kernel32', 'SetDllDirectoryA', 'BOOL',[
2866
+ ["PCHAR","lpPathName","in"],
2867
+ ])
2868
+
2869
+ railgun.add_function('kernel32', 'SetDllDirectoryW', 'BOOL',[
2870
+ ["PWCHAR","lpPathName","in"],
2871
+ ])
2872
+
2873
+ railgun.add_function('kernel32', 'SetEndOfFile', 'BOOL',[
2874
+ ["HANDLE","hFile","in"],
2875
+ ])
2876
+
2877
+ railgun.add_function('kernel32', 'SetEnvironmentStringsA', 'BOOL',[
2878
+ ["PBLOB","NewEnvironment","in"],
2879
+ ])
2880
+
2881
+ railgun.add_function('kernel32', 'SetEnvironmentStringsW', 'BOOL',[
2882
+ ["PBLOB","NewEnvironment","in"],
2883
+ ])
2884
+
2885
+ railgun.add_function('kernel32', 'SetEnvironmentVariableA', 'BOOL',[
2886
+ ["PCHAR","lpName","in"],
2887
+ ["PCHAR","lpValue","in"],
2888
+ ])
2889
+
2890
+ railgun.add_function('kernel32', 'SetEnvironmentVariableW', 'BOOL',[
2891
+ ["PWCHAR","lpName","in"],
2892
+ ["PWCHAR","lpValue","in"],
2893
+ ])
2894
+
2895
+ railgun.add_function('kernel32', 'SetErrorMode', 'DWORD',[
2896
+ ["DWORD","uMode","in"],
2897
+ ])
2898
+
2899
+ railgun.add_function('kernel32', 'SetEvent', 'BOOL',[
2900
+ ["HANDLE","hEvent","in"],
2901
+ ])
2902
+
2903
+ railgun.add_function('kernel32', 'SetFileApisToANSI', 'VOID',[
2904
+ ])
2905
+
2906
+ railgun.add_function('kernel32', 'SetFileApisToOEM', 'VOID',[
2907
+ ])
2908
+
2909
+ railgun.add_function('kernel32', 'SetFileAttributesA', 'BOOL',[
2910
+ ["PCHAR","lpFileName","in"],
2911
+ ["DWORD","dwFileAttributes","in"],
2912
+ ])
2913
+
2914
+ railgun.add_function('kernel32', 'SetFileAttributesW', 'BOOL',[
2915
+ ["PWCHAR","lpFileName","in"],
2916
+ ["DWORD","dwFileAttributes","in"],
2917
+ ])
2918
+
2919
+ railgun.add_function('kernel32', 'SetFilePointer', 'DWORD',[
2920
+ ["HANDLE","hFile","in"],
2921
+ ["DWORD","lDistanceToMove","in"],
2922
+ ["PDWORD","lpDistanceToMoveHigh","in"],
2923
+ ["DWORD","dwMoveMethod","in"],
2924
+ ])
2925
+
2926
+ railgun.add_function('kernel32', 'SetFilePointerEx', 'BOOL',[
2927
+ ["HANDLE","hFile","in"],
2928
+ ["PBLOB","liDistanceToMove","in"],
2929
+ ["PBLOB","lpNewFilePointer","out"],
2930
+ ["DWORD","dwMoveMethod","in"],
2931
+ ])
2932
+
2933
+ railgun.add_function('kernel32', 'SetFileShortNameA', 'BOOL',[
2934
+ ["HANDLE","hFile","in"],
2935
+ ["PCHAR","lpShortName","in"],
2936
+ ])
2937
+
2938
+ railgun.add_function('kernel32', 'SetFileShortNameW', 'BOOL',[
2939
+ ["HANDLE","hFile","in"],
2940
+ ["PWCHAR","lpShortName","in"],
2941
+ ])
2942
+
2943
+ railgun.add_function('kernel32', 'SetFileTime', 'BOOL',[
2944
+ ["HANDLE","hFile","in"],
2945
+ ["PBLOB","lpCreationTime","in"],
2946
+ ["PBLOB","lpLastAccessTime","in"],
2947
+ ["PBLOB","lpLastWriteTime","in"],
2948
+ ])
2949
+
2950
+ railgun.add_function('kernel32', 'SetFileValidData', 'BOOL',[
2951
+ ["HANDLE","hFile","in"],
2952
+ ["PBLOB","ValidDataLength","in"],
2953
+ ])
2954
+
2955
+ railgun.add_function('kernel32', 'SetFirmwareEnvironmentVariableA', 'BOOL',[
2956
+ ["PCHAR","lpName","in"],
2957
+ ["PCHAR","lpGuid","in"],
2958
+ ["PBLOB","pValue","in"],
2959
+ ["DWORD","nSize","in"],
2960
+ ])
2961
+
2962
+ railgun.add_function('kernel32', 'SetFirmwareEnvironmentVariableW', 'BOOL',[
2963
+ ["PWCHAR","lpName","in"],
2964
+ ["PWCHAR","lpGuid","in"],
2965
+ ["PBLOB","pValue","in"],
2966
+ ["DWORD","nSize","in"],
2967
+ ])
2968
+
2969
+ railgun.add_function('kernel32', 'SetHandleCount', 'DWORD',[
2970
+ ["DWORD","uNumber","in"],
2971
+ ])
2972
+
2973
+ railgun.add_function('kernel32', 'SetHandleInformation', 'BOOL',[
2974
+ ["HANDLE","hObject","in"],
2975
+ ["DWORD","dwMask","in"],
2976
+ ["DWORD","dwFlags","in"],
2977
+ ])
2978
+
2979
+ railgun.add_function('kernel32', 'SetInformationJobObject', 'BOOL',[
2980
+ ["HANDLE","hJob","in"],
2981
+ ["PBLOB","JobObjectInformationClass","in"],
2982
+ ["PBLOB","lpJobObjectInformation","in"],
2983
+ ["DWORD","cbJobObjectInformationLength","in"],
2984
+ ])
2985
+
2986
+ railgun.add_function('kernel32', 'SetLastError', 'VOID',[
2987
+ ["DWORD","dwErrCode","in"],
2988
+ ])
2989
+
2990
+ railgun.add_function('kernel32', 'SetLocalTime', 'BOOL',[
2991
+ ["PBLOB","lpSystemTime","in"],
2992
+ ])
2993
+
2994
+ railgun.add_function('kernel32', 'SetMailslotInfo', 'BOOL',[
2995
+ ["HANDLE","hMailslot","in"],
2996
+ ["DWORD","lReadTimeout","in"],
2997
+ ])
2998
+
2999
+ railgun.add_function('kernel32', 'SetMessageWaitingIndicator', 'BOOL',[
3000
+ ["HANDLE","hMsgIndicator","in"],
3001
+ ["DWORD","ulMsgCount","in"],
3002
+ ])
3003
+
3004
+ railgun.add_function('kernel32', 'SetNamedPipeHandleState', 'BOOL',[
3005
+ ["HANDLE","hNamedPipe","in"],
3006
+ ["PDWORD","lpMode","in"],
3007
+ ["PDWORD","lpMaxCollectionCount","in"],
3008
+ ["PDWORD","lpCollectDataTimeout","in"],
3009
+ ])
3010
+
3011
+ railgun.add_function('kernel32', 'SetPriorityClass', 'BOOL',[
3012
+ ["HANDLE","hProcess","in"],
3013
+ ["DWORD","dwPriorityClass","in"],
3014
+ ])
3015
+
3016
+ railgun.add_function('kernel32', 'SetProcessAffinityMask', 'BOOL',[
3017
+ ["HANDLE","hProcess","in"],
3018
+ ["PDWORD","dwProcessAffinityMask","in"],
3019
+ ])
3020
+
3021
+ railgun.add_function('kernel32', 'SetProcessPriorityBoost', 'BOOL',[
3022
+ ["HANDLE","hProcess","in"],
3023
+ ["BOOL","bDisablePriorityBoost","in"],
3024
+ ])
3025
+
3026
+ railgun.add_function('kernel32', 'SetProcessShutdownParameters', 'BOOL',[
3027
+ ["DWORD","dwLevel","in"],
3028
+ ["DWORD","dwFlags","in"],
3029
+ ])
3030
+
3031
+ railgun.add_function('kernel32', 'SetProcessWorkingSetSize', 'BOOL',[
3032
+ ["HANDLE","hProcess","in"],
3033
+ ["DWORD","dwMinimumWorkingSetSize","in"],
3034
+ ["DWORD","dwMaximumWorkingSetSize","in"],
3035
+ ])
3036
+
3037
+ railgun.add_function('kernel32', 'SetProcessWorkingSetSizeEx', 'BOOL',[
3038
+ ["HANDLE","hProcess","in"],
3039
+ ["DWORD","dwMinimumWorkingSetSize","in"],
3040
+ ["DWORD","dwMaximumWorkingSetSize","in"],
3041
+ ["DWORD","Flags","in"],
3042
+ ])
3043
+
3044
+ railgun.add_function('kernel32', 'SetStdHandle', 'BOOL',[
3045
+ ["DWORD","nStdHandle","in"],
3046
+ ["HANDLE","hHandle","in"],
3047
+ ])
3048
+
3049
+ railgun.add_function('kernel32', 'SetSystemFileCacheSize', 'BOOL',[
3050
+ ["DWORD","MinimumFileCacheSize","in"],
3051
+ ["DWORD","MaximumFileCacheSize","in"],
3052
+ ["DWORD","Flags","in"],
3053
+ ])
3054
+
3055
+ railgun.add_function('kernel32', 'SetSystemPowerState', 'BOOL',[
3056
+ ["BOOL","fSuspend","in"],
3057
+ ["BOOL","fForce","in"],
3058
+ ])
3059
+
3060
+ railgun.add_function('kernel32', 'SetSystemTime', 'BOOL',[
3061
+ ["PBLOB","lpSystemTime","in"],
3062
+ ])
3063
+
3064
+ railgun.add_function('kernel32', 'SetSystemTimeAdjustment', 'BOOL',[
3065
+ ["DWORD","dwTimeAdjustment","in"],
3066
+ ["BOOL","bTimeAdjustmentDisabled","in"],
3067
+ ])
3068
+
3069
+ railgun.add_function('kernel32', 'SetTapeParameters', 'DWORD',[
3070
+ ["HANDLE","hDevice","in"],
3071
+ ["DWORD","dwOperation","in"],
3072
+ ["PBLOB","lpTapeInformation","in"],
3073
+ ])
3074
+
3075
+ railgun.add_function('kernel32', 'SetTapePosition', 'DWORD',[
3076
+ ["HANDLE","hDevice","in"],
3077
+ ["DWORD","dwPositionMethod","in"],
3078
+ ["DWORD","dwPartition","in"],
3079
+ ["DWORD","dwOffsetLow","in"],
3080
+ ["DWORD","dwOffsetHigh","in"],
3081
+ ["BOOL","bImmediate","in"],
3082
+ ])
3083
+
3084
+ #railgun.add_function('kernel32', 'SetThreadAffinityMask', 'PDWORD',[
3085
+ # ["HANDLE","hThread","in"],
3086
+ # ["PDWORD","dwThreadAffinityMask","in"],
3087
+ # ])
3088
+
3089
+ railgun.add_function('kernel32', 'SetThreadContext', 'BOOL',[
3090
+ ["HANDLE","hThread","in"],
3091
+ ["PBLOB","lpContext","in"],
3092
+ ])
3093
+
3094
+ railgun.add_function('kernel32', 'SetThreadExecutionState', 'DWORD',[
3095
+ ["DWORD","esFlags","in"],
3096
+ ])
3097
+
3098
+ railgun.add_function('kernel32', 'SetThreadIdealProcessor', 'DWORD',[
3099
+ ["HANDLE","hThread","in"],
3100
+ ["DWORD","dwIdealProcessor","in"],
3101
+ ])
3102
+
3103
+ railgun.add_function('kernel32', 'SetThreadPriority', 'BOOL',[
3104
+ ["HANDLE","hThread","in"],
3105
+ ["DWORD","nPriority","in"],
3106
+ ])
3107
+
3108
+ railgun.add_function('kernel32', 'SetThreadPriorityBoost', 'BOOL',[
3109
+ ["HANDLE","hThread","in"],
3110
+ ["BOOL","bDisablePriorityBoost","in"],
3111
+ ])
3112
+
3113
+ railgun.add_function('kernel32', 'SetThreadStackGuarantee', 'BOOL',[
3114
+ ["PDWORD","StackSizeInBytes","inout"],
3115
+ ])
3116
+
3117
+ railgun.add_function('kernel32', 'SetTimeZoneInformation', 'BOOL',[
3118
+ ["PBLOB","lpTimeZoneInformation","in"],
3119
+ ])
3120
+
3121
+ railgun.add_function('kernel32', 'SetTimerQueueTimer', 'DWORD',[
3122
+ ["DWORD","TimerQueue","in"],
3123
+ ["PBLOB","Callback","in"],
3124
+ ["PBLOB","Parameter","in"],
3125
+ ["DWORD","DueTime","in"],
3126
+ ["DWORD","Period","in"],
3127
+ ["BOOL","PreferIo","in"],
3128
+ ])
3129
+
3130
+ railgun.add_function('kernel32', 'SetUnhandledExceptionFilter', 'LPVOID',[
3131
+ ["PBLOB","lpTopLevelExceptionFilter","in"],
3132
+ ])
3133
+
3134
+ railgun.add_function('kernel32', 'SetVolumeLabelA', 'BOOL',[
3135
+ ["PCHAR","lpRootPathName","in"],
3136
+ ["PCHAR","lpVolumeName","in"],
3137
+ ])
3138
+
3139
+ railgun.add_function('kernel32', 'SetVolumeLabelW', 'BOOL',[
3140
+ ["PWCHAR","lpRootPathName","in"],
3141
+ ["PWCHAR","lpVolumeName","in"],
3142
+ ])
3143
+
3144
+ railgun.add_function('kernel32', 'SetVolumeMountPointA', 'BOOL',[
3145
+ ["PCHAR","lpszVolumeMountPoint","in"],
3146
+ ["PCHAR","lpszVolumeName","in"],
3147
+ ])
3148
+
3149
+ railgun.add_function('kernel32', 'SetVolumeMountPointW', 'BOOL',[
3150
+ ["PWCHAR","lpszVolumeMountPoint","in"],
3151
+ ["PWCHAR","lpszVolumeName","in"],
3152
+ ])
3153
+
3154
+ railgun.add_function('kernel32', 'SetWaitableTimer', 'BOOL',[
3155
+ ["HANDLE","hTimer","in"],
3156
+ ["PBLOB","lpDueTime","in"],
3157
+ ["DWORD","lPeriod","in"],
3158
+ ["PBLOB","pfnCompletionRoutine","in"],
3159
+ ["PBLOB","lpArgToCompletionRoutine","in"],
3160
+ ["BOOL","fResume","in"],
3161
+ ])
3162
+
3163
+ railgun.add_function('kernel32', 'SetupComm', 'BOOL',[
3164
+ ["HANDLE","hFile","in"],
3165
+ ["DWORD","dwInQueue","in"],
3166
+ ["DWORD","dwOutQueue","in"],
3167
+ ])
3168
+
3169
+ railgun.add_function('kernel32', 'SignalObjectAndWait', 'DWORD',[
3170
+ ["HANDLE","hObjectToSignal","in"],
3171
+ ["HANDLE","hObjectToWaitOn","in"],
3172
+ ["DWORD","dwMilliseconds","in"],
3173
+ ["BOOL","bAlertable","in"],
3174
+ ])
3175
+
3176
+ railgun.add_function('kernel32', 'SizeofResource', 'DWORD',[
3177
+ ["HANDLE","hModule","in"],
3178
+ ["HANDLE","hResInfo","in"],
3179
+ ])
3180
+
3181
+ railgun.add_function('kernel32', 'Sleep', 'VOID',[
3182
+ ["DWORD","dwMilliseconds","in"],
3183
+ ])
3184
+
3185
+ railgun.add_function('kernel32', 'SleepEx', 'DWORD',[
3186
+ ["DWORD","dwMilliseconds","in"],
3187
+ ["BOOL","bAlertable","in"],
3188
+ ])
3189
+
3190
+ railgun.add_function('kernel32', 'SuspendThread', 'DWORD',[
3191
+ ["HANDLE","hThread","in"],
3192
+ ])
3193
+
3194
+ railgun.add_function('kernel32', 'SwitchToFiber', 'VOID',[
3195
+ ["PBLOB","lpFiber","in"],
3196
+ ])
3197
+
3198
+ railgun.add_function('kernel32', 'SwitchToThread', 'BOOL',[
3199
+ ])
3200
+
3201
+ railgun.add_function('kernel32', 'SystemTimeToFileTime', 'BOOL',[
3202
+ ["PBLOB","lpSystemTime","in"],
3203
+ ["PBLOB","lpFileTime","out"],
3204
+ ])
3205
+
3206
+ railgun.add_function('kernel32', 'SystemTimeToTzSpecificLocalTime', 'BOOL',[
3207
+ ["PBLOB","lpTimeZoneInformation","in"],
3208
+ ["PBLOB","lpUniversalTime","in"],
3209
+ ["PBLOB","lpLocalTime","out"],
3210
+ ])
3211
+
3212
+ railgun.add_function('kernel32', 'TerminateJobObject', 'BOOL',[
3213
+ ["HANDLE","hJob","in"],
3214
+ ["DWORD","uExitCode","in"],
3215
+ ])
3216
+
3217
+ railgun.add_function('kernel32', 'TerminateProcess', 'BOOL',[
3218
+ ["HANDLE","hProcess","in"],
3219
+ ["DWORD","uExitCode","in"],
3220
+ ])
3221
+
3222
+ railgun.add_function('kernel32', 'TerminateThread', 'BOOL',[
3223
+ ["HANDLE","hThread","in"],
3224
+ ["DWORD","dwExitCode","in"],
3225
+ ])
3226
+
3227
+ railgun.add_function('kernel32', 'TlsAlloc', 'DWORD',[
3228
+ ])
3229
+
3230
+ railgun.add_function('kernel32', 'TlsFree', 'BOOL',[
3231
+ ["DWORD","dwTlsIndex","in"],
3232
+ ])
3233
+
3234
+ railgun.add_function('kernel32', 'TlsGetValue', 'LPVOID',[
3235
+ ["DWORD","dwTlsIndex","in"],
3236
+ ])
3237
+
3238
+ railgun.add_function('kernel32', 'TlsSetValue', 'BOOL',[
3239
+ ["DWORD","dwTlsIndex","in"],
3240
+ ["PBLOB","lpTlsValue","in"],
3241
+ ])
3242
+
3243
+ railgun.add_function('kernel32', 'TransactNamedPipe', 'BOOL',[
3244
+ ["HANDLE","hNamedPipe","in"],
3245
+ ["PBLOB","lpInBuffer","in"],
3246
+ ["DWORD","nInBufferSize","in"],
3247
+ ["PBLOB","lpOutBuffer","out"],
3248
+ ["DWORD","nOutBufferSize","in"],
3249
+ ["PDWORD","lpBytesRead","out"],
3250
+ ["PBLOB","lpOverlapped","inout"],
3251
+ ])
3252
+
3253
+ railgun.add_function('kernel32', 'TransmitCommChar', 'BOOL',[
3254
+ ["HANDLE","hFile","in"],
3255
+ ["BYTE","cChar","in"],
3256
+ ])
3257
+
3258
+ railgun.add_function('kernel32', 'TryEnterCriticalSection', 'BOOL',[
3259
+ ["PBLOB","lpCriticalSection","inout"],
3260
+ ])
3261
+
3262
+ railgun.add_function('kernel32', 'TzSpecificLocalTimeToSystemTime', 'BOOL',[
3263
+ ["PBLOB","lpTimeZoneInformation","in"],
3264
+ ["PBLOB","lpLocalTime","in"],
3265
+ ["PBLOB","lpUniversalTime","out"],
3266
+ ])
3267
+
3268
+ railgun.add_function('kernel32', 'UnhandledExceptionFilter', 'DWORD',[
3269
+ ["PBLOB","ExceptionInfo","in"],
3270
+ ])
3271
+
3272
+ railgun.add_function('kernel32', 'UnlockFile', 'BOOL',[
3273
+ ["HANDLE","hFile","in"],
3274
+ ["DWORD","dwFileOffsetLow","in"],
3275
+ ["DWORD","dwFileOffsetHigh","in"],
3276
+ ["DWORD","nNumberOfBytesToUnlockLow","in"],
3277
+ ["DWORD","nNumberOfBytesToUnlockHigh","in"],
3278
+ ])
3279
+
3280
+ railgun.add_function('kernel32', 'UnlockFileEx', 'BOOL',[
3281
+ ["HANDLE","hFile","in"],
3282
+ ["DWORD","dwReserved","inout"],
3283
+ ["DWORD","nNumberOfBytesToUnlockLow","in"],
3284
+ ["DWORD","nNumberOfBytesToUnlockHigh","in"],
3285
+ ["PBLOB","lpOverlapped","inout"],
3286
+ ])
3287
+
3288
+ railgun.add_function('kernel32', 'UnmapViewOfFile', 'BOOL',[
3289
+ ["PBLOB","lpBaseAddress","in"],
3290
+ ])
3291
+
3292
+ railgun.add_function('kernel32', 'UnregisterWait', 'BOOL',[
3293
+ ["DWORD","WaitHandle","in"],
3294
+ ])
3295
+
3296
+ railgun.add_function('kernel32', 'UnregisterWaitEx', 'BOOL',[
3297
+ ["DWORD","WaitHandle","in"],
3298
+ ["DWORD","CompletionEvent","in"],
3299
+ ])
3300
+
3301
+ railgun.add_function('kernel32', 'UpdateResourceA', 'BOOL',[
3302
+ ["HANDLE","hUpdate","in"],
3303
+ ["PCHAR","lpType","in"],
3304
+ ["PCHAR","lpName","in"],
3305
+ ["WORD","wLanguage","in"],
3306
+ ["PBLOB","lpData","in"],
3307
+ ["DWORD","cb","in"],
3308
+ ])
3309
+
3310
+ railgun.add_function('kernel32', 'UpdateResourceW', 'BOOL',[
3311
+ ["HANDLE","hUpdate","in"],
3312
+ ["PWCHAR","lpType","in"],
3313
+ ["PWCHAR","lpName","in"],
3314
+ ["WORD","wLanguage","in"],
3315
+ ["PBLOB","lpData","in"],
3316
+ ["DWORD","cb","in"],
3317
+ ])
3318
+
3319
+ railgun.add_function('kernel32', 'VerifyVersionInfoA', 'BOOL',[
3320
+ ["PBLOB","lpVersionInformation","inout"],
3321
+ ["DWORD","dwTypeMask","in"],
3322
+ ["PBLOB","dwlConditionMask","in"],
3323
+ ])
3324
+
3325
+ railgun.add_function('kernel32', 'VerifyVersionInfoW', 'BOOL',[
3326
+ ["PBLOB","lpVersionInformation","inout"],
3327
+ ["DWORD","dwTypeMask","in"],
3328
+ ["PBLOB","dwlConditionMask","in"],
3329
+ ])
3330
+
3331
+ railgun.add_function('kernel32', 'VirtualAlloc', 'LPVOID',[
3332
+ ["LPVOID","lpAddress","in"],
3333
+ ["DWORD","dwSize","in"],
3334
+ ["DWORD","flAllocationType","in"],
3335
+ ["DWORD","flProtect","in"],
3336
+ ])
3337
+
3338
+ railgun.add_function('kernel32', 'VirtualAllocEx', 'LPVOID',[
3339
+ ["HANDLE","hProcess","in"],
3340
+ ["LPVOID","lpAddress","in"],
3341
+ ["DWORD","dwSize","in"],
3342
+ ["DWORD","flAllocationType","in"],
3343
+ ["DWORD","flProtect","in"],
3344
+ ])
3345
+
3346
+ railgun.add_function('kernel32', 'VirtualFree', 'BOOL',[
3347
+ ["LPVOID","lpAddress","in"],
3348
+ ["DWORD","dwSize","in"],
3349
+ ["DWORD","dwFreeType","in"],
3350
+ ])
3351
+
3352
+ railgun.add_function('kernel32', 'VirtualFreeEx', 'BOOL',[
3353
+ ["HANDLE","hProcess","in"],
3354
+ ["LPVOID","lpAddress","in"],
3355
+ ["DWORD","dwSize","in"],
3356
+ ["DWORD","dwFreeType","in"],
3357
+ ])
3358
+
3359
+ railgun.add_function('kernel32', 'VirtualLock', 'BOOL',[
3360
+ ["LPVOID","lpAddress","in"],
3361
+ ["DWORD","dwSize","in"],
3362
+ ])
3363
+
3364
+ railgun.add_function('kernel32', 'VirtualProtect', 'BOOL',[
3365
+ ["LPVOID","lpAddress","in"],
3366
+ ["DWORD","dwSize","in"],
3367
+ ["DWORD","flNewProtect","in"],
3368
+ ["PDWORD","lpflOldProtect","out"],
3369
+ ])
3370
+
3371
+ railgun.add_function('kernel32', 'VirtualProtectEx', 'BOOL',[
3372
+ ["HANDLE","hProcess","in"],
3373
+ ["LPVOID","lpAddress","in"],
3374
+ ["DWORD","dwSize","in"],
3375
+ ["DWORD","flNewProtect","in"],
3376
+ ["PDWORD","lpflOldProtect","out"],
3377
+ ])
3378
+
3379
+ railgun.add_function('kernel32', 'VirtualQuery', 'DWORD',[
3380
+ ["LPVOID","lpAddress","in"],
3381
+ ["PBLOB","lpBuffer","out"],
3382
+ ["DWORD","dwLength","in"],
3383
+ ])
3384
+
3385
+ railgun.add_function('kernel32', 'VirtualQueryEx', 'DWORD',[
3386
+ ["HANDLE","hProcess","in"],
3387
+ ["LPVOID","lpAddress","in"],
3388
+ ["PBLOB","lpBuffer","out"],
3389
+ ["DWORD","dwLength","in"],
3390
+ ])
3391
+
3392
+ railgun.add_function('kernel32', 'VirtualUnlock', 'BOOL',[
3393
+ ["LPVOID","lpAddress","in"],
3394
+ ["DWORD","dwSize","in"],
3395
+ ])
3396
+
3397
+ railgun.add_function('kernel32', 'WTSGetActiveConsoleSessionId', 'DWORD',[
3398
+ ])
3399
+
3400
+ railgun.add_function('kernel32', 'WaitCommEvent', 'BOOL',[
3401
+ ["HANDLE","hFile","in"],
3402
+ ["PDWORD","lpEvtMask","inout"],
3403
+ ["PBLOB","lpOverlapped","inout"],
3404
+ ])
3405
+
3406
+ railgun.add_function('kernel32', 'WaitForDebugEvent', 'BOOL',[
3407
+ ["PBLOB","lpDebugEvent","in"],
3408
+ ["DWORD","dwMilliseconds","in"],
3409
+ ])
3410
+
3411
+ railgun.add_function('kernel32', 'WaitForMultipleObjects', 'DWORD',[
3412
+ ["DWORD","nCount","in"],
3413
+ ["PDWORD","lpHandles","in"],
3414
+ ["BOOL","bWaitAll","in"],
3415
+ ["DWORD","dwMilliseconds","in"],
3416
+ ])
3417
+
3418
+ railgun.add_function('kernel32', 'WaitForMultipleObjectsEx', 'DWORD',[
3419
+ ["DWORD","nCount","in"],
3420
+ ["PDWORD","lpHandles","in"],
3421
+ ["BOOL","bWaitAll","in"],
3422
+ ["DWORD","dwMilliseconds","in"],
3423
+ ["BOOL","bAlertable","in"],
3424
+ ])
3425
+
3426
+ railgun.add_function('kernel32', 'WaitForSingleObject', 'DWORD',[
3427
+ ["HANDLE","hHandle","in"],
3428
+ ["DWORD","dwMilliseconds","in"],
3429
+ ])
3430
+
3431
+ railgun.add_function('kernel32', 'WaitForSingleObjectEx', 'DWORD',[
3432
+ ["HANDLE","hHandle","in"],
3433
+ ["DWORD","dwMilliseconds","in"],
3434
+ ["BOOL","bAlertable","in"],
3435
+ ])
3436
+
3437
+ railgun.add_function('kernel32', 'WaitNamedPipeA', 'BOOL',[
3438
+ ["PCHAR","lpNamedPipeName","in"],
3439
+ ["DWORD","nTimeOut","in"],
3440
+ ])
3441
+
3442
+ railgun.add_function('kernel32', 'WaitNamedPipeW', 'BOOL',[
3443
+ ["PWCHAR","lpNamedPipeName","in"],
3444
+ ["DWORD","nTimeOut","in"],
3445
+ ])
3446
+
3447
+ railgun.add_function('kernel32', 'WinExec', 'DWORD',[
3448
+ ["PCHAR","lpCmdLine","in"],
3449
+ ["DWORD","uCmdShow","in"],
3450
+ ])
3451
+
3452
+ railgun.add_function('kernel32', 'Wow64DisableWow64FsRedirection', 'BOOL',[
3453
+ ["PBLOB","OldValue","out"],
3454
+ ])
3455
+
3456
+ railgun.add_function('kernel32', 'Wow64EnableWow64FsRedirection', 'BOOL',[
3457
+ ["BOOL","Wow64FsEnableRedirection","in"],
3458
+ ])
3459
+
3460
+ railgun.add_function('kernel32', 'Wow64RevertWow64FsRedirection', 'BOOL',[
3461
+ ["PBLOB","OlValue","in"],
3462
+ ])
3463
+
3464
+ railgun.add_function('kernel32', 'WriteFile', 'BOOL',[
3465
+ ["HANDLE","hFile","in"],
3466
+ ["PBLOB","lpBuffer","in"],
3467
+ ["DWORD","nNumberOfBytesToWrite","in"],
3468
+ ["PDWORD","lpNumberOfBytesWritten","out"],
3469
+ ["PBLOB","lpOverlapped","inout"],
3470
+ ])
3471
+
3472
+ railgun.add_function('kernel32', 'WriteFileEx', 'BOOL',[
3473
+ ["HANDLE","hFile","in"],
3474
+ ["PBLOB","lpBuffer","in"],
3475
+ ["DWORD","nNumberOfBytesToWrite","in"],
3476
+ ["PBLOB","lpOverlapped","inout"],
3477
+ ["PBLOB","lpCompletionRoutine","in"],
3478
+ ])
3479
+
3480
+ railgun.add_function('kernel32', 'WriteFileGather', 'BOOL',[
3481
+ ["HANDLE","hFile","in"],
3482
+ ["PBLOB","aSegmentArray[]","in"],
3483
+ ["DWORD","nNumberOfBytesToWrite","in"],
3484
+ ["PDWORD","lpReserved","inout"],
3485
+ ["PBLOB","lpOverlapped","inout"],
3486
+ ])
3487
+
3488
+ railgun.add_function('kernel32', 'WritePrivateProfileSectionA', 'BOOL',[
3489
+ ["PCHAR","lpAppName","in"],
3490
+ ["PCHAR","lpString","in"],
3491
+ ["PCHAR","lpFileName","in"],
3492
+ ])
3493
+
3494
+ railgun.add_function('kernel32', 'WritePrivateProfileSectionW', 'BOOL',[
3495
+ ["PWCHAR","lpAppName","in"],
3496
+ ["PWCHAR","lpString","in"],
3497
+ ["PWCHAR","lpFileName","in"],
3498
+ ])
3499
+
3500
+ railgun.add_function('kernel32', 'WritePrivateProfileStringA', 'BOOL',[
3501
+ ["PCHAR","lpAppName","in"],
3502
+ ["PCHAR","lpKeyName","in"],
3503
+ ["PCHAR","lpString","in"],
3504
+ ["PCHAR","lpFileName","in"],
3505
+ ])
3506
+
3507
+ railgun.add_function('kernel32', 'WritePrivateProfileStringW', 'BOOL',[
3508
+ ["PWCHAR","lpAppName","in"],
3509
+ ["PWCHAR","lpKeyName","in"],
3510
+ ["PWCHAR","lpString","in"],
3511
+ ["PWCHAR","lpFileName","in"],
3512
+ ])
3513
+
3514
+ railgun.add_function('kernel32', 'WritePrivateProfileStructA', 'BOOL',[
3515
+ ["PCHAR","lpszSection","in"],
3516
+ ["PCHAR","lpszKey","in"],
3517
+ ["PBLOB","lpStruct","in"],
3518
+ ["DWORD","uSizeStruct","in"],
3519
+ ["PCHAR","szFile","in"],
3520
+ ])
3521
+
3522
+ railgun.add_function('kernel32', 'WritePrivateProfileStructW', 'BOOL',[
3523
+ ["PWCHAR","lpszSection","in"],
3524
+ ["PWCHAR","lpszKey","in"],
3525
+ ["PBLOB","lpStruct","in"],
3526
+ ["DWORD","uSizeStruct","in"],
3527
+ ["PWCHAR","szFile","in"],
3528
+ ])
3529
+
3530
+ railgun.add_function('kernel32', 'WriteProcessMemory', 'BOOL',[
3531
+ ["HANDLE","hProcess","in"],
3532
+ ["PBLOB","lpBaseAddress","in"],
3533
+ ["PBLOB","lpBuffer","in"],
3534
+ ["DWORD","nSize","in"],
3535
+ ["PDWORD","lpNumberOfBytesWritten","out"],
3536
+ ])
3537
+
3538
+ railgun.add_function('kernel32', 'WriteProfileSectionA', 'BOOL',[
3539
+ ["PCHAR","lpAppName","in"],
3540
+ ["PCHAR","lpString","in"],
3541
+ ])
3542
+
3543
+ railgun.add_function('kernel32', 'WriteProfileSectionW', 'BOOL',[
3544
+ ["PWCHAR","lpAppName","in"],
3545
+ ["PWCHAR","lpString","in"],
3546
+ ])
3547
+
3548
+ railgun.add_function('kernel32', 'WriteProfileStringA', 'BOOL',[
3549
+ ["PCHAR","lpAppName","in"],
3550
+ ["PCHAR","lpKeyName","in"],
3551
+ ["PCHAR","lpString","in"],
3552
+ ])
3553
+
3554
+ railgun.add_function('kernel32', 'WriteProfileStringW', 'BOOL',[
3555
+ ["PWCHAR","lpAppName","in"],
3556
+ ["PWCHAR","lpKeyName","in"],
3557
+ ["PWCHAR","lpString","in"],
3558
+ ])
3559
+
3560
+ railgun.add_function('kernel32', 'WriteTapemark', 'DWORD',[
3561
+ ["HANDLE","hDevice","in"],
3562
+ ["DWORD","dwTapemarkType","in"],
3563
+ ["DWORD","dwTapemarkCount","in"],
3564
+ ["BOOL","bImmediate","in"],
3565
+ ])
3566
+
3567
+ railgun.add_function('kernel32', 'ZombifyActCtx', 'BOOL',[
3568
+ ["HANDLE","hActCtx","inout"],
3569
+ ])
3570
+
3571
+ railgun.add_function('kernel32', '_hread', 'DWORD',[
3572
+ ["HANDLE","hFile","in"],
3573
+ ["PBLOB","lpBuffer","out"],
3574
+ ["DWORD","lBytes","in"],
3575
+ ])
3576
+
3577
+ railgun.add_function('kernel32', '_hwrite', 'DWORD',[
3578
+ ["HANDLE","hFile","in"],
3579
+ ["PBLOB","lpBuffer","in"],
3580
+ ["DWORD","lBytes","in"],
3581
+ ])
3582
+
3583
+ railgun.add_function('kernel32', '_lclose', 'DWORD',[
3584
+ ["HANDLE","hFile","in"],
3585
+ ])
3586
+
3587
+ railgun.add_function('kernel32', '_lcreat', 'DWORD',[
3588
+ ["PCHAR","lpPathName","in"],
3589
+ ["DWORD","iAttribute","in"],
3590
+ ])
3591
+
3592
+ railgun.add_function('kernel32', '_llseek', 'DWORD',[
3593
+ ["HANDLE","hFile","in"],
3594
+ ["DWORD","lOffset","in"],
3595
+ ["DWORD","iOrigin","in"],
3596
+ ])
3597
+
3598
+ railgun.add_function('kernel32', '_lopen', 'DWORD',[
3599
+ ["PCHAR","lpPathName","in"],
3600
+ ["DWORD","iReadWrite","in"],
3601
+ ])
3602
+
3603
+ railgun.add_function('kernel32', '_lread', 'DWORD',[
3604
+ ["HANDLE","hFile","in"],
3605
+ ["PBLOB","lpBuffer","out"],
3606
+ ["DWORD","uBytes","in"],
3607
+ ])
3608
+
3609
+ railgun.add_function('kernel32', '_lwrite', 'DWORD',[
3610
+ ["HANDLE","hFile","in"],
3611
+ ["PBLOB","lpBuffer","in"],
3612
+ ["DWORD","uBytes","in"],
3613
+ ])
3614
+
3615
+ #railgun.add_function('kernel32', 'lstrcatA', 'PCHAR',[
3616
+ # ["PCHAR","lpString1","inout"],
3617
+ # ["PCHAR","lpString2","in"],
3618
+ # ])
3619
+
3620
+ #railgun.add_function('kernel32', 'lstrcatW', 'PWCHAR',[
3621
+ # ["PWCHAR","lpString1","inout"],
3622
+ # ["PWCHAR","lpString2","in"],
3623
+ # ])
3624
+
3625
+ railgun.add_function('kernel32', 'lstrcmpA', 'DWORD',[
3626
+ ["PCHAR","lpString1","in"],
3627
+ ["PCHAR","lpString2","in"],
3628
+ ])
3629
+
3630
+ railgun.add_function('kernel32', 'lstrcmpW', 'DWORD',[
3631
+ ["PWCHAR","lpString1","in"],
3632
+ ["PWCHAR","lpString2","in"],
3633
+ ])
3634
+
3635
+ railgun.add_function('kernel32', 'lstrcmpiA', 'DWORD',[
3636
+ ["PCHAR","lpString1","in"],
3637
+ ["PCHAR","lpString2","in"],
3638
+ ])
3639
+
3640
+ railgun.add_function('kernel32', 'lstrcmpiW', 'DWORD',[
3641
+ ["PWCHAR","lpString1","in"],
3642
+ ["PWCHAR","lpString2","in"],
3643
+ ])
3644
+
3645
+ #railgun.add_function('kernel32', 'lstrcpyA', 'PCHAR',[
3646
+ # ["PCHAR","lpString1","out"],
3647
+ # ["PCHAR","lpString2","in"],
3648
+ # ])
3649
+
3650
+ #railgun.add_function('kernel32', 'lstrcpyW', 'PWCHAR',[
3651
+ # ["PWCHAR","lpString1","out"],
3652
+ # ["PWCHAR","lpString2","in"],
3653
+ # ])
3654
+
3655
+ #railgun.add_function('kernel32', 'lstrcpynA', 'PCHAR',[
3656
+ # ["PCHAR","lpString1","out"],
3657
+ # ["PCHAR","lpString2","in"],
3658
+ # ["DWORD","iMaxLength","in"],
3659
+ # ])
3660
+
3661
+ #railgun.add_function('kernel32', 'lstrcpynW', 'PWCHAR',[
3662
+ # ["PWCHAR","lpString1","out"],
3663
+ # ["PWCHAR","lpString2","in"],
3664
+ # ["DWORD","iMaxLength","in"],
3665
+ # ])
3666
+
3667
+ railgun.add_function('kernel32', 'lstrlenA', 'DWORD',[
3668
+ ["PCHAR","lpString","in"],
3669
+ ])
3670
+
3671
+ railgun.add_function('kernel32', 'lstrlenW', 'DWORD',[
3672
+ ["PWCHAR","lpString","in"],
3673
+ ])
3674
+
3675
+
3676
+ railgun.add_function( 'kernel32', 'CreateToolhelp32Snapshot', 'DWORD',[
3677
+ ["DWORD","dwFlags","in"],
3678
+ ["DWORD","th32ProcessID","in"],
3679
+ ])
3680
+
3681
+ railgun.add_function( 'kernel32', 'Heap32First', 'BOOL',[
3682
+ ["PBLOB","lphe","inout"],
3683
+ ["DWORD","th32ProcessID","in"],
3684
+ ["PDWORD","th32HeapID","inout"],
3685
+ ])
3686
+
3687
+ railgun.add_function( 'kernel32', 'Heap32ListFirst', 'BOOL',[
3688
+ ["DWORD","hSnapshot","in"],
3689
+ ["PBLOB","lphl","inout"],
3690
+ ])
3691
+
3692
+ railgun.add_function( 'kernel32', 'Heap32ListNext', 'BOOL',[
3693
+ ["DWORD","hSnapshot","in"],
3694
+ ["PBLOB","lphl","inout"],
3695
+ ])
3696
+
3697
+ railgun.add_function( 'kernel32', 'Heap32Next', 'BOOL',[
3698
+ ["PBLOB","lphe","inout"],
3699
+ ])
3700
+
3701
+ railgun.add_function( 'kernel32', 'Module32First', 'BOOL',[
3702
+ ["DWORD","hSnapshot","in"],
3703
+ ["PBLOB","lpme","inout"],
3704
+ ])
3705
+
3706
+ railgun.add_function( 'kernel32', 'Module32FirstW', 'BOOL',[
3707
+ ["DWORD","hSnapshot","in"],
3708
+ ["PBLOB","lpme","inout"],
3709
+ ])
3710
+
3711
+ railgun.add_function( 'kernel32', 'Module32Next', 'BOOL',[
3712
+ ["DWORD","hSnapshot","in"],
3713
+ ["PBLOB","lpme","inout"],
3714
+ ])
3715
+
3716
+ railgun.add_function( 'kernel32', 'Module32NextW', 'BOOL',[
3717
+ ["DWORD","hSnapshot","in"],
3718
+ ["PBLOB","lpme","inout"],
3719
+ ])
3720
+
3721
+ railgun.add_function( 'kernel32', 'Process32First', 'BOOL',[
3722
+ ["DWORD","hSnapshot","in"],
3723
+ ["PBLOB","lppe","inout"],
3724
+ ])
3725
+
3726
+ railgun.add_function( 'kernel32', 'Process32FirstW', 'BOOL',[
3727
+ ["DWORD","hSnapshot","in"],
3728
+ ["PBLOB","lppe","inout"],
3729
+ ])
3730
+
3731
+ railgun.add_function( 'kernel32', 'Process32Next', 'BOOL',[
3732
+ ["DWORD","hSnapshot","in"],
3733
+ ["PBLOB","lppe","inout"],
3734
+ ])
3735
+
3736
+ railgun.add_function( 'kernel32', 'Process32NextW', 'BOOL',[
3737
+ ["DWORD","hSnapshot","in"],
3738
+ ["PBLOB","lppe","inout"],
3739
+ ])
3740
+
3741
+ railgun.add_function( 'kernel32', 'Thread32First', 'BOOL',[
3742
+ ["DWORD","hSnapshot","in"],
3743
+ ["PBLOB","lpte","inout"],
3744
+ ])
3745
+
3746
+ railgun.add_function( 'kernel32', 'Thread32Next', 'BOOL',[
3747
+ ["DWORD","hSnapshot","in"],
3748
+ ["PBLOB","lpte","inout"],
3749
+ ])
3750
+
3751
+ railgun.add_function( 'kernel32', 'Toolhelp32ReadProcessMemory', 'BOOL',[
3752
+ ["DWORD","th32ProcessID","in"],
3753
+ ["PBLOB","lpBaseAddress","inout"],
3754
+ ["PBLOB","lpBuffer","inout"],
3755
+ ["DWORD","cbRead","in"],
3756
+ ["PDWORD","lpNumberOfBytesRead","in"],
3757
+ ])
3758
+
3759
+ railgun.add_function( 'kernel32', 'CreateToolhelp32Snapshot', 'DWORD',[
3760
+ ["DWORD","dwFlags","in"],
3761
+ ["DWORD","th32ProcessID","in"],
3762
+ ])
3763
+
3764
+ railgun.add_function( 'kernel32', 'Heap32First', 'BOOL',[
3765
+ ["PBLOB","lphe","inout"],
3766
+ ["DWORD","th32ProcessID","in"],
3767
+ ["PDWORD","th32HeapID","inout"],
3768
+ ])
3769
+
3770
+ railgun.add_function( 'kernel32', 'Heap32ListFirst', 'BOOL',[
3771
+ ["DWORD","hSnapshot","in"],
3772
+ ["PBLOB","lphl","inout"],
3773
+ ])
3774
+
3775
+ railgun.add_function( 'kernel32', 'Heap32ListNext', 'BOOL',[
3776
+ ["DWORD","hSnapshot","in"],
3777
+ ["PBLOB","lphl","inout"],
3778
+ ])
3779
+
3780
+ railgun.add_function( 'kernel32', 'Heap32Next', 'BOOL',[
3781
+ ["PBLOB","lphe","inout"],
3782
+ ])
3783
+
3784
+ railgun.add_function( 'kernel32', 'Module32First', 'BOOL',[
3785
+ ["DWORD","hSnapshot","in"],
3786
+ ["PBLOB","lpme","inout"],
3787
+ ])
3788
+
3789
+ railgun.add_function( 'kernel32', 'Module32FirstW', 'BOOL',[
3790
+ ["DWORD","hSnapshot","in"],
3791
+ ["PBLOB","lpme","inout"],
3792
+ ])
3793
+
3794
+ railgun.add_function( 'kernel32', 'Module32Next', 'BOOL',[
3795
+ ["DWORD","hSnapshot","in"],
3796
+ ["PBLOB","lpme","inout"],
3797
+ ])
3798
+
3799
+ railgun.add_function( 'kernel32', 'Module32NextW', 'BOOL',[
3800
+ ["DWORD","hSnapshot","in"],
3801
+ ["PBLOB","lpme","inout"],
3802
+ ])
3803
+
3804
+ railgun.add_function( 'kernel32', 'Process32First', 'BOOL',[
3805
+ ["DWORD","hSnapshot","in"],
3806
+ ["PBLOB","lppe","inout"],
3807
+ ])
3808
+
3809
+ railgun.add_function( 'kernel32', 'Process32FirstW', 'BOOL',[
3810
+ ["DWORD","hSnapshot","in"],
3811
+ ["PBLOB","lppe","inout"],
3812
+ ])
3813
+
3814
+ railgun.add_function( 'kernel32', 'Process32Next', 'BOOL',[
3815
+ ["DWORD","hSnapshot","in"],
3816
+ ["PBLOB","lppe","inout"],
3817
+ ])
3818
+
3819
+ railgun.add_function( 'kernel32', 'Process32NextW', 'BOOL',[
3820
+ ["DWORD","hSnapshot","in"],
3821
+ ["PBLOB","lppe","inout"],
3822
+ ])
3823
+
3824
+ railgun.add_function( 'kernel32', 'Thread32First', 'BOOL',[
3825
+ ["DWORD","hSnapshot","in"],
3826
+ ["PBLOB","lpte","inout"],
3827
+ ])
3828
+
3829
+ railgun.add_function( 'kernel32', 'Thread32Next', 'BOOL',[
3830
+ ["DWORD","hSnapshot","in"],
3831
+ ["PBLOB","lpte","inout"],
3832
+ ])
3833
+
3834
+ railgun.add_function( 'kernel32', 'Toolhelp32ReadProcessMemory', 'BOOL',[
3835
+ ["DWORD","th32ProcessID","in"],
3836
+ ["PBLOB","lpBaseAddress","inout"],
3837
+ ["PBLOB","lpBuffer","inout"],
3838
+ ["DWORD","cbRead","in"],
3839
+ ["PDWORD","lpNumberOfBytesRead","in"],
3840
+ ])
3841
+
3842
+ end
3843
+
3844
+ end
3845
+
3846
+ end; end; end; end; end; end; end
3847
+
3848
+