librex 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (389) hide show
  1. data/README.md +12 -0
  2. data/lib/rex.rb +0 -0
  3. data/lib/rex.rb.ts.rb +0 -0
  4. data/lib/rex/LICENSE +0 -0
  5. data/lib/rex/arch.rb +0 -0
  6. data/lib/rex/arch/sparc.rb +0 -0
  7. data/lib/rex/arch/sparc.rb.ut.rb +0 -0
  8. data/lib/rex/arch/x86.rb +0 -0
  9. data/lib/rex/arch/x86.rb.ut.rb +0 -0
  10. data/lib/rex/assembly/nasm.rb +0 -0
  11. data/lib/rex/assembly/nasm.rb.ut.rb +0 -0
  12. data/lib/rex/codepage.map +0 -0
  13. data/lib/rex/compat.rb +0 -0
  14. data/lib/rex/constants.rb +0 -0
  15. data/lib/rex/elfparsey.rb +0 -0
  16. data/lib/rex/elfparsey/elf.rb +0 -0
  17. data/lib/rex/elfparsey/elfbase.rb +2 -4
  18. data/lib/rex/elfparsey/exceptions.rb +0 -0
  19. data/lib/rex/elfscan.rb +0 -0
  20. data/lib/rex/elfscan/scanner.rb +0 -0
  21. data/lib/rex/elfscan/search.rb +10 -10
  22. data/lib/rex/encoder/alpha2.rb +0 -0
  23. data/lib/rex/encoder/alpha2/alpha_mixed.rb +0 -0
  24. data/lib/rex/encoder/alpha2/alpha_upper.rb +0 -0
  25. data/lib/rex/encoder/alpha2/generic.rb +0 -0
  26. data/lib/rex/encoder/alpha2/unicode_mixed.rb +0 -0
  27. data/lib/rex/encoder/alpha2/unicode_upper.rb +0 -0
  28. data/lib/rex/encoder/ndr.rb +0 -0
  29. data/lib/rex/encoder/ndr.rb.ut.rb +0 -0
  30. data/lib/rex/encoder/nonalpha.rb +0 -0
  31. data/lib/rex/encoder/nonupper.rb +0 -0
  32. data/lib/rex/encoder/xdr.rb +0 -0
  33. data/lib/rex/encoder/xdr.rb.ut.rb +0 -0
  34. data/lib/rex/encoder/xor.rb +0 -0
  35. data/lib/rex/encoder/xor/dword.rb +0 -0
  36. data/lib/rex/encoder/xor/dword_additive.rb +0 -0
  37. data/lib/rex/encoders/xor_dword.rb +0 -0
  38. data/lib/rex/encoders/xor_dword_additive.rb +0 -0
  39. data/lib/rex/encoders/xor_dword_additive.rb.ut.rb +0 -0
  40. data/lib/rex/encoding/xor.rb +0 -0
  41. data/lib/rex/encoding/xor.rb.ts.rb +0 -0
  42. data/lib/rex/encoding/xor/byte.rb +0 -0
  43. data/lib/rex/encoding/xor/byte.rb.ut.rb +0 -0
  44. data/lib/rex/encoding/xor/dword.rb +0 -0
  45. data/lib/rex/encoding/xor/dword.rb.ut.rb +0 -0
  46. data/lib/rex/encoding/xor/dword_additive.rb +0 -0
  47. data/lib/rex/encoding/xor/dword_additive.rb.ut.rb +0 -0
  48. data/lib/rex/encoding/xor/exceptions.rb +0 -0
  49. data/lib/rex/encoding/xor/generic.rb +0 -0
  50. data/lib/rex/encoding/xor/generic.rb.ut.rb +0 -0
  51. data/lib/rex/encoding/xor/qword.rb +0 -0
  52. data/lib/rex/encoding/xor/word.rb +0 -0
  53. data/lib/rex/encoding/xor/word.rb.ut.rb +0 -0
  54. data/lib/rex/exceptions.rb +0 -0
  55. data/lib/rex/exceptions.rb.ut.rb +0 -0
  56. data/lib/rex/exploitation/cmdstager.rb +0 -0
  57. data/lib/rex/exploitation/cmdstager/base.rb +6 -1
  58. data/lib/rex/exploitation/cmdstager/debug_asm.rb +0 -0
  59. data/lib/rex/exploitation/cmdstager/debug_write.rb +0 -0
  60. data/lib/rex/exploitation/cmdstager/tftp.rb +8 -8
  61. data/lib/rex/exploitation/cmdstager/vbs.rb +0 -0
  62. data/lib/rex/exploitation/egghunter.rb +143 -36
  63. data/lib/rex/exploitation/egghunter.rb.ut.rb +0 -0
  64. data/lib/rex/exploitation/encryptjs.rb +0 -0
  65. data/lib/rex/exploitation/heaplib.js.b64 +0 -0
  66. data/lib/rex/exploitation/heaplib.rb +0 -0
  67. data/lib/rex/exploitation/javascriptosdetect.rb +114 -15
  68. data/lib/rex/exploitation/obfuscatejs.rb +0 -0
  69. data/lib/rex/exploitation/omelet.rb +320 -0
  70. data/lib/rex/exploitation/omelet.rb.ut.rb +13 -0
  71. data/lib/rex/exploitation/opcodedb.rb +0 -0
  72. data/lib/rex/exploitation/opcodedb.rb.ut.rb +0 -0
  73. data/lib/rex/exploitation/seh.rb +0 -0
  74. data/lib/rex/exploitation/seh.rb.ut.rb +0 -0
  75. data/lib/rex/file.rb +1 -1
  76. data/lib/rex/file.rb.ut.rb +0 -0
  77. data/lib/rex/image_source.rb +0 -0
  78. data/lib/rex/image_source/disk.rb +0 -0
  79. data/lib/rex/image_source/image_source.rb +0 -0
  80. data/lib/rex/image_source/memory.rb +0 -0
  81. data/lib/rex/io/bidirectional_pipe.rb +0 -0
  82. data/lib/rex/io/datagram_abstraction.rb +0 -0
  83. data/lib/rex/io/stream.rb +1 -1
  84. data/lib/rex/io/stream_abstraction.rb +0 -0
  85. data/lib/rex/io/stream_server.rb +0 -0
  86. data/lib/rex/job_container.rb +0 -1
  87. data/lib/rex/logging.rb +0 -0
  88. data/lib/rex/logging/log_dispatcher.rb +0 -0
  89. data/lib/rex/logging/log_sink.rb +0 -0
  90. data/lib/rex/logging/sinks/flatfile.rb +0 -0
  91. data/lib/rex/logging/sinks/stderr.rb +0 -0
  92. data/lib/rex/machparsey.rb +0 -0
  93. data/lib/rex/machparsey/exceptions.rb +0 -0
  94. data/lib/rex/machparsey/machbase.rb +0 -0
  95. data/lib/rex/machscan.rb +0 -0
  96. data/lib/rex/machscan/scanner.rb +0 -0
  97. data/lib/rex/mime.rb +0 -0
  98. data/lib/rex/mime/header.rb +0 -0
  99. data/lib/rex/mime/message.rb +0 -0
  100. data/lib/rex/mime/part.rb +0 -0
  101. data/lib/rex/nop/opty2.rb +0 -0
  102. data/lib/rex/nop/opty2.rb.ut.rb +0 -0
  103. data/lib/rex/nop/opty2_tables.rb +0 -0
  104. data/lib/rex/ole.rb +0 -0
  105. data/lib/rex/ole/clsid.rb +0 -0
  106. data/lib/rex/ole/difat.rb +0 -0
  107. data/lib/rex/ole/directory.rb +0 -0
  108. data/lib/rex/ole/direntry.rb +0 -0
  109. data/lib/rex/ole/docs/dependencies.txt +8 -0
  110. data/lib/rex/ole/docs/references.txt +1 -0
  111. data/lib/rex/ole/fat.rb +0 -0
  112. data/lib/rex/ole/header.rb +3 -3
  113. data/lib/rex/ole/minifat.rb +0 -0
  114. data/lib/rex/ole/storage.rb +4 -4
  115. data/lib/rex/ole/stream.rb +0 -0
  116. data/lib/rex/ole/substorage.rb +0 -0
  117. data/lib/rex/ole/util.rb +0 -0
  118. data/lib/rex/parser/arguments.rb +0 -0
  119. data/lib/rex/parser/arguments.rb.ut.rb +0 -0
  120. data/lib/rex/parser/ini.rb +0 -0
  121. data/lib/rex/parser/ini.rb.ut.rb +0 -0
  122. data/lib/rex/parser/nexpose_xml.rb +0 -0
  123. data/lib/rex/parser/nmap_xml.rb +0 -0
  124. data/lib/rex/payloads.rb +0 -0
  125. data/lib/rex/payloads/win32.rb +0 -0
  126. data/lib/rex/payloads/win32/common.rb +0 -0
  127. data/lib/rex/payloads/win32/kernel.rb +0 -0
  128. data/lib/rex/payloads/win32/kernel/common.rb +0 -0
  129. data/lib/rex/payloads/win32/kernel/migration.rb +0 -0
  130. data/lib/rex/payloads/win32/kernel/recovery.rb +0 -0
  131. data/lib/rex/peparsey.rb +0 -0
  132. data/lib/rex/peparsey/exceptions.rb +0 -0
  133. data/lib/rex/peparsey/pe.rb +7 -1
  134. data/lib/rex/peparsey/pe_memdump.rb +0 -0
  135. data/lib/rex/peparsey/pebase.rb +27 -2
  136. data/lib/rex/peparsey/section.rb +0 -0
  137. data/lib/rex/pescan.rb +0 -0
  138. data/lib/rex/pescan/analyze.rb +0 -0
  139. data/lib/rex/pescan/scanner.rb +0 -0
  140. data/lib/rex/pescan/search.rb +0 -0
  141. data/lib/rex/platforms.rb +0 -0
  142. data/lib/rex/platforms/windows.rb +0 -0
  143. data/lib/rex/poly.rb +0 -0
  144. data/lib/rex/poly/block.rb +0 -0
  145. data/lib/rex/poly/register.rb +0 -0
  146. data/lib/rex/poly/register/x86.rb +0 -0
  147. data/lib/rex/post.rb +0 -0
  148. data/lib/rex/post/dir.rb +0 -0
  149. data/lib/rex/post/file.rb +0 -0
  150. data/lib/rex/post/file_stat.rb +0 -0
  151. data/lib/rex/post/gen.pl +0 -0
  152. data/lib/rex/post/io.rb +0 -0
  153. data/lib/rex/post/meterpreter.rb +0 -0
  154. data/lib/rex/post/meterpreter/channel.rb +0 -0
  155. data/lib/rex/post/meterpreter/channel_container.rb +0 -0
  156. data/lib/rex/post/meterpreter/channels/pool.rb +0 -0
  157. data/lib/rex/post/meterpreter/channels/pools/file.rb +0 -0
  158. data/lib/rex/post/meterpreter/channels/pools/stream_pool.rb +0 -0
  159. data/lib/rex/post/meterpreter/channels/stream.rb +0 -0
  160. data/lib/rex/post/meterpreter/client.rb +3 -0
  161. data/lib/rex/post/meterpreter/client_core.rb +0 -0
  162. data/lib/rex/post/meterpreter/dependencies.rb +0 -0
  163. data/lib/rex/post/meterpreter/extension.rb +0 -0
  164. data/lib/rex/post/meterpreter/extensions/espia/espia.rb +0 -0
  165. data/lib/rex/post/meterpreter/extensions/espia/tlv.rb +0 -0
  166. data/lib/rex/post/meterpreter/extensions/incognito/incognito.rb +0 -0
  167. data/lib/rex/post/meterpreter/extensions/incognito/tlv.rb +0 -0
  168. data/lib/rex/post/meterpreter/extensions/networkpug/networkpug.rb +57 -0
  169. data/lib/rex/post/meterpreter/extensions/networkpug/tlv.rb +15 -0
  170. data/lib/rex/post/meterpreter/extensions/priv/fs.rb +0 -0
  171. data/lib/rex/post/meterpreter/extensions/priv/passwd.rb +0 -0
  172. data/lib/rex/post/meterpreter/extensions/priv/priv.rb +0 -0
  173. data/lib/rex/post/meterpreter/extensions/priv/tlv.rb +0 -0
  174. data/lib/rex/post/meterpreter/extensions/sniffer/sniffer.rb +2 -1
  175. data/lib/rex/post/meterpreter/extensions/sniffer/tlv.rb +12 -10
  176. data/lib/rex/post/meterpreter/extensions/stdapi/constants.rb +0 -0
  177. data/lib/rex/post/meterpreter/extensions/stdapi/fs/dir.rb +0 -0
  178. data/lib/rex/post/meterpreter/extensions/stdapi/fs/file.rb +31 -0
  179. data/lib/rex/post/meterpreter/extensions/stdapi/fs/file_stat.rb +0 -0
  180. data/lib/rex/post/meterpreter/extensions/stdapi/fs/io.rb +0 -0
  181. data/lib/rex/post/meterpreter/extensions/stdapi/net/config.rb +0 -0
  182. data/lib/rex/post/meterpreter/extensions/stdapi/net/interface.rb +0 -0
  183. data/lib/rex/post/meterpreter/extensions/stdapi/net/route.rb +0 -0
  184. data/lib/rex/post/meterpreter/extensions/stdapi/net/socket_subsystem/tcp_server_channel.rb +0 -0
  185. data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun}/api_constants.rb +38106 -38105
  186. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_advapi32.rb +1804 -0
  187. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_iphlpapi.rb +96 -0
  188. data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun/def}/def_kernel32.rb +3848 -3678
  189. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_ntdll.rb +153 -0
  190. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_shell32.rb +21 -0
  191. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_user32.rb +3169 -0
  192. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/def/def_ws2_32.rb +599 -0
  193. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/model.rb +540 -0
  194. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/multicall.rb +308 -0
  195. data/lib/rex/post/meterpreter/extensions/stdapi/railgun/railgun.rb +196 -0
  196. data/lib/rex/post/meterpreter/extensions/{railgun → stdapi/railgun}/tlv.rb +6 -9
  197. data/lib/rex/post/meterpreter/extensions/stdapi/stdapi.rb +5 -0
  198. data/lib/rex/post/meterpreter/extensions/stdapi/sys/config.rb +0 -0
  199. data/lib/rex/post/meterpreter/extensions/stdapi/sys/event_log.rb +0 -0
  200. data/lib/rex/post/meterpreter/extensions/stdapi/sys/event_log_subsystem/event_record.rb +0 -0
  201. data/lib/rex/post/meterpreter/extensions/stdapi/sys/power.rb +0 -0
  202. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process.rb +0 -0
  203. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/image.rb +0 -0
  204. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/io.rb +0 -0
  205. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/memory.rb +0 -0
  206. data/lib/rex/post/meterpreter/extensions/stdapi/sys/process_subsystem/thread.rb +0 -0
  207. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry.rb +0 -0
  208. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry_subsystem/registry_key.rb +0 -0
  209. data/lib/rex/post/meterpreter/extensions/stdapi/sys/registry_subsystem/registry_value.rb +0 -0
  210. data/lib/rex/post/meterpreter/extensions/stdapi/sys/thread.rb +0 -0
  211. data/lib/rex/post/meterpreter/extensions/stdapi/tlv.rb +6 -0
  212. data/lib/rex/post/meterpreter/extensions/stdapi/ui.rb +0 -0
  213. data/lib/rex/post/meterpreter/inbound_packet_handler.rb +0 -0
  214. data/lib/rex/post/meterpreter/object_aliases.rb +0 -0
  215. data/lib/rex/post/meterpreter/packet.rb +23 -1
  216. data/lib/rex/post/meterpreter/packet_dispatcher.rb +13 -2
  217. data/lib/rex/post/meterpreter/packet_parser.rb +0 -0
  218. data/lib/rex/post/meterpreter/packet_response_waiter.rb +17 -10
  219. data/lib/rex/post/meterpreter/ui/console.rb +0 -0
  220. data/lib/rex/post/meterpreter/ui/console/command_dispatcher.rb +0 -0
  221. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/core.rb +12 -7
  222. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/espia.rb +0 -0
  223. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/incognito.rb +0 -0
  224. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/networkpug.rb +221 -0
  225. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv.rb +0 -0
  226. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/elevate.rb +0 -0
  227. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/passwd.rb +0 -0
  228. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/priv/timestomp.rb +0 -0
  229. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/sniffer.rb +4 -3
  230. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi.rb +0 -0
  231. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/fs.rb +56 -1
  232. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/net.rb +22 -0
  233. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/sys.rb +0 -0
  234. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/ui.rb +0 -0
  235. data/lib/rex/post/meterpreter/ui/console/interactive_channel.rb +0 -0
  236. data/lib/rex/post/permission.rb +0 -0
  237. data/lib/rex/post/process.rb +0 -0
  238. data/lib/rex/post/thread.rb +0 -0
  239. data/lib/rex/post/ui.rb +0 -0
  240. data/lib/rex/proto.rb +0 -0
  241. data/lib/rex/proto.rb.ts.rb +0 -0
  242. data/lib/rex/proto/dcerpc.rb +0 -0
  243. data/lib/rex/proto/dcerpc.rb.ts.rb +0 -0
  244. data/lib/rex/proto/dcerpc/client.rb +3 -1
  245. data/lib/rex/proto/dcerpc/exceptions.rb +0 -0
  246. data/lib/rex/proto/dcerpc/handle.rb +0 -0
  247. data/lib/rex/proto/dcerpc/handle.rb.ut.rb +0 -0
  248. data/lib/rex/proto/dcerpc/ndr.rb +0 -0
  249. data/lib/rex/proto/dcerpc/ndr.rb.ut.rb +0 -0
  250. data/lib/rex/proto/dcerpc/packet.rb +0 -0
  251. data/lib/rex/proto/dcerpc/packet.rb.ut.rb +0 -0
  252. data/lib/rex/proto/dcerpc/response.rb.ut.rb +0 -0
  253. data/lib/rex/proto/dcerpc/uuid.rb +0 -0
  254. data/lib/rex/proto/dcerpc/uuid.rb.ut.rb +0 -0
  255. data/lib/rex/proto/dhcp.rb +7 -0
  256. data/lib/rex/proto/dhcp/constants.rb +33 -0
  257. data/lib/rex/proto/dhcp/server.rb +285 -0
  258. data/lib/rex/proto/drda.rb +0 -0
  259. data/lib/rex/proto/drda.rb.ts.rb +0 -0
  260. data/lib/rex/proto/drda/constants.rb +0 -0
  261. data/lib/rex/proto/drda/constants.rb.ut.rb +0 -0
  262. data/lib/rex/proto/drda/packet.rb +0 -0
  263. data/lib/rex/proto/drda/packet.rb.ut.rb +0 -0
  264. data/lib/rex/proto/drda/utils.rb +0 -0
  265. data/lib/rex/proto/drda/utils.rb.ut.rb +0 -0
  266. data/lib/rex/proto/http.rb +0 -0
  267. data/lib/rex/proto/http.rb.ts.rb +0 -0
  268. data/lib/rex/proto/http/client.rb +27 -2
  269. data/lib/rex/proto/http/client.rb.ut.rb +4 -2
  270. data/lib/rex/proto/http/handler.rb +0 -0
  271. data/lib/rex/proto/http/handler/erb.rb +0 -0
  272. data/lib/rex/proto/http/handler/erb.rb.ut.rb +0 -0
  273. data/lib/rex/proto/http/handler/erb.rb.ut.rb.rhtml +0 -0
  274. data/lib/rex/proto/http/handler/proc.rb +6 -0
  275. data/lib/rex/proto/http/handler/proc.rb.ut.rb +0 -0
  276. data/lib/rex/proto/http/header.rb +0 -0
  277. data/lib/rex/proto/http/header.rb.ut.rb +0 -0
  278. data/lib/rex/proto/http/packet.rb +20 -19
  279. data/lib/rex/proto/http/packet.rb.ut.rb +0 -0
  280. data/lib/rex/proto/http/request.rb +0 -0
  281. data/lib/rex/proto/http/request.rb.ut.rb +0 -0
  282. data/lib/rex/proto/http/response.rb +0 -0
  283. data/lib/rex/proto/http/response.rb.ut.rb +0 -0
  284. data/lib/rex/proto/http/server.rb +5 -3
  285. data/lib/rex/proto/http/server.rb.ut.rb +0 -0
  286. data/lib/rex/proto/proxy/socks4a.rb +440 -0
  287. data/lib/rex/proto/smb.rb +0 -0
  288. data/lib/rex/proto/smb.rb.ts.rb +0 -0
  289. data/lib/rex/proto/smb/client.rb +110 -61
  290. data/lib/rex/proto/smb/client.rb.ut.rb +0 -0
  291. data/lib/rex/proto/smb/constants.rb +5 -3
  292. data/lib/rex/proto/smb/constants.rb.ut.rb +0 -0
  293. data/lib/rex/proto/smb/crypt.rb +0 -0
  294. data/lib/rex/proto/smb/crypt.rb.ut.rb +0 -0
  295. data/lib/rex/proto/smb/exceptions.rb +0 -0
  296. data/lib/rex/proto/smb/simpleclient.rb +0 -0
  297. data/lib/rex/proto/smb/simpleclient.rb.ut.rb +0 -0
  298. data/lib/rex/proto/smb/utils.rb +2 -0
  299. data/lib/rex/proto/smb/utils.rb.ut.rb +0 -0
  300. data/lib/rex/proto/sunrpc.rb +0 -0
  301. data/lib/rex/proto/sunrpc/client.rb +0 -0
  302. data/lib/rex/proto/tftp.rb +10 -1
  303. data/lib/rex/proto/tftp/constants.rb +5 -3
  304. data/lib/rex/proto/tftp/server.rb +79 -9
  305. data/lib/rex/script.rb +0 -0
  306. data/lib/rex/script/base.rb +0 -0
  307. data/lib/rex/script/meterpreter.rb +0 -0
  308. data/lib/rex/script/shell.rb +0 -0
  309. data/lib/rex/service.rb +0 -0
  310. data/lib/rex/service_manager.rb +0 -0
  311. data/lib/rex/service_manager.rb.ut.rb +0 -0
  312. data/lib/rex/services/local_relay.rb +0 -0
  313. data/lib/rex/socket.rb +6 -4
  314. data/lib/rex/socket.rb.ut.rb +0 -0
  315. data/lib/rex/socket/comm.rb +0 -0
  316. data/lib/rex/socket/comm/local.rb +0 -0
  317. data/lib/rex/socket/comm/local.rb.ut.rb +0 -0
  318. data/lib/rex/socket/ip.rb +0 -0
  319. data/lib/rex/socket/parameters.rb +0 -0
  320. data/lib/rex/socket/parameters.rb.ut.rb +0 -0
  321. data/lib/rex/socket/range_walker.rb +0 -0
  322. data/lib/rex/socket/range_walker.rb.ut.rb +0 -0
  323. data/lib/rex/socket/ssl_tcp.rb +1 -1
  324. data/lib/rex/socket/ssl_tcp.rb.ut.rb +0 -0
  325. data/lib/rex/socket/ssl_tcp_server.rb +0 -0
  326. data/lib/rex/socket/ssl_tcp_server.rb.ut.rb +0 -0
  327. data/lib/rex/socket/subnet_walker.rb +0 -0
  328. data/lib/rex/socket/subnet_walker.rb.ut.rb +0 -0
  329. data/lib/rex/socket/switch_board.rb.ut.rb +0 -0
  330. data/lib/rex/socket/tcp.rb +0 -0
  331. data/lib/rex/socket/tcp.rb.ut.rb +0 -0
  332. data/lib/rex/socket/tcp_server.rb +0 -0
  333. data/lib/rex/socket/tcp_server.rb.ut.rb +0 -0
  334. data/lib/rex/socket/udp.rb +0 -0
  335. data/lib/rex/socket/udp.rb.ut.rb +0 -0
  336. data/lib/rex/struct2.rb +0 -0
  337. data/lib/rex/struct2/c_struct.rb +0 -0
  338. data/lib/rex/struct2/c_struct_template.rb +0 -0
  339. data/lib/rex/struct2/constant.rb +0 -0
  340. data/lib/rex/struct2/element.rb +0 -0
  341. data/lib/rex/struct2/generic.rb +0 -0
  342. data/lib/rex/struct2/restraint.rb +0 -0
  343. data/lib/rex/struct2/s_string.rb +0 -0
  344. data/lib/rex/struct2/s_struct.rb +0 -0
  345. data/lib/rex/sync.rb +0 -0
  346. data/lib/rex/sync/event.rb +0 -0
  347. data/lib/rex/sync/read_write_lock.rb +0 -0
  348. data/lib/rex/sync/ref.rb +0 -0
  349. data/lib/rex/sync/thread_safe.rb +0 -0
  350. data/lib/rex/test.rb +0 -0
  351. data/lib/rex/text.rb +13 -3
  352. data/lib/rex/text.rb.ut.rb +9 -4
  353. data/lib/rex/time.rb +0 -0
  354. data/lib/rex/transformer.rb +0 -0
  355. data/lib/rex/transformer.rb.ut.rb +0 -0
  356. data/lib/rex/ui.rb +0 -0
  357. data/lib/rex/ui/interactive.rb +0 -0
  358. data/lib/rex/ui/output.rb +0 -0
  359. data/lib/rex/ui/output/none.rb +0 -0
  360. data/lib/rex/ui/progress_tracker.rb +0 -0
  361. data/lib/rex/ui/subscriber.rb +0 -0
  362. data/lib/rex/ui/text/color.rb +0 -0
  363. data/lib/rex/ui/text/color.rb.ut.rb +0 -0
  364. data/lib/rex/ui/text/dispatcher_shell.rb +0 -0
  365. data/lib/rex/ui/text/input.rb +0 -0
  366. data/lib/rex/ui/text/input/buffer.rb +0 -0
  367. data/lib/rex/ui/text/input/readline.rb +0 -0
  368. data/lib/rex/ui/text/input/socket.rb +0 -0
  369. data/lib/rex/ui/text/input/stdio.rb +0 -0
  370. data/lib/rex/ui/text/irb_shell.rb +0 -0
  371. data/lib/rex/ui/text/output.rb +0 -0
  372. data/lib/rex/ui/text/output/buffer.rb +0 -0
  373. data/lib/rex/ui/text/output/file.rb +0 -0
  374. data/lib/rex/ui/text/output/socket.rb +0 -0
  375. data/lib/rex/ui/text/output/stdio.rb +0 -0
  376. data/lib/rex/ui/text/progress_tracker.rb +0 -0
  377. data/lib/rex/ui/text/progress_tracker.rb.ut.rb +0 -0
  378. data/lib/rex/ui/text/shell.rb +9 -6
  379. data/lib/rex/ui/text/table.rb +5 -0
  380. data/lib/rex/ui/text/table.rb.ut.rb +0 -0
  381. data/lib/rex/zip.rb +0 -0
  382. data/lib/rex/zip/archive.rb +29 -1
  383. data/lib/rex/zip/blocks.rb +0 -0
  384. data/lib/rex/zip/entry.rb +5 -1
  385. metadata +369 -413
  386. data/README +0 -8
  387. data/lib/rex/post/meterpreter/extensions/railgun/api.rb +0 -9303
  388. data/lib/rex/post/meterpreter/extensions/railgun/railgun.rb +0 -815
  389. data/lib/rex/post/meterpreter/ui/console/command_dispatcher/railgun.rb +0 -57
@@ -0,0 +1,1804 @@
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_advapi32
10
+
11
+ def self.add_imports(railgun)
12
+
13
+ railgun.add_dll('advapi32')
14
+
15
+ # Function to open the Service Control Database
16
+ railgun.add_function( 'advapi32', 'OpenSCManagerA','DWORD',[
17
+ [ "PCHAR", "lpMachineName", "inout" ],
18
+ [ "PCHAR", "lpDatabaseName", "inout" ],
19
+ [ "DWORD", "dwDesiredAccess", "in" ]
20
+ ])
21
+
22
+ # Function for creating a Service
23
+ railgun.add_function( 'advapi32', 'CreateServiceA','DWORD',[
24
+ [ "DWORD", "hSCManager", "in" ],
25
+ [ "PCHAR", "lpServiceName", "in" ],
26
+ [ "PCHAR", "lpDisplayName", "in" ],
27
+ [ "DWORD", "dwDesiredAccess", "in" ],
28
+ [ "DWORD", "dwServiceType", "in" ],
29
+ [ "DWORD", "dwStartType", "in" ],
30
+ [ "DWORD", "dwErrorControl", "in" ],
31
+ [ "PCHAR", "lpBinaryPathName", "in" ],
32
+ [ "PCHAR", "lpLoadOrderGroup", "in" ],
33
+ [ "PDWORD", "lpdwTagId", "out" ],
34
+ [ "PCHAR", "lpDependencies", "in" ],
35
+ [ "PCHAR", "lpServiceStartName", "in" ],
36
+ [ "PCHAR", "lpPassword", "in" ]
37
+ ])
38
+
39
+ railgun.add_function( 'advapi32', 'OpenServiceA','DWORD',[
40
+ [ "DWORD", "hSCManager", "in" ],
41
+ [ "PCHAR", "lpServiceName", "in" ],
42
+ [ "DWORD", "dwDesiredAccess", "in" ]
43
+ ])
44
+
45
+ #access rights: SERVICE_CHANGE_CONFIG (0x0002) SERVICE_START (0x0010)
46
+ #SERVICE_STOP (0x0020)
47
+
48
+ railgun.add_function( 'advapi32', 'StartServiceA','BOOL',[
49
+ [ "DWORD", "hService", "in" ],
50
+ [ "DWORD", "dwNumServiceArgs", "in" ],
51
+ [ "PCHAR", "lpServiceArgVectors", "in" ]
52
+ ])
53
+
54
+ railgun.add_function( 'advapi32', 'ControlService','BOOL',[
55
+ [ "DWORD", "hService", "in" ],
56
+ [ "DWORD", "dwControl", "in" ],
57
+ [ "PBLOB", "lpServiceStatus", "out" ]
58
+ ])
59
+
60
+ #SERVICE_CONTROL_STOP = 0x00000001
61
+
62
+ # _SERVICE_STATUS is an array of 7 DWORDS - dwServiceType;
63
+ #dwCurrentState; dwControlsAccepted; dwWin32ExitCode;
64
+ #dwServiceSpecificExitCode; dwCheckPoint; dwWaitHint;
65
+
66
+ railgun.add_function( 'advapi32', 'ChangeServiceConfigA','BOOL',[
67
+ [ "DWORD", "hService", "in" ],
68
+ [ "DWORD", "dwServiceType", "in" ],
69
+ [ "DWORD", "dwStartType", "in" ],
70
+ [ "DWORD", "dwErrorControl", "in" ],
71
+ [ "PCHAR", "lpBinaryPathName", "in" ],
72
+ [ "PCHAR", "lpLoadOrderGroup", "in" ],
73
+ [ "PDWORD", "lpdwTagId", "out" ],
74
+ [ "PCHAR", "lpDependencies", "in" ],
75
+ [ "PCHAR", "lpServiceStartName", "in" ],
76
+ [ "PCHAR", "lpPassword", "in" ],
77
+ [ "PCHAR", "lpDisplayName", "in" ]
78
+ ])
79
+
80
+ railgun.add_function( 'advapi32', 'CloseServiceHandle','BOOL',[
81
+ [ "DWORD", "hSCObject", "in" ]
82
+ ])
83
+
84
+ railgun.add_function( 'advapi32', 'AbortSystemShutdownA', 'BOOL',[
85
+ ["PCHAR","lpMachineName","in"],
86
+ ])
87
+
88
+ railgun.add_function( 'advapi32', 'AbortSystemShutdownW', 'BOOL',[
89
+ ["PWCHAR","lpMachineName","in"],
90
+ ])
91
+
92
+ railgun.add_function( 'advapi32', 'InitiateSystemShutdownA', 'BOOL',[
93
+ ["PCHAR","lpMachineName","in"],
94
+ ["PCHAR","lpMessage","in"],
95
+ ["DWORD","dwTimeout","in"],
96
+ ["BOOL","bForceAppsClosed","in"],
97
+ ["BOOL","bRebootAfterShutdown","in"],
98
+ ])
99
+
100
+ railgun.add_function( 'advapi32', 'InitiateSystemShutdownExA', 'BOOL',[
101
+ ["PCHAR","lpMachineName","in"],
102
+ ["PCHAR","lpMessage","in"],
103
+ ["DWORD","dwTimeout","in"],
104
+ ["BOOL","bForceAppsClosed","in"],
105
+ ["BOOL","bRebootAfterShutdown","in"],
106
+ ["DWORD","dwReason","in"],
107
+ ])
108
+
109
+ railgun.add_function( 'advapi32', 'InitiateSystemShutdownExW', 'BOOL',[
110
+ ["PWCHAR","lpMachineName","in"],
111
+ ["PWCHAR","lpMessage","in"],
112
+ ["DWORD","dwTimeout","in"],
113
+ ["BOOL","bForceAppsClosed","in"],
114
+ ["BOOL","bRebootAfterShutdown","in"],
115
+ ["DWORD","dwReason","in"],
116
+ ])
117
+
118
+ railgun.add_function( 'advapi32', 'InitiateSystemShutdownW', 'BOOL',[
119
+ ["PWCHAR","lpMachineName","in"],
120
+ ["PWCHAR","lpMessage","in"],
121
+ ["DWORD","dwTimeout","in"],
122
+ ["BOOL","bForceAppsClosed","in"],
123
+ ["BOOL","bRebootAfterShutdown","in"],
124
+ ])
125
+
126
+ railgun.add_function( 'advapi32', 'RegCloseKey', 'DWORD',[
127
+ ["DWORD","hKey","in"],
128
+ ])
129
+
130
+ railgun.add_function( 'advapi32', 'RegConnectRegistryA', 'DWORD',[
131
+ ["PCHAR","lpMachineName","in"],
132
+ ["DWORD","hKey","in"],
133
+ ["PDWORD","phkResult","out"],
134
+ ])
135
+
136
+ railgun.add_function( 'advapi32', 'RegConnectRegistryExA', 'DWORD',[
137
+ ["PCHAR","lpMachineName","in"],
138
+ ["DWORD","hKey","in"],
139
+ ["DWORD","Flags","in"],
140
+ ["PDWORD","phkResult","out"],
141
+ ])
142
+
143
+ railgun.add_function( 'advapi32', 'RegConnectRegistryExW', 'DWORD',[
144
+ ["PWCHAR","lpMachineName","in"],
145
+ ["DWORD","hKey","in"],
146
+ ["DWORD","Flags","in"],
147
+ ["PDWORD","phkResult","out"],
148
+ ])
149
+
150
+ railgun.add_function( 'advapi32', 'RegConnectRegistryW', 'DWORD',[
151
+ ["PWCHAR","lpMachineName","in"],
152
+ ["DWORD","hKey","in"],
153
+ ["PDWORD","phkResult","out"],
154
+ ])
155
+
156
+ railgun.add_function( 'advapi32', 'RegCreateKeyA', 'DWORD',[
157
+ ["DWORD","hKey","in"],
158
+ ["PCHAR","lpSubKey","in"],
159
+ ["PDWORD","phkResult","out"],
160
+ ])
161
+
162
+ railgun.add_function( 'advapi32', 'RegCreateKeyExA', 'DWORD',[
163
+ ["DWORD","hKey","in"],
164
+ ["PCHAR","lpSubKey","in"],
165
+ ["DWORD","Reserved","inout"],
166
+ ["PCHAR","lpClass","in"],
167
+ ["DWORD","dwOptions","in"],
168
+ ["DWORD","samDesired","in"],
169
+ ["PBLOB","lpSecurityAttributes","in"],
170
+ ["PDWORD","phkResult","out"],
171
+ ["PDWORD","lpdwDisposition","out"],
172
+ ])
173
+
174
+ railgun.add_function( 'advapi32', 'RegCreateKeyExW', 'DWORD',[
175
+ ["DWORD","hKey","in"],
176
+ ["PWCHAR","lpSubKey","in"],
177
+ ["DWORD","Reserved","inout"],
178
+ ["PWCHAR","lpClass","in"],
179
+ ["DWORD","dwOptions","in"],
180
+ ["DWORD","samDesired","in"],
181
+ ["PBLOB","lpSecurityAttributes","in"],
182
+ ["PDWORD","phkResult","out"],
183
+ ["PDWORD","lpdwDisposition","out"],
184
+ ])
185
+
186
+ railgun.add_function( 'advapi32', 'RegCreateKeyW', 'DWORD',[
187
+ ["DWORD","hKey","in"],
188
+ ["PWCHAR","lpSubKey","in"],
189
+ ["PDWORD","phkResult","out"],
190
+ ])
191
+
192
+ railgun.add_function( 'advapi32', 'RegDeleteKeyA', 'DWORD',[
193
+ ["DWORD","hKey","in"],
194
+ ["PCHAR","lpSubKey","in"],
195
+ ])
196
+
197
+ railgun.add_function( 'advapi32', 'RegDeleteKeyExA', 'DWORD',[
198
+ ["DWORD","hKey","in"],
199
+ ["PCHAR","lpSubKey","in"],
200
+ ["DWORD","samDesired","in"],
201
+ ["DWORD","Reserved","inout"],
202
+ ])
203
+
204
+ railgun.add_function( 'advapi32', 'RegDeleteKeyExW', 'DWORD',[
205
+ ["DWORD","hKey","in"],
206
+ ["PWCHAR","lpSubKey","in"],
207
+ ["DWORD","samDesired","in"],
208
+ ["DWORD","Reserved","inout"],
209
+ ])
210
+
211
+ railgun.add_function( 'advapi32', 'RegDeleteKeyW', 'DWORD',[
212
+ ["DWORD","hKey","in"],
213
+ ["PWCHAR","lpSubKey","in"],
214
+ ])
215
+
216
+ railgun.add_function( 'advapi32', 'RegDeleteValueA', 'DWORD',[
217
+ ["DWORD","hKey","in"],
218
+ ["PCHAR","lpValueName","in"],
219
+ ])
220
+
221
+ railgun.add_function( 'advapi32', 'RegDeleteValueW', 'DWORD',[
222
+ ["DWORD","hKey","in"],
223
+ ["PWCHAR","lpValueName","in"],
224
+ ])
225
+
226
+ railgun.add_function( 'advapi32', 'RegDisablePredefinedCache', 'DWORD',[
227
+ ])
228
+
229
+ railgun.add_function( 'advapi32', 'RegDisableReflectionKey', 'DWORD',[
230
+ ["DWORD","hBase","in"],
231
+ ])
232
+
233
+ railgun.add_function( 'advapi32', 'RegEnableReflectionKey', 'DWORD',[
234
+ ["DWORD","hBase","in"],
235
+ ])
236
+
237
+ railgun.add_function( 'advapi32', 'RegEnumKeyA', 'DWORD',[
238
+ ["DWORD","hKey","in"],
239
+ ["DWORD","dwIndex","in"],
240
+ ["PCHAR","lpName","out"],
241
+ ["DWORD","cchName","in"],
242
+ ])
243
+
244
+ railgun.add_function( 'advapi32', 'RegEnumKeyExA', 'DWORD',[
245
+ ["DWORD","hKey","in"],
246
+ ["DWORD","dwIndex","in"],
247
+ ["PCHAR","lpName","out"],
248
+ ["PDWORD","lpcchName","inout"],
249
+ ["PDWORD","lpReserved","inout"],
250
+ ["PCHAR","lpClass","inout"],
251
+ ["PDWORD","lpcchClass","inout"],
252
+ ["PBLOB","lpftLastWriteTime","out"],
253
+ ])
254
+
255
+ railgun.add_function( 'advapi32', 'RegEnumKeyExW', 'DWORD',[
256
+ ["DWORD","hKey","in"],
257
+ ["DWORD","dwIndex","in"],
258
+ ["PWCHAR","lpName","out"],
259
+ ["PDWORD","lpcchName","inout"],
260
+ ["PDWORD","lpReserved","inout"],
261
+ ["PWCHAR","lpClass","inout"],
262
+ ["PDWORD","lpcchClass","inout"],
263
+ ["PBLOB","lpftLastWriteTime","out"],
264
+ ])
265
+
266
+ railgun.add_function( 'advapi32', 'RegEnumKeyW', 'DWORD',[
267
+ ["DWORD","hKey","in"],
268
+ ["DWORD","dwIndex","in"],
269
+ ["PWCHAR","lpName","out"],
270
+ ["DWORD","cchName","in"],
271
+ ])
272
+
273
+ railgun.add_function( 'advapi32', 'RegEnumValueA', 'DWORD',[
274
+ ["DWORD","hKey","in"],
275
+ ["DWORD","dwIndex","in"],
276
+ ["PCHAR","lpValueName","out"],
277
+ ["PDWORD","lpcchValueName","inout"],
278
+ ["PDWORD","lpReserved","inout"],
279
+ ["PDWORD","lpType","out"],
280
+ ["PBLOB","lpData","out"],
281
+ ["PDWORD","lpcbData","inout"],
282
+ ])
283
+
284
+ railgun.add_function( 'advapi32', 'RegEnumValueW', 'DWORD',[
285
+ ["DWORD","hKey","in"],
286
+ ["DWORD","dwIndex","in"],
287
+ ["PWCHAR","lpValueName","out"],
288
+ ["PDWORD","lpcchValueName","inout"],
289
+ ["PDWORD","lpReserved","inout"],
290
+ ["PDWORD","lpType","out"],
291
+ ["PBLOB","lpData","out"],
292
+ ["PDWORD","lpcbData","inout"],
293
+ ])
294
+
295
+ railgun.add_function( 'advapi32', 'RegFlushKey', 'DWORD',[
296
+ ["DWORD","hKey","in"],
297
+ ])
298
+
299
+ railgun.add_function( 'advapi32', 'RegGetKeySecurity', 'DWORD',[
300
+ ["DWORD","hKey","in"],
301
+ ["PBLOB","SecurityInformation","in"],
302
+ ["PBLOB","pSecurityDescriptor","out"],
303
+ ["PDWORD","lpcbSecurityDescriptor","inout"],
304
+ ])
305
+
306
+ railgun.add_function( 'advapi32', 'RegGetValueA', 'DWORD',[
307
+ ["DWORD","hkey","in"],
308
+ ["PCHAR","lpSubKey","in"],
309
+ ["PCHAR","lpValue","in"],
310
+ ["DWORD","dwFlags","in"],
311
+ ["PDWORD","pdwType","out"],
312
+ ["PBLOB","pvData","out"],
313
+ ["PDWORD","pcbData","inout"],
314
+ ])
315
+
316
+ railgun.add_function( 'advapi32', 'RegGetValueW', 'DWORD',[
317
+ ["DWORD","hkey","in"],
318
+ ["PWCHAR","lpSubKey","in"],
319
+ ["PWCHAR","lpValue","in"],
320
+ ["DWORD","dwFlags","in"],
321
+ ["PDWORD","pdwType","out"],
322
+ ["PBLOB","pvData","out"],
323
+ ["PDWORD","pcbData","inout"],
324
+ ])
325
+
326
+ railgun.add_function( 'advapi32', 'RegLoadKeyA', 'DWORD',[
327
+ ["DWORD","hKey","in"],
328
+ ["PCHAR","lpSubKey","in"],
329
+ ["PCHAR","lpFile","in"],
330
+ ])
331
+
332
+ railgun.add_function( 'advapi32', 'RegLoadKeyW', 'DWORD',[
333
+ ["DWORD","hKey","in"],
334
+ ["PWCHAR","lpSubKey","in"],
335
+ ["PWCHAR","lpFile","in"],
336
+ ])
337
+
338
+ railgun.add_function( 'advapi32', 'RegNotifyChangeKeyValue', 'DWORD',[
339
+ ["DWORD","hKey","in"],
340
+ ["BOOL","bWatchSubtree","in"],
341
+ ["DWORD","dwNotifyFilter","in"],
342
+ ["DWORD","hEvent","in"],
343
+ ["BOOL","fAsynchronous","in"],
344
+ ])
345
+
346
+ railgun.add_function( 'advapi32', 'RegOpenCurrentUser', 'DWORD',[
347
+ ["DWORD","samDesired","in"],
348
+ ["PDWORD","phkResult","out"],
349
+ ])
350
+
351
+ railgun.add_function( 'advapi32', 'RegOpenKeyA', 'DWORD',[
352
+ ["DWORD","hKey","in"],
353
+ ["PCHAR","lpSubKey","in"],
354
+ ["PDWORD","phkResult","out"],
355
+ ])
356
+
357
+ railgun.add_function( 'advapi32', 'RegOpenKeyExA', 'DWORD',[
358
+ ["DWORD","hKey","in"],
359
+ ["PCHAR","lpSubKey","in"],
360
+ ["DWORD","ulOptions","inout"],
361
+ ["DWORD","samDesired","in"],
362
+ ["PDWORD","phkResult","out"],
363
+ ])
364
+
365
+ railgun.add_function( 'advapi32', 'RegOpenKeyExW', 'DWORD',[
366
+ ["DWORD","hKey","in"],
367
+ ["PWCHAR","lpSubKey","in"],
368
+ ["DWORD","ulOptions","inout"],
369
+ ["DWORD","samDesired","in"],
370
+ ["PDWORD","phkResult","out"],
371
+ ])
372
+
373
+ railgun.add_function( 'advapi32', 'RegOpenKeyW', 'DWORD',[
374
+ ["DWORD","hKey","in"],
375
+ ["PWCHAR","lpSubKey","in"],
376
+ ["PDWORD","phkResult","out"],
377
+ ])
378
+
379
+ railgun.add_function( 'advapi32', 'RegOpenUserClassesRoot', 'DWORD',[
380
+ ["DWORD","hToken","in"],
381
+ ["DWORD","dwOptions","inout"],
382
+ ["DWORD","samDesired","in"],
383
+ ["PDWORD","phkResult","out"],
384
+ ])
385
+
386
+ railgun.add_function( 'advapi32', 'RegOverridePredefKey', 'DWORD',[
387
+ ["DWORD","hKey","in"],
388
+ ["DWORD","hNewHKey","in"],
389
+ ])
390
+
391
+ railgun.add_function( 'advapi32', 'RegQueryInfoKeyA', 'DWORD',[
392
+ ["DWORD","hKey","in"],
393
+ ["PCHAR","lpClass","out"],
394
+ ["PDWORD","lpcchClass","inout"],
395
+ ["PDWORD","lpReserved","inout"],
396
+ ["PDWORD","lpcSubKeys","out"],
397
+ ["PDWORD","lpcbMaxSubKeyLen","out"],
398
+ ["PDWORD","lpcbMaxClassLen","out"],
399
+ ["PDWORD","lpcValues","out"],
400
+ ["PDWORD","lpcbMaxValueNameLen","out"],
401
+ ["PDWORD","lpcbMaxValueLen","out"],
402
+ ["PDWORD","lpcbSecurityDescriptor","out"],
403
+ ["PBLOB","lpftLastWriteTime","out"],
404
+ ])
405
+
406
+ railgun.add_function( 'advapi32', 'RegQueryInfoKeyW', 'DWORD',[
407
+ ["DWORD","hKey","in"],
408
+ ["PWCHAR","lpClass","out"],
409
+ ["PDWORD","lpcchClass","inout"],
410
+ ["PDWORD","lpReserved","inout"],
411
+ ["PDWORD","lpcSubKeys","out"],
412
+ ["PDWORD","lpcbMaxSubKeyLen","out"],
413
+ ["PDWORD","lpcbMaxClassLen","out"],
414
+ ["PDWORD","lpcValues","out"],
415
+ ["PDWORD","lpcbMaxValueNameLen","out"],
416
+ ["PDWORD","lpcbMaxValueLen","out"],
417
+ ["PDWORD","lpcbSecurityDescriptor","out"],
418
+ ["PBLOB","lpftLastWriteTime","out"],
419
+ ])
420
+
421
+ railgun.add_function( 'advapi32', 'RegQueryMultipleValuesA', 'DWORD',[
422
+ ["DWORD","hKey","in"],
423
+ ["PBLOB","val_list","out"],
424
+ ["DWORD","num_vals","in"],
425
+ ["PCHAR","lpValueBuf","out"],
426
+ ["PDWORD","ldwTotsize","inout"],
427
+ ])
428
+
429
+ railgun.add_function( 'advapi32', 'RegQueryMultipleValuesW', 'DWORD',[
430
+ ["DWORD","hKey","in"],
431
+ ["PBLOB","val_list","out"],
432
+ ["DWORD","num_vals","in"],
433
+ ["PWCHAR","lpValueBuf","out"],
434
+ ["PDWORD","ldwTotsize","inout"],
435
+ ])
436
+
437
+ railgun.add_function( 'advapi32', 'RegQueryReflectionKey', 'DWORD',[
438
+ ["DWORD","hBase","in"],
439
+ ["PBLOB","bIsReflectionDisabled","out"],
440
+ ])
441
+
442
+ railgun.add_function( 'advapi32', 'RegQueryValueA', 'DWORD',[
443
+ ["DWORD","hKey","in"],
444
+ ["PCHAR","lpSubKey","in"],
445
+ ["PCHAR","lpData","out"],
446
+ ["PDWORD","lpcbData","inout"],
447
+ ])
448
+
449
+ railgun.add_function( 'advapi32', 'RegQueryValueExA', 'DWORD',[
450
+ ["DWORD","hKey","in"],
451
+ ["PCHAR","lpValueName","in"],
452
+ ["PDWORD","lpReserved","inout"],
453
+ ["PDWORD","lpType","out"],
454
+ ["PBLOB","lpData","out"],
455
+ ["PDWORD","lpcbData","inout"],
456
+ ])
457
+
458
+ railgun.add_function( 'advapi32', 'RegQueryValueExW', 'DWORD',[
459
+ ["DWORD","hKey","in"],
460
+ ["PWCHAR","lpValueName","in"],
461
+ ["PDWORD","lpReserved","inout"],
462
+ ["PDWORD","lpType","out"],
463
+ ["PBLOB","lpData","out"],
464
+ ["PDWORD","lpcbData","inout"],
465
+ ])
466
+
467
+ railgun.add_function( 'advapi32', 'RegQueryValueW', 'DWORD',[
468
+ ["DWORD","hKey","in"],
469
+ ["PWCHAR","lpSubKey","in"],
470
+ ["PWCHAR","lpData","out"],
471
+ ["PDWORD","lpcbData","inout"],
472
+ ])
473
+
474
+ railgun.add_function( 'advapi32', 'RegReplaceKeyA', 'DWORD',[
475
+ ["DWORD","hKey","in"],
476
+ ["PCHAR","lpSubKey","in"],
477
+ ["PCHAR","lpNewFile","in"],
478
+ ["PCHAR","lpOldFile","in"],
479
+ ])
480
+
481
+ railgun.add_function( 'advapi32', 'RegReplaceKeyW', 'DWORD',[
482
+ ["DWORD","hKey","in"],
483
+ ["PWCHAR","lpSubKey","in"],
484
+ ["PWCHAR","lpNewFile","in"],
485
+ ["PWCHAR","lpOldFile","in"],
486
+ ])
487
+
488
+ railgun.add_function( 'advapi32', 'RegRestoreKeyA', 'DWORD',[
489
+ ["DWORD","hKey","in"],
490
+ ["PCHAR","lpFile","in"],
491
+ ["DWORD","dwFlags","in"],
492
+ ])
493
+
494
+ railgun.add_function( 'advapi32', 'RegRestoreKeyW', 'DWORD',[
495
+ ["DWORD","hKey","in"],
496
+ ["PWCHAR","lpFile","in"],
497
+ ["DWORD","dwFlags","in"],
498
+ ])
499
+
500
+ railgun.add_function( 'advapi32', 'RegSaveKeyA', 'DWORD',[
501
+ ["DWORD","hKey","in"],
502
+ ["PCHAR","lpFile","in"],
503
+ ["PBLOB","lpSecurityAttributes","in"],
504
+ ])
505
+
506
+ railgun.add_function( 'advapi32', 'RegSaveKeyExA', 'DWORD',[
507
+ ["DWORD","hKey","in"],
508
+ ["PCHAR","lpFile","in"],
509
+ ["PBLOB","lpSecurityAttributes","in"],
510
+ ["DWORD","Flags","in"],
511
+ ])
512
+
513
+ railgun.add_function( 'advapi32', 'RegSaveKeyExW', 'DWORD',[
514
+ ["DWORD","hKey","in"],
515
+ ["PWCHAR","lpFile","in"],
516
+ ["PBLOB","lpSecurityAttributes","in"],
517
+ ["DWORD","Flags","in"],
518
+ ])
519
+
520
+ railgun.add_function( 'advapi32', 'RegSaveKeyW', 'DWORD',[
521
+ ["DWORD","hKey","in"],
522
+ ["PWCHAR","lpFile","in"],
523
+ ["PBLOB","lpSecurityAttributes","in"],
524
+ ])
525
+
526
+ railgun.add_function( 'advapi32', 'RegSetKeySecurity', 'DWORD',[
527
+ ["DWORD","hKey","in"],
528
+ ["PBLOB","SecurityInformation","in"],
529
+ ["PBLOB","pSecurityDescriptor","in"],
530
+ ])
531
+
532
+ railgun.add_function( 'advapi32', 'RegSetValueA', 'DWORD',[
533
+ ["DWORD","hKey","in"],
534
+ ["PCHAR","lpSubKey","in"],
535
+ ["DWORD","dwType","in"],
536
+ ["PCHAR","lpData","in"],
537
+ ["DWORD","cbData","in"],
538
+ ])
539
+
540
+ railgun.add_function( 'advapi32', 'RegSetValueExA', 'DWORD',[
541
+ ["DWORD","hKey","in"],
542
+ ["PCHAR","lpValueName","in"],
543
+ ["DWORD","Reserved","inout"],
544
+ ["DWORD","dwType","in"],
545
+ ["PBLOB","lpData","in"],
546
+ ["DWORD","cbData","in"],
547
+ ])
548
+
549
+ railgun.add_function( 'advapi32', 'RegSetValueExW', 'DWORD',[
550
+ ["DWORD","hKey","in"],
551
+ ["PWCHAR","lpValueName","in"],
552
+ ["DWORD","Reserved","inout"],
553
+ ["DWORD","dwType","in"],
554
+ ["PBLOB","lpData","in"],
555
+ ["DWORD","cbData","in"],
556
+ ])
557
+
558
+ railgun.add_function( 'advapi32', 'RegSetValueW', 'DWORD',[
559
+ ["DWORD","hKey","in"],
560
+ ["PWCHAR","lpSubKey","in"],
561
+ ["DWORD","dwType","in"],
562
+ ["PWCHAR","lpData","in"],
563
+ ["DWORD","cbData","in"],
564
+ ])
565
+
566
+ railgun.add_function( 'advapi32', 'RegUnLoadKeyA', 'DWORD',[
567
+ ["DWORD","hKey","in"],
568
+ ["PCHAR","lpSubKey","in"],
569
+ ])
570
+
571
+ railgun.add_function( 'advapi32', 'RegUnLoadKeyW', 'DWORD',[
572
+ ["DWORD","hKey","in"],
573
+ ["PWCHAR","lpSubKey","in"],
574
+ ])
575
+
576
+ railgun.add_function( 'advapi32', 'Wow64Win32ApiEntry', 'DWORD',[
577
+ ["DWORD","dwFuncNumber","in"],
578
+ ["DWORD","dwFlag","in"],
579
+ ["DWORD","dwRes","in"],
580
+ ])
581
+
582
+ railgun.add_function( 'advapi32', 'AccessCheck', 'BOOL',[
583
+ ["PBLOB","pSecurityDescriptor","in"],
584
+ ["DWORD","ClientToken","in"],
585
+ ["DWORD","DesiredAccess","in"],
586
+ ["PBLOB","GenericMapping","in"],
587
+ ["PBLOB","PrivilegeSet","out"],
588
+ ["PDWORD","PrivilegeSetLength","inout"],
589
+ ["PDWORD","GrantedAccess","out"],
590
+ ["PBLOB","AccessStatus","out"],
591
+ ])
592
+
593
+ railgun.add_function( 'advapi32', 'AccessCheckAndAuditAlarmA', 'BOOL',[
594
+ ["PCHAR","SubsystemName","in"],
595
+ ["PBLOB","HandleId","in"],
596
+ ["PCHAR","ObjectTypeName","in"],
597
+ ["PCHAR","ObjectName","in"],
598
+ ["PBLOB","SecurityDescriptor","in"],
599
+ ["DWORD","DesiredAccess","in"],
600
+ ["PBLOB","GenericMapping","in"],
601
+ ["BOOL","ObjectCreation","in"],
602
+ ["PDWORD","GrantedAccess","out"],
603
+ ["PBLOB","AccessStatus","out"],
604
+ ["PBLOB","pfGenerateOnClose","out"],
605
+ ])
606
+
607
+ railgun.add_function( 'advapi32', 'AccessCheckAndAuditAlarmW', 'BOOL',[
608
+ ["PWCHAR","SubsystemName","in"],
609
+ ["PBLOB","HandleId","in"],
610
+ ["PWCHAR","ObjectTypeName","in"],
611
+ ["PWCHAR","ObjectName","in"],
612
+ ["PBLOB","SecurityDescriptor","in"],
613
+ ["DWORD","DesiredAccess","in"],
614
+ ["PBLOB","GenericMapping","in"],
615
+ ["BOOL","ObjectCreation","in"],
616
+ ["PDWORD","GrantedAccess","out"],
617
+ ["PBLOB","AccessStatus","out"],
618
+ ["PBLOB","pfGenerateOnClose","out"],
619
+ ])
620
+
621
+ railgun.add_function( 'advapi32', 'AccessCheckByType', 'BOOL',[
622
+ ["PBLOB","pSecurityDescriptor","in"],
623
+ ["PBLOB","PrincipalSelfSid","in"],
624
+ ["DWORD","ClientToken","in"],
625
+ ["DWORD","DesiredAccess","in"],
626
+ ["PBLOB","ObjectTypeList","inout"],
627
+ ["DWORD","ObjectTypeListLength","in"],
628
+ ["PBLOB","GenericMapping","in"],
629
+ ["PBLOB","PrivilegeSet","out"],
630
+ ["PDWORD","PrivilegeSetLength","inout"],
631
+ ["PDWORD","GrantedAccess","out"],
632
+ ["PBLOB","AccessStatus","out"],
633
+ ])
634
+
635
+ railgun.add_function( 'advapi32', 'AccessCheckByTypeAndAuditAlarmA', 'BOOL',[
636
+ ["PCHAR","SubsystemName","in"],
637
+ ["PBLOB","HandleId","in"],
638
+ ["PCHAR","ObjectTypeName","in"],
639
+ ["PCHAR","ObjectName","in"],
640
+ ["PBLOB","SecurityDescriptor","in"],
641
+ ["PBLOB","PrincipalSelfSid","in"],
642
+ ["DWORD","DesiredAccess","in"],
643
+ ["DWORD","AuditType","in"],
644
+ ["DWORD","Flags","in"],
645
+ ["PBLOB","ObjectTypeList","inout"],
646
+ ["DWORD","ObjectTypeListLength","in"],
647
+ ["PBLOB","GenericMapping","in"],
648
+ ["BOOL","ObjectCreation","in"],
649
+ ["PDWORD","GrantedAccess","out"],
650
+ ["PBLOB","AccessStatus","out"],
651
+ ["PBLOB","pfGenerateOnClose","out"],
652
+ ])
653
+
654
+ railgun.add_function( 'advapi32', 'AccessCheckByTypeAndAuditAlarmW', 'BOOL',[
655
+ ["PWCHAR","SubsystemName","in"],
656
+ ["PBLOB","HandleId","in"],
657
+ ["PWCHAR","ObjectTypeName","in"],
658
+ ["PWCHAR","ObjectName","in"],
659
+ ["PBLOB","SecurityDescriptor","in"],
660
+ ["PBLOB","PrincipalSelfSid","in"],
661
+ ["DWORD","DesiredAccess","in"],
662
+ ["DWORD","AuditType","in"],
663
+ ["DWORD","Flags","in"],
664
+ ["PBLOB","ObjectTypeList","inout"],
665
+ ["DWORD","ObjectTypeListLength","in"],
666
+ ["PBLOB","GenericMapping","in"],
667
+ ["BOOL","ObjectCreation","in"],
668
+ ["PDWORD","GrantedAccess","out"],
669
+ ["PBLOB","AccessStatus","out"],
670
+ ["PBLOB","pfGenerateOnClose","out"],
671
+ ])
672
+
673
+ railgun.add_function( 'advapi32', 'AccessCheckByTypeResultList', 'BOOL',[
674
+ ["PBLOB","pSecurityDescriptor","in"],
675
+ ["PBLOB","PrincipalSelfSid","in"],
676
+ ["DWORD","ClientToken","in"],
677
+ ["DWORD","DesiredAccess","in"],
678
+ ["PBLOB","ObjectTypeList","inout"],
679
+ ["DWORD","ObjectTypeListLength","in"],
680
+ ["PBLOB","GenericMapping","in"],
681
+ ["PBLOB","PrivilegeSet","out"],
682
+ ["PDWORD","PrivilegeSetLength","inout"],
683
+ ["PDWORD","GrantedAccessList","out"],
684
+ ["PDWORD","AccessStatusList","out"],
685
+ ])
686
+
687
+ railgun.add_function( 'advapi32', 'AccessCheckByTypeResultListAndAuditAlarmA', 'BOOL',[
688
+ ["PCHAR","SubsystemName","in"],
689
+ ["PBLOB","HandleId","in"],
690
+ ["PCHAR","ObjectTypeName","in"],
691
+ ["PCHAR","ObjectName","in"],
692
+ ["PBLOB","SecurityDescriptor","in"],
693
+ ["PBLOB","PrincipalSelfSid","in"],
694
+ ["DWORD","DesiredAccess","in"],
695
+ ["DWORD","AuditType","in"],
696
+ ["DWORD","Flags","in"],
697
+ ["PBLOB","ObjectTypeList","inout"],
698
+ ["DWORD","ObjectTypeListLength","in"],
699
+ ["PBLOB","GenericMapping","in"],
700
+ ["BOOL","ObjectCreation","in"],
701
+ ["PDWORD","GrantedAccess","out"],
702
+ ["PDWORD","AccessStatusList","out"],
703
+ ["PBLOB","pfGenerateOnClose","out"],
704
+ ])
705
+
706
+ railgun.add_function( 'advapi32', 'AccessCheckByTypeResultListAndAuditAlarmByHandleA', 'BOOL',[
707
+ ["PCHAR","SubsystemName","in"],
708
+ ["PBLOB","HandleId","in"],
709
+ ["DWORD","ClientToken","in"],
710
+ ["PCHAR","ObjectTypeName","in"],
711
+ ["PCHAR","ObjectName","in"],
712
+ ["PBLOB","SecurityDescriptor","in"],
713
+ ["PBLOB","PrincipalSelfSid","in"],
714
+ ["DWORD","DesiredAccess","in"],
715
+ ["DWORD","AuditType","in"],
716
+ ["DWORD","Flags","in"],
717
+ ["PBLOB","ObjectTypeList","inout"],
718
+ ["DWORD","ObjectTypeListLength","in"],
719
+ ["PBLOB","GenericMapping","in"],
720
+ ["BOOL","ObjectCreation","in"],
721
+ ["PDWORD","GrantedAccess","out"],
722
+ ["PDWORD","AccessStatusList","out"],
723
+ ["PBLOB","pfGenerateOnClose","out"],
724
+ ])
725
+
726
+ railgun.add_function( 'advapi32', 'AccessCheckByTypeResultListAndAuditAlarmByHandleW', 'BOOL',[
727
+ ["PWCHAR","SubsystemName","in"],
728
+ ["PBLOB","HandleId","in"],
729
+ ["DWORD","ClientToken","in"],
730
+ ["PWCHAR","ObjectTypeName","in"],
731
+ ["PWCHAR","ObjectName","in"],
732
+ ["PBLOB","SecurityDescriptor","in"],
733
+ ["PBLOB","PrincipalSelfSid","in"],
734
+ ["DWORD","DesiredAccess","in"],
735
+ ["DWORD","AuditType","in"],
736
+ ["DWORD","Flags","in"],
737
+ ["PBLOB","ObjectTypeList","inout"],
738
+ ["DWORD","ObjectTypeListLength","in"],
739
+ ["PBLOB","GenericMapping","in"],
740
+ ["BOOL","ObjectCreation","in"],
741
+ ["PDWORD","GrantedAccess","out"],
742
+ ["PDWORD","AccessStatusList","out"],
743
+ ["PBLOB","pfGenerateOnClose","out"],
744
+ ])
745
+
746
+ railgun.add_function( 'advapi32', 'AccessCheckByTypeResultListAndAuditAlarmW', 'BOOL',[
747
+ ["PWCHAR","SubsystemName","in"],
748
+ ["PBLOB","HandleId","in"],
749
+ ["PWCHAR","ObjectTypeName","in"],
750
+ ["PWCHAR","ObjectName","in"],
751
+ ["PBLOB","SecurityDescriptor","in"],
752
+ ["PBLOB","PrincipalSelfSid","in"],
753
+ ["DWORD","DesiredAccess","in"],
754
+ ["DWORD","AuditType","in"],
755
+ ["DWORD","Flags","in"],
756
+ ["PBLOB","ObjectTypeList","inout"],
757
+ ["DWORD","ObjectTypeListLength","in"],
758
+ ["PBLOB","GenericMapping","in"],
759
+ ["BOOL","ObjectCreation","in"],
760
+ ["PDWORD","GrantedAccess","out"],
761
+ ["PDWORD","AccessStatusList","out"],
762
+ ["PBLOB","pfGenerateOnClose","out"],
763
+ ])
764
+
765
+ railgun.add_function( 'advapi32', 'AddAccessAllowedAce', 'BOOL',[
766
+ ["PBLOB","pAcl","inout"],
767
+ ["DWORD","dwAceRevision","in"],
768
+ ["DWORD","AccessMask","in"],
769
+ ["PBLOB","pSid","in"],
770
+ ])
771
+
772
+ railgun.add_function( 'advapi32', 'AddAccessAllowedAceEx', 'BOOL',[
773
+ ["PBLOB","pAcl","inout"],
774
+ ["DWORD","dwAceRevision","in"],
775
+ ["DWORD","AceFlags","in"],
776
+ ["DWORD","AccessMask","in"],
777
+ ["PBLOB","pSid","in"],
778
+ ])
779
+
780
+ railgun.add_function( 'advapi32', 'AddAccessAllowedObjectAce', 'BOOL',[
781
+ ["PBLOB","pAcl","inout"],
782
+ ["DWORD","dwAceRevision","in"],
783
+ ["DWORD","AceFlags","in"],
784
+ ["DWORD","AccessMask","in"],
785
+ ["PBLOB","ObjectTypeGuid","in"],
786
+ ["PBLOB","InheritedObjectTypeGuid","in"],
787
+ ["PBLOB","pSid","in"],
788
+ ])
789
+
790
+ railgun.add_function( 'advapi32', 'AddAccessDeniedAce', 'BOOL',[
791
+ ["PBLOB","pAcl","inout"],
792
+ ["DWORD","dwAceRevision","in"],
793
+ ["DWORD","AccessMask","in"],
794
+ ["PBLOB","pSid","in"],
795
+ ])
796
+
797
+ railgun.add_function( 'advapi32', 'AddAccessDeniedAceEx', 'BOOL',[
798
+ ["PBLOB","pAcl","inout"],
799
+ ["DWORD","dwAceRevision","in"],
800
+ ["DWORD","AceFlags","in"],
801
+ ["DWORD","AccessMask","in"],
802
+ ["PBLOB","pSid","in"],
803
+ ])
804
+
805
+ railgun.add_function( 'advapi32', 'AddAccessDeniedObjectAce', 'BOOL',[
806
+ ["PBLOB","pAcl","inout"],
807
+ ["DWORD","dwAceRevision","in"],
808
+ ["DWORD","AceFlags","in"],
809
+ ["DWORD","AccessMask","in"],
810
+ ["PBLOB","ObjectTypeGuid","in"],
811
+ ["PBLOB","InheritedObjectTypeGuid","in"],
812
+ ["PBLOB","pSid","in"],
813
+ ])
814
+
815
+ railgun.add_function( 'advapi32', 'AddAce', 'BOOL',[
816
+ ["PBLOB","pAcl","inout"],
817
+ ["DWORD","dwAceRevision","in"],
818
+ ["DWORD","dwStartingAceIndex","in"],
819
+ ["PBLOB","pAceList","in"],
820
+ ["DWORD","nAceListLength","in"],
821
+ ])
822
+
823
+ railgun.add_function( 'advapi32', 'AddAuditAccessAce', 'BOOL',[
824
+ ["PBLOB","pAcl","inout"],
825
+ ["DWORD","dwAceRevision","in"],
826
+ ["DWORD","dwAccessMask","in"],
827
+ ["PBLOB","pSid","in"],
828
+ ["BOOL","bAuditSuccess","in"],
829
+ ["BOOL","bAuditFailure","in"],
830
+ ])
831
+
832
+ railgun.add_function( 'advapi32', 'AddAuditAccessAceEx', 'BOOL',[
833
+ ["PBLOB","pAcl","inout"],
834
+ ["DWORD","dwAceRevision","in"],
835
+ ["DWORD","AceFlags","in"],
836
+ ["DWORD","dwAccessMask","in"],
837
+ ["PBLOB","pSid","in"],
838
+ ["BOOL","bAuditSuccess","in"],
839
+ ["BOOL","bAuditFailure","in"],
840
+ ])
841
+
842
+ railgun.add_function( 'advapi32', 'AddAuditAccessObjectAce', 'BOOL',[
843
+ ["PBLOB","pAcl","inout"],
844
+ ["DWORD","dwAceRevision","in"],
845
+ ["DWORD","AceFlags","in"],
846
+ ["DWORD","AccessMask","in"],
847
+ ["PBLOB","ObjectTypeGuid","in"],
848
+ ["PBLOB","InheritedObjectTypeGuid","in"],
849
+ ["PBLOB","pSid","in"],
850
+ ["BOOL","bAuditSuccess","in"],
851
+ ["BOOL","bAuditFailure","in"],
852
+ ])
853
+
854
+ railgun.add_function( 'advapi32', 'AdjustTokenGroups', 'BOOL',[
855
+ ["DWORD","TokenHandle","in"],
856
+ ["BOOL","ResetToDefault","in"],
857
+ ["PBLOB","NewState","in"],
858
+ ["DWORD","BufferLength","in"],
859
+ ["PBLOB","PreviousState","out"],
860
+ ["PDWORD","ReturnLength","out"],
861
+ ])
862
+
863
+ railgun.add_function( 'advapi32', 'AdjustTokenPrivileges', 'BOOL',[
864
+ ["DWORD","TokenHandle","in"],
865
+ ["BOOL","DisableAllPrivileges","in"],
866
+ ["PBLOB","NewState","in"],
867
+ ["DWORD","BufferLength","in"],
868
+ ["PBLOB","PreviousState","out"],
869
+ ["PDWORD","ReturnLength","out"],
870
+ ])
871
+
872
+ railgun.add_function( 'advapi32', 'AllocateAndInitializeSid', 'BOOL',[
873
+ ["PBLOB","pIdentifierAuthority","in"],
874
+ ["BYTE","nSubAuthorityCount","in"],
875
+ ["DWORD","nSubAuthority0","in"],
876
+ ["DWORD","nSubAuthority1","in"],
877
+ ["DWORD","nSubAuthority2","in"],
878
+ ["DWORD","nSubAuthority3","in"],
879
+ ["DWORD","nSubAuthority4","in"],
880
+ ["DWORD","nSubAuthority5","in"],
881
+ ["DWORD","nSubAuthority6","in"],
882
+ ["DWORD","nSubAuthority7","in"],
883
+ ["PBLOB","pSid","out"],
884
+ ])
885
+
886
+ railgun.add_function( 'advapi32', 'AllocateLocallyUniqueId', 'BOOL',[
887
+ ["PBLOB","Luid","out"],
888
+ ])
889
+
890
+ railgun.add_function( 'advapi32', 'AreAllAccessesGranted', 'BOOL',[
891
+ ["DWORD","GrantedAccess","in"],
892
+ ["DWORD","DesiredAccess","in"],
893
+ ])
894
+
895
+ railgun.add_function( 'advapi32', 'AreAnyAccessesGranted', 'BOOL',[
896
+ ["DWORD","GrantedAccess","in"],
897
+ ["DWORD","DesiredAccess","in"],
898
+ ])
899
+
900
+ railgun.add_function( 'advapi32', 'BackupEventLogA', 'BOOL',[
901
+ ["DWORD","hEventLog","in"],
902
+ ["PCHAR","lpBackupFileName","in"],
903
+ ])
904
+
905
+ railgun.add_function( 'advapi32', 'BackupEventLogW', 'BOOL',[
906
+ ["DWORD","hEventLog","in"],
907
+ ["PWCHAR","lpBackupFileName","in"],
908
+ ])
909
+
910
+ railgun.add_function( 'advapi32', 'CheckTokenMembership', 'BOOL',[
911
+ ["DWORD","TokenHandle","in"],
912
+ ["PBLOB","SidToCheck","in"],
913
+ ["PBLOB","IsMember","out"],
914
+ ])
915
+
916
+ railgun.add_function( 'advapi32', 'ClearEventLogA', 'BOOL',[
917
+ ["DWORD","hEventLog","in"],
918
+ ["PCHAR","lpBackupFileName","in"],
919
+ ])
920
+
921
+ railgun.add_function( 'advapi32', 'ClearEventLogW', 'BOOL',[
922
+ ["DWORD","hEventLog","in"],
923
+ ["PWCHAR","lpBackupFileName","in"],
924
+ ])
925
+
926
+ railgun.add_function( 'advapi32', 'CloseEncryptedFileRaw', 'VOID',[
927
+ ["PBLOB","pvContext","in"],
928
+ ])
929
+
930
+ railgun.add_function( 'advapi32', 'CloseEventLog', 'BOOL',[
931
+ ["DWORD","hEventLog","in"],
932
+ ])
933
+
934
+ railgun.add_function( 'advapi32', 'ConvertToAutoInheritPrivateObjectSecurity', 'BOOL',[
935
+ ["PBLOB","ParentDescriptor","in"],
936
+ ["PBLOB","CurrentSecurityDescriptor","in"],
937
+ ["PBLOB","NewSecurityDescriptor","out"],
938
+ ["PBLOB","ObjectType","in"],
939
+ ["BOOL","IsDirectoryObject","in"],
940
+ ["PBLOB","GenericMapping","in"],
941
+ ])
942
+
943
+ railgun.add_function( 'advapi32', 'CopySid', 'BOOL',[
944
+ ["DWORD","nDestinationSidLength","in"],
945
+ ["PBLOB","pDestinationSid","out"],
946
+ ["PBLOB","pSourceSid","in"],
947
+ ])
948
+
949
+ railgun.add_function( 'advapi32', 'CreatePrivateObjectSecurity', 'BOOL',[
950
+ ["PBLOB","ParentDescriptor","in"],
951
+ ["PBLOB","CreatorDescriptor","in"],
952
+ ["PBLOB","NewDescriptor","out"],
953
+ ["BOOL","IsDirectoryObject","in"],
954
+ ["DWORD","Token","in"],
955
+ ["PBLOB","GenericMapping","in"],
956
+ ])
957
+
958
+ railgun.add_function( 'advapi32', 'CreatePrivateObjectSecurityEx', 'BOOL',[
959
+ ["PBLOB","ParentDescriptor","in"],
960
+ ["PBLOB","CreatorDescriptor","in"],
961
+ ["PBLOB","NewDescriptor","out"],
962
+ ["PBLOB","ObjectType","in"],
963
+ ["BOOL","IsContainerObject","in"],
964
+ ["DWORD","AutoInheritFlags","in"],
965
+ ["DWORD","Token","in"],
966
+ ["PBLOB","GenericMapping","in"],
967
+ ])
968
+
969
+ railgun.add_function( 'advapi32', 'CreatePrivateObjectSecurityWithMultipleInheritance', 'BOOL',[
970
+ ["PBLOB","ParentDescriptor","in"],
971
+ ["PBLOB","CreatorDescriptor","in"],
972
+ ["PBLOB","NewDescriptor","out"],
973
+ ["PBLOB","ObjectTypes","in"],
974
+ ["DWORD","GuidCount","in"],
975
+ ["BOOL","IsContainerObject","in"],
976
+ ["DWORD","AutoInheritFlags","in"],
977
+ ["DWORD","Token","in"],
978
+ ["PBLOB","GenericMapping","in"],
979
+ ])
980
+
981
+ railgun.add_function( 'advapi32', 'CreateProcessAsUserA', 'BOOL',[
982
+ ["DWORD","hToken","in"],
983
+ ["PCHAR","lpApplicationName","in"],
984
+ ["PCHAR","lpCommandLine","inout"],
985
+ ["PBLOB","lpProcessAttributes","in"],
986
+ ["PBLOB","lpThreadAttributes","in"],
987
+ ["BOOL","bInheritHandles","in"],
988
+ ["DWORD","dwCreationFlags","in"],
989
+ ["PBLOB","lpEnvironment","in"],
990
+ ["PCHAR","lpCurrentDirectory","in"],
991
+ ["PBLOB","lpStartupInfo","in"],
992
+ ["PBLOB","lpProcessInformation","out"],
993
+ ])
994
+
995
+ railgun.add_function( 'advapi32', 'CreateProcessAsUserW', 'BOOL',[
996
+ ["DWORD","hToken","in"],
997
+ ["PWCHAR","lpApplicationName","in"],
998
+ ["PWCHAR","lpCommandLine","inout"],
999
+ ["PBLOB","lpProcessAttributes","in"],
1000
+ ["PBLOB","lpThreadAttributes","in"],
1001
+ ["BOOL","bInheritHandles","in"],
1002
+ ["DWORD","dwCreationFlags","in"],
1003
+ ["PBLOB","lpEnvironment","in"],
1004
+ ["PWCHAR","lpCurrentDirectory","in"],
1005
+ ["PBLOB","lpStartupInfo","in"],
1006
+ ["PBLOB","lpProcessInformation","out"],
1007
+ ])
1008
+
1009
+ railgun.add_function( 'advapi32', 'CreateProcessWithLogonW', 'BOOL',[
1010
+ ["PWCHAR","lpUsername","in"],
1011
+ ["PWCHAR","lpDomain","in"],
1012
+ ["PWCHAR","lpPassword","in"],
1013
+ ["DWORD","dwLogonFlags","in"],
1014
+ ["PWCHAR","lpApplicationName","in"],
1015
+ ["PWCHAR","lpCommandLine","inout"],
1016
+ ["DWORD","dwCreationFlags","in"],
1017
+ ["PBLOB","lpEnvironment","in"],
1018
+ ["PWCHAR","lpCurrentDirectory","in"],
1019
+ ["PBLOB","lpStartupInfo","in"],
1020
+ ["PBLOB","lpProcessInformation","out"],
1021
+ ])
1022
+
1023
+ railgun.add_function( 'advapi32', 'CreateProcessWithTokenW', 'BOOL',[
1024
+ ["DWORD","hToken","in"],
1025
+ ["DWORD","dwLogonFlags","in"],
1026
+ ["PWCHAR","lpApplicationName","in"],
1027
+ ["PWCHAR","lpCommandLine","inout"],
1028
+ ["DWORD","dwCreationFlags","in"],
1029
+ ["PBLOB","lpEnvironment","in"],
1030
+ ["PWCHAR","lpCurrentDirectory","in"],
1031
+ ["PBLOB","lpStartupInfo","in"],
1032
+ ["PBLOB","lpProcessInformation","out"],
1033
+ ])
1034
+
1035
+ railgun.add_function( 'advapi32', 'CreateRestrictedToken', 'BOOL',[
1036
+ ["DWORD","ExistingTokenHandle","in"],
1037
+ ["DWORD","Flags","in"],
1038
+ ["DWORD","DisableSidCount","in"],
1039
+ ["PBLOB","SidsToDisable","in"],
1040
+ ["DWORD","DeletePrivilegeCount","in"],
1041
+ ["PBLOB","PrivilegesToDelete","in"],
1042
+ ["DWORD","RestrictedSidCount","in"],
1043
+ ["PBLOB","SidsToRestrict","in"],
1044
+ ["PDWORD","NewTokenHandle","out"],
1045
+ ])
1046
+
1047
+ railgun.add_function( 'advapi32', 'CreateWellKnownSid', 'BOOL',[
1048
+ ["DWORD","WellKnownSidType","in"],
1049
+ ["PBLOB","DomainSid","in"],
1050
+ ["PBLOB","pSid","out"],
1051
+ ["PDWORD","cbSid","inout"],
1052
+ ])
1053
+
1054
+ railgun.add_function( 'advapi32', 'DecryptFileA', 'BOOL',[
1055
+ ["PCHAR","lpFileName","in"],
1056
+ ["DWORD","dwReserved","inout"],
1057
+ ])
1058
+
1059
+ railgun.add_function( 'advapi32', 'DecryptFileW', 'BOOL',[
1060
+ ["PWCHAR","lpFileName","in"],
1061
+ ["DWORD","dwReserved","inout"],
1062
+ ])
1063
+
1064
+ railgun.add_function( 'advapi32', 'DeleteAce', 'BOOL',[
1065
+ ["PBLOB","pAcl","inout"],
1066
+ ["DWORD","dwAceIndex","in"],
1067
+ ])
1068
+
1069
+ railgun.add_function( 'advapi32', 'DeregisterEventSource', 'BOOL',[
1070
+ ["DWORD","hEventLog","in"],
1071
+ ])
1072
+
1073
+ railgun.add_function( 'advapi32', 'DestroyPrivateObjectSecurity', 'BOOL',[
1074
+ ["PBLOB","ObjectDescriptor","in"],
1075
+ ])
1076
+
1077
+ railgun.add_function( 'advapi32', 'DuplicateToken', 'BOOL',[
1078
+ ["DWORD","ExistingTokenHandle","in"],
1079
+ ["DWORD","ImpersonationLevel","in"],
1080
+ ["PDWORD","DuplicateTokenHandle","out"],
1081
+ ])
1082
+
1083
+ railgun.add_function( 'advapi32', 'DuplicateTokenEx', 'BOOL',[
1084
+ ["DWORD","hExistingToken","in"],
1085
+ ["DWORD","dwDesiredAccess","in"],
1086
+ ["PBLOB","lpTokenAttributes","in"],
1087
+ ["DWORD","ImpersonationLevel","in"],
1088
+ ["DWORD","TokenType","in"],
1089
+ ["PDWORD","phNewToken","out"],
1090
+ ])
1091
+
1092
+ railgun.add_function( 'advapi32', 'EncryptFileA', 'BOOL',[
1093
+ ["PCHAR","lpFileName","in"],
1094
+ ])
1095
+
1096
+ railgun.add_function( 'advapi32', 'EncryptFileW', 'BOOL',[
1097
+ ["PWCHAR","lpFileName","in"],
1098
+ ])
1099
+
1100
+ railgun.add_function( 'advapi32', 'EqualDomainSid', 'BOOL',[
1101
+ ["PBLOB","pSid1","in"],
1102
+ ["PBLOB","pSid2","in"],
1103
+ ["PBLOB","pfEqual","out"],
1104
+ ])
1105
+
1106
+ railgun.add_function( 'advapi32', 'EqualPrefixSid', 'BOOL',[
1107
+ ["PBLOB","pSid1","in"],
1108
+ ["PBLOB","pSid2","in"],
1109
+ ])
1110
+
1111
+ railgun.add_function( 'advapi32', 'EqualSid', 'BOOL',[
1112
+ ["PBLOB","pSid1","in"],
1113
+ ["PBLOB","pSid2","in"],
1114
+ ])
1115
+
1116
+ railgun.add_function( 'advapi32', 'FileEncryptionStatusA', 'BOOL',[
1117
+ ["PCHAR","lpFileName","in"],
1118
+ ["PDWORD","lpStatus","out"],
1119
+ ])
1120
+
1121
+ railgun.add_function( 'advapi32', 'FileEncryptionStatusW', 'BOOL',[
1122
+ ["PWCHAR","lpFileName","in"],
1123
+ ["PDWORD","lpStatus","out"],
1124
+ ])
1125
+
1126
+ railgun.add_function( 'advapi32', 'FindFirstFreeAce', 'BOOL',[
1127
+ ["PBLOB","pAcl","in"],
1128
+ ["PBLOB","pAce","out"],
1129
+ ])
1130
+
1131
+ railgun.add_function( 'advapi32', 'GetAce', 'BOOL',[
1132
+ ["PBLOB","pAcl","in"],
1133
+ ["DWORD","dwAceIndex","in"],
1134
+ ["PBLOB","pAce","out"],
1135
+ ])
1136
+
1137
+ railgun.add_function( 'advapi32', 'GetAclInformation', 'BOOL',[
1138
+ ["PBLOB","pAcl","in"],
1139
+ ["PBLOB","pAclInformation","out"],
1140
+ ["DWORD","nAclInformationLength","in"],
1141
+ ["DWORD","dwAclInformationClass","in"],
1142
+ ])
1143
+
1144
+ railgun.add_function( 'advapi32', 'GetCurrentHwProfileA', 'BOOL',[
1145
+ ["PBLOB","lpHwProfileInfo","out"],
1146
+ ])
1147
+
1148
+ railgun.add_function( 'advapi32', 'GetCurrentHwProfileW', 'BOOL',[
1149
+ ["PBLOB","lpHwProfileInfo","out"],
1150
+ ])
1151
+
1152
+ railgun.add_function( 'advapi32', 'GetEventLogInformation', 'BOOL',[
1153
+ ["DWORD","hEventLog","in"],
1154
+ ["DWORD","dwInfoLevel","in"],
1155
+ ["PBLOB","lpBuffer","out"],
1156
+ ["DWORD","cbBufSize","in"],
1157
+ ["PDWORD","pcbBytesNeeded","out"],
1158
+ ])
1159
+
1160
+ railgun.add_function( 'advapi32', 'GetFileSecurityA', 'BOOL',[
1161
+ ["PCHAR","lpFileName","in"],
1162
+ ["PBLOB","RequestedInformation","in"],
1163
+ ["PBLOB","pSecurityDescriptor","out"],
1164
+ ["DWORD","nLength","in"],
1165
+ ["PDWORD","lpnLengthNeeded","out"],
1166
+ ])
1167
+
1168
+ railgun.add_function( 'advapi32', 'GetFileSecurityW', 'BOOL',[
1169
+ ["PWCHAR","lpFileName","in"],
1170
+ ["PBLOB","RequestedInformation","in"],
1171
+ ["PBLOB","pSecurityDescriptor","out"],
1172
+ ["DWORD","nLength","in"],
1173
+ ["PDWORD","lpnLengthNeeded","out"],
1174
+ ])
1175
+
1176
+ railgun.add_function( 'advapi32', 'GetKernelObjectSecurity', 'BOOL',[
1177
+ ["DWORD","Handle","in"],
1178
+ ["PBLOB","RequestedInformation","in"],
1179
+ ["PBLOB","pSecurityDescriptor","out"],
1180
+ ["DWORD","nLength","in"],
1181
+ ["PDWORD","lpnLengthNeeded","out"],
1182
+ ])
1183
+
1184
+ railgun.add_function( 'advapi32', 'GetLengthSid', 'DWORD',[
1185
+ ["PBLOB","pSid","in"],
1186
+ ])
1187
+
1188
+ railgun.add_function( 'advapi32', 'GetNumberOfEventLogRecords', 'BOOL',[
1189
+ ["DWORD","hEventLog","in"],
1190
+ ["PDWORD","NumberOfRecords","out"],
1191
+ ])
1192
+
1193
+ railgun.add_function( 'advapi32', 'GetOldestEventLogRecord', 'BOOL',[
1194
+ ["DWORD","hEventLog","in"],
1195
+ ["PDWORD","OldestRecord","out"],
1196
+ ])
1197
+
1198
+ railgun.add_function( 'advapi32', 'GetPrivateObjectSecurity', 'BOOL',[
1199
+ ["PBLOB","ObjectDescriptor","in"],
1200
+ ["PBLOB","SecurityInformation","in"],
1201
+ ["PBLOB","ResultantDescriptor","out"],
1202
+ ["DWORD","DescriptorLength","in"],
1203
+ ["PDWORD","ReturnLength","out"],
1204
+ ])
1205
+
1206
+ railgun.add_function( 'advapi32', 'GetSecurityDescriptorControl', 'BOOL',[
1207
+ ["PBLOB","pSecurityDescriptor","in"],
1208
+ ["PBLOB","pControl","out"],
1209
+ ["PDWORD","lpdwRevision","out"],
1210
+ ])
1211
+
1212
+ railgun.add_function( 'advapi32', 'GetSecurityDescriptorDacl', 'BOOL',[
1213
+ ["PBLOB","pSecurityDescriptor","in"],
1214
+ ["PBLOB","lpbDaclPresent","out"],
1215
+ ["PBLOB","pDacl","out"],
1216
+ ["PBLOB","lpbDaclDefaulted","out"],
1217
+ ])
1218
+
1219
+ railgun.add_function( 'advapi32', 'GetSecurityDescriptorGroup', 'BOOL',[
1220
+ ["PBLOB","pSecurityDescriptor","in"],
1221
+ ["PBLOB","pGroup","out"],
1222
+ ["PBLOB","lpbGroupDefaulted","out"],
1223
+ ])
1224
+
1225
+ railgun.add_function( 'advapi32', 'GetSecurityDescriptorLength', 'DWORD',[
1226
+ ["PBLOB","pSecurityDescriptor","in"],
1227
+ ])
1228
+
1229
+ railgun.add_function( 'advapi32', 'GetSecurityDescriptorOwner', 'BOOL',[
1230
+ ["PBLOB","pSecurityDescriptor","in"],
1231
+ ["PBLOB","pOwner","out"],
1232
+ ["PBLOB","lpbOwnerDefaulted","out"],
1233
+ ])
1234
+
1235
+ railgun.add_function( 'advapi32', 'GetSecurityDescriptorRMControl', 'DWORD',[
1236
+ ["PBLOB","SecurityDescriptor","in"],
1237
+ ["PBLOB","RMControl","out"],
1238
+ ])
1239
+
1240
+ railgun.add_function( 'advapi32', 'GetSecurityDescriptorSacl', 'BOOL',[
1241
+ ["PBLOB","pSecurityDescriptor","in"],
1242
+ ["PBLOB","lpbSaclPresent","out"],
1243
+ ["PBLOB","pSacl","out"],
1244
+ ["PBLOB","lpbSaclDefaulted","out"],
1245
+ ])
1246
+
1247
+ railgun.add_function( 'advapi32', 'GetSidLengthRequired', 'DWORD',[
1248
+ ["BYTE","nSubAuthorityCount","in"],
1249
+ ])
1250
+
1251
+ railgun.add_function( 'advapi32', 'GetTokenInformation', 'BOOL',[
1252
+ ["DWORD","TokenHandle","in"],
1253
+ ["DWORD","TokenInformationClass","in"],
1254
+ ["PBLOB","TokenInformation","out"],
1255
+ ["DWORD","TokenInformationLength","in"],
1256
+ ["PDWORD","ReturnLength","out"],
1257
+ ])
1258
+
1259
+ railgun.add_function( 'advapi32', 'GetUserNameA', 'BOOL',[
1260
+ ["PCHAR","lpBuffer","out"],
1261
+ ["PDWORD","pcbBuffer","inout"],
1262
+ ])
1263
+
1264
+ railgun.add_function( 'advapi32', 'GetUserNameW', 'BOOL',[
1265
+ ["PWCHAR","lpBuffer","out"],
1266
+ ["PDWORD","pcbBuffer","inout"],
1267
+ ])
1268
+
1269
+ railgun.add_function( 'advapi32', 'GetWindowsAccountDomainSid', 'BOOL',[
1270
+ ["PBLOB","pSid","in"],
1271
+ ["PBLOB","pDomainSid","out"],
1272
+ ["PDWORD","cbDomainSid","inout"],
1273
+ ])
1274
+
1275
+ railgun.add_function( 'advapi32', 'ImpersonateAnonymousToken', 'BOOL',[
1276
+ ["DWORD","ThreadHandle","in"],
1277
+ ])
1278
+
1279
+ railgun.add_function( 'advapi32', 'ImpersonateLoggedOnUser', 'BOOL',[
1280
+ ["DWORD","hToken","in"],
1281
+ ])
1282
+
1283
+ railgun.add_function( 'advapi32', 'ImpersonateNamedPipeClient', 'BOOL',[
1284
+ ["DWORD","hNamedPipe","in"],
1285
+ ])
1286
+
1287
+ railgun.add_function( 'advapi32', 'ImpersonateSelf', 'BOOL',[
1288
+ ["DWORD","ImpersonationLevel","in"],
1289
+ ])
1290
+
1291
+ railgun.add_function( 'advapi32', 'InitializeAcl', 'BOOL',[
1292
+ ["PBLOB","pAcl","out"],
1293
+ ["DWORD","nAclLength","in"],
1294
+ ["DWORD","dwAclRevision","in"],
1295
+ ])
1296
+
1297
+ railgun.add_function( 'advapi32', 'InitializeSecurityDescriptor', 'BOOL',[
1298
+ ["PBLOB","pSecurityDescriptor","out"],
1299
+ ["DWORD","dwRevision","in"],
1300
+ ])
1301
+
1302
+ railgun.add_function( 'advapi32', 'InitializeSid', 'BOOL',[
1303
+ ["PBLOB","Sid","out"],
1304
+ ["PBLOB","pIdentifierAuthority","in"],
1305
+ ["BYTE","nSubAuthorityCount","in"],
1306
+ ])
1307
+
1308
+ railgun.add_function( 'advapi32', 'IsTextUnicode', 'BOOL',[
1309
+ ["DWORD","iSize","in"],
1310
+ ["PDWORD","lpiResult","inout"],
1311
+ ])
1312
+
1313
+ railgun.add_function( 'advapi32', 'IsTokenRestricted', 'BOOL',[
1314
+ ["DWORD","TokenHandle","in"],
1315
+ ])
1316
+
1317
+ railgun.add_function( 'advapi32', 'IsTokenUntrusted', 'BOOL',[
1318
+ ["DWORD","TokenHandle","in"],
1319
+ ])
1320
+
1321
+ railgun.add_function( 'advapi32', 'IsValidAcl', 'BOOL',[
1322
+ ["PBLOB","pAcl","in"],
1323
+ ])
1324
+
1325
+ railgun.add_function( 'advapi32', 'IsValidSecurityDescriptor', 'BOOL',[
1326
+ ["PBLOB","pSecurityDescriptor","in"],
1327
+ ])
1328
+
1329
+ railgun.add_function( 'advapi32', 'IsValidSid', 'BOOL',[
1330
+ ["PBLOB","pSid","in"],
1331
+ ])
1332
+
1333
+ railgun.add_function( 'advapi32', 'IsWellKnownSid', 'BOOL',[
1334
+ ["PBLOB","pSid","in"],
1335
+ ["DWORD","WellKnownSidType","in"],
1336
+ ])
1337
+
1338
+ railgun.add_function( 'advapi32', 'LogonUserA', 'BOOL',[
1339
+ ["PCHAR","lpszUsername","in"],
1340
+ ["PCHAR","lpszDomain","in"],
1341
+ ["PCHAR","lpszPassword","in"],
1342
+ ["DWORD","dwLogonType","in"],
1343
+ ["DWORD","dwLogonProvider","in"],
1344
+ ["PDWORD","phToken","out"],
1345
+ ])
1346
+
1347
+ railgun.add_function( 'advapi32', 'LogonUserExA', 'BOOL',[
1348
+ ["PCHAR","lpszUsername","in"],
1349
+ ["PCHAR","lpszDomain","in"],
1350
+ ["PCHAR","lpszPassword","in"],
1351
+ ["DWORD","dwLogonType","in"],
1352
+ ["DWORD","dwLogonProvider","in"],
1353
+ ["PDWORD","phToken","out"],
1354
+ ["PBLOB","ppLogonSid","out"],
1355
+ ["PBLOB","ppProfileBuffer","out"],
1356
+ ["PDWORD","pdwProfileLength","out"],
1357
+ ["PBLOB","pQuotaLimits","out"],
1358
+ ])
1359
+
1360
+ railgun.add_function( 'advapi32', 'LogonUserExW', 'BOOL',[
1361
+ ["PWCHAR","lpszUsername","in"],
1362
+ ["PWCHAR","lpszDomain","in"],
1363
+ ["PWCHAR","lpszPassword","in"],
1364
+ ["DWORD","dwLogonType","in"],
1365
+ ["DWORD","dwLogonProvider","in"],
1366
+ ["PDWORD","phToken","out"],
1367
+ ["PBLOB","ppLogonSid","out"],
1368
+ ["PBLOB","ppProfileBuffer","out"],
1369
+ ["PDWORD","pdwProfileLength","out"],
1370
+ ["PBLOB","pQuotaLimits","out"],
1371
+ ])
1372
+
1373
+ railgun.add_function( 'advapi32', 'LogonUserW', 'BOOL',[
1374
+ ["PWCHAR","lpszUsername","in"],
1375
+ ["PWCHAR","lpszDomain","in"],
1376
+ ["PWCHAR","lpszPassword","in"],
1377
+ ["DWORD","dwLogonType","in"],
1378
+ ["DWORD","dwLogonProvider","in"],
1379
+ ["PDWORD","phToken","out"],
1380
+ ])
1381
+
1382
+ railgun.add_function( 'advapi32', 'LookupAccountNameA', 'BOOL',[
1383
+ ["PCHAR","lpSystemName","in"],
1384
+ ["PCHAR","lpAccountName","in"],
1385
+ ["PBLOB","Sid","out"],
1386
+ ["PDWORD","cbSid","inout"],
1387
+ ["PCHAR","ReferencedDomainName","out"],
1388
+ ["PDWORD","cchReferencedDomainName","inout"],
1389
+ ["PBLOB","peUse","out"],
1390
+ ])
1391
+
1392
+ railgun.add_function( 'advapi32', 'LookupAccountNameW', 'BOOL',[
1393
+ ["PWCHAR","lpSystemName","in"],
1394
+ ["PWCHAR","lpAccountName","in"],
1395
+ ["PBLOB","Sid","out"],
1396
+ ["PDWORD","cbSid","inout"],
1397
+ ["PWCHAR","ReferencedDomainName","out"],
1398
+ ["PDWORD","cchReferencedDomainName","inout"],
1399
+ ["PBLOB","peUse","out"],
1400
+ ])
1401
+
1402
+ railgun.add_function( 'advapi32', 'LookupAccountSidA', 'BOOL',[
1403
+ ["PCHAR","lpSystemName","in"],
1404
+ ["PBLOB","Sid","in"],
1405
+ ["PCHAR","Name","out"],
1406
+ ["PDWORD","cchName","inout"],
1407
+ ["PCHAR","ReferencedDomainName","out"],
1408
+ ["PDWORD","cchReferencedDomainName","inout"],
1409
+ ["PBLOB","peUse","out"],
1410
+ ])
1411
+
1412
+ railgun.add_function( 'advapi32', 'LookupAccountSidW', 'BOOL',[
1413
+ ["PWCHAR","lpSystemName","in"],
1414
+ ["PBLOB","Sid","in"],
1415
+ ["PWCHAR","Name","out"],
1416
+ ["PDWORD","cchName","inout"],
1417
+ ["PWCHAR","ReferencedDomainName","out"],
1418
+ ["PDWORD","cchReferencedDomainName","inout"],
1419
+ ["PBLOB","peUse","out"],
1420
+ ])
1421
+
1422
+ railgun.add_function( 'advapi32', 'LookupPrivilegeDisplayNameA', 'BOOL',[
1423
+ ["PCHAR","lpSystemName","in"],
1424
+ ["PCHAR","lpName","in"],
1425
+ ["PCHAR","lpDisplayName","out"],
1426
+ ["PDWORD","cchDisplayName","inout"],
1427
+ ["PDWORD","lpLanguageId","out"],
1428
+ ])
1429
+
1430
+ railgun.add_function( 'advapi32', 'LookupPrivilegeDisplayNameW', 'BOOL',[
1431
+ ["PWCHAR","lpSystemName","in"],
1432
+ ["PWCHAR","lpName","in"],
1433
+ ["PWCHAR","lpDisplayName","out"],
1434
+ ["PDWORD","cchDisplayName","inout"],
1435
+ ["PDWORD","lpLanguageId","out"],
1436
+ ])
1437
+
1438
+ railgun.add_function( 'advapi32', 'LookupPrivilegeNameA', 'BOOL',[
1439
+ ["PCHAR","lpSystemName","in"],
1440
+ ["PBLOB","lpLuid","in"],
1441
+ ["PCHAR","lpName","out"],
1442
+ ["PDWORD","cchName","inout"],
1443
+ ])
1444
+
1445
+ railgun.add_function( 'advapi32', 'LookupPrivilegeNameW', 'BOOL',[
1446
+ ["PWCHAR","lpSystemName","in"],
1447
+ ["PBLOB","lpLuid","in"],
1448
+ ["PWCHAR","lpName","out"],
1449
+ ["PDWORD","cchName","inout"],
1450
+ ])
1451
+
1452
+ railgun.add_function( 'advapi32', 'LookupPrivilegeValueA', 'BOOL',[
1453
+ ["PCHAR","lpSystemName","in"],
1454
+ ["PCHAR","lpName","in"],
1455
+ ["PBLOB","lpLuid","out"],
1456
+ ])
1457
+
1458
+ railgun.add_function( 'advapi32', 'LookupPrivilegeValueW', 'BOOL',[
1459
+ ["PWCHAR","lpSystemName","in"],
1460
+ ["PWCHAR","lpName","in"],
1461
+ ["PBLOB","lpLuid","out"],
1462
+ ])
1463
+
1464
+ railgun.add_function( 'advapi32', 'MakeAbsoluteSD', 'BOOL',[
1465
+ ["PBLOB","pSelfRelativeSecurityDescriptor","in"],
1466
+ ["PBLOB","pAbsoluteSecurityDescriptor","out"],
1467
+ ["PDWORD","lpdwAbsoluteSecurityDescriptorSize","inout"],
1468
+ ["PBLOB","pDacl","out"],
1469
+ ["PDWORD","lpdwDaclSize","inout"],
1470
+ ["PBLOB","pSacl","out"],
1471
+ ["PDWORD","lpdwSaclSize","inout"],
1472
+ ["PBLOB","pOwner","out"],
1473
+ ["PDWORD","lpdwOwnerSize","inout"],
1474
+ ["PBLOB","pPrimaryGroup","out"],
1475
+ ["PDWORD","lpdwPrimaryGroupSize","inout"],
1476
+ ])
1477
+
1478
+ railgun.add_function( 'advapi32', 'MakeAbsoluteSD2', 'BOOL',[
1479
+ ["PBLOB","pSelfRelativeSecurityDescriptor","inout"],
1480
+ ["PDWORD","lpdwBufferSize","inout"],
1481
+ ])
1482
+
1483
+ railgun.add_function( 'advapi32', 'MakeSelfRelativeSD', 'BOOL',[
1484
+ ["PBLOB","pAbsoluteSecurityDescriptor","in"],
1485
+ ["PBLOB","pSelfRelativeSecurityDescriptor","out"],
1486
+ ["PDWORD","lpdwBufferLength","inout"],
1487
+ ])
1488
+
1489
+ railgun.add_function( 'advapi32', 'MapGenericMask', 'VOID',[
1490
+ ["PDWORD","AccessMask","inout"],
1491
+ ["PBLOB","GenericMapping","in"],
1492
+ ])
1493
+
1494
+ railgun.add_function( 'advapi32', 'NotifyChangeEventLog', 'BOOL',[
1495
+ ["DWORD","hEventLog","in"],
1496
+ ["DWORD","hEvent","in"],
1497
+ ])
1498
+
1499
+ railgun.add_function( 'advapi32', 'ObjectCloseAuditAlarmA', 'BOOL',[
1500
+ ["PCHAR","SubsystemName","in"],
1501
+ ["PBLOB","HandleId","in"],
1502
+ ["BOOL","GenerateOnClose","in"],
1503
+ ])
1504
+
1505
+ railgun.add_function( 'advapi32', 'ObjectCloseAuditAlarmW', 'BOOL',[
1506
+ ["PWCHAR","SubsystemName","in"],
1507
+ ["PBLOB","HandleId","in"],
1508
+ ["BOOL","GenerateOnClose","in"],
1509
+ ])
1510
+
1511
+ railgun.add_function( 'advapi32', 'ObjectDeleteAuditAlarmA', 'BOOL',[
1512
+ ["PCHAR","SubsystemName","in"],
1513
+ ["PBLOB","HandleId","in"],
1514
+ ["BOOL","GenerateOnClose","in"],
1515
+ ])
1516
+
1517
+ railgun.add_function( 'advapi32', 'ObjectDeleteAuditAlarmW', 'BOOL',[
1518
+ ["PWCHAR","SubsystemName","in"],
1519
+ ["PBLOB","HandleId","in"],
1520
+ ["BOOL","GenerateOnClose","in"],
1521
+ ])
1522
+
1523
+ railgun.add_function( 'advapi32', 'ObjectOpenAuditAlarmA', 'BOOL',[
1524
+ ["PCHAR","SubsystemName","in"],
1525
+ ["PBLOB","HandleId","in"],
1526
+ ["PCHAR","ObjectTypeName","in"],
1527
+ ["PCHAR","ObjectName","in"],
1528
+ ["PBLOB","pSecurityDescriptor","in"],
1529
+ ["DWORD","ClientToken","in"],
1530
+ ["DWORD","DesiredAccess","in"],
1531
+ ["DWORD","GrantedAccess","in"],
1532
+ ["PBLOB","Privileges","in"],
1533
+ ["BOOL","ObjectCreation","in"],
1534
+ ["BOOL","AccessGranted","in"],
1535
+ ["PBLOB","GenerateOnClose","out"],
1536
+ ])
1537
+
1538
+ railgun.add_function( 'advapi32', 'ObjectOpenAuditAlarmW', 'BOOL',[
1539
+ ["PWCHAR","SubsystemName","in"],
1540
+ ["PBLOB","HandleId","in"],
1541
+ ["PWCHAR","ObjectTypeName","in"],
1542
+ ["PWCHAR","ObjectName","in"],
1543
+ ["PBLOB","pSecurityDescriptor","in"],
1544
+ ["DWORD","ClientToken","in"],
1545
+ ["DWORD","DesiredAccess","in"],
1546
+ ["DWORD","GrantedAccess","in"],
1547
+ ["PBLOB","Privileges","in"],
1548
+ ["BOOL","ObjectCreation","in"],
1549
+ ["BOOL","AccessGranted","in"],
1550
+ ["PBLOB","GenerateOnClose","out"],
1551
+ ])
1552
+
1553
+ railgun.add_function( 'advapi32', 'ObjectPrivilegeAuditAlarmA', 'BOOL',[
1554
+ ["PCHAR","SubsystemName","in"],
1555
+ ["PBLOB","HandleId","in"],
1556
+ ["DWORD","ClientToken","in"],
1557
+ ["DWORD","DesiredAccess","in"],
1558
+ ["PBLOB","Privileges","in"],
1559
+ ["BOOL","AccessGranted","in"],
1560
+ ])
1561
+
1562
+ railgun.add_function( 'advapi32', 'ObjectPrivilegeAuditAlarmW', 'BOOL',[
1563
+ ["PWCHAR","SubsystemName","in"],
1564
+ ["PBLOB","HandleId","in"],
1565
+ ["DWORD","ClientToken","in"],
1566
+ ["DWORD","DesiredAccess","in"],
1567
+ ["PBLOB","Privileges","in"],
1568
+ ["BOOL","AccessGranted","in"],
1569
+ ])
1570
+
1571
+ railgun.add_function( 'advapi32', 'OpenBackupEventLogA', 'DWORD',[
1572
+ ["PCHAR","lpUNCServerName","in"],
1573
+ ["PCHAR","lpFileName","in"],
1574
+ ])
1575
+
1576
+ railgun.add_function( 'advapi32', 'OpenBackupEventLogW', 'DWORD',[
1577
+ ["PWCHAR","lpUNCServerName","in"],
1578
+ ["PWCHAR","lpFileName","in"],
1579
+ ])
1580
+
1581
+ railgun.add_function( 'advapi32', 'OpenEncryptedFileRawA', 'DWORD',[
1582
+ ["PCHAR","lpFileName","in"],
1583
+ ["DWORD","ulFlags","in"],
1584
+ ["PBLOB","pvContext","out"],
1585
+ ])
1586
+
1587
+ railgun.add_function( 'advapi32', 'OpenEncryptedFileRawW', 'DWORD',[
1588
+ ["PWCHAR","lpFileName","in"],
1589
+ ["DWORD","ulFlags","in"],
1590
+ ["PBLOB","pvContext","out"],
1591
+ ])
1592
+
1593
+ railgun.add_function( 'advapi32', 'OpenEventLogA', 'DWORD',[
1594
+ ["PCHAR","lpUNCServerName","in"],
1595
+ ["PCHAR","lpSourceName","in"],
1596
+ ])
1597
+
1598
+ railgun.add_function( 'advapi32', 'OpenEventLogW', 'DWORD',[
1599
+ ["PWCHAR","lpUNCServerName","in"],
1600
+ ["PWCHAR","lpSourceName","in"],
1601
+ ])
1602
+
1603
+ railgun.add_function( 'advapi32', 'OpenProcessToken', 'BOOL',[
1604
+ ["DWORD","ProcessHandle","in"],
1605
+ ["DWORD","DesiredAccess","in"],
1606
+ ["PDWORD","TokenHandle","out"],
1607
+ ])
1608
+
1609
+ railgun.add_function( 'advapi32', 'OpenThreadToken', 'BOOL',[
1610
+ ["DWORD","ThreadHandle","in"],
1611
+ ["DWORD","DesiredAccess","in"],
1612
+ ["BOOL","OpenAsSelf","in"],
1613
+ ["PDWORD","TokenHandle","out"],
1614
+ ])
1615
+
1616
+ railgun.add_function( 'advapi32', 'PrivilegeCheck', 'BOOL',[
1617
+ ["DWORD","ClientToken","in"],
1618
+ ["PBLOB","RequiredPrivileges","inout"],
1619
+ ["PBLOB","pfResult","out"],
1620
+ ])
1621
+
1622
+ railgun.add_function( 'advapi32', 'PrivilegedServiceAuditAlarmA', 'BOOL',[
1623
+ ["PCHAR","SubsystemName","in"],
1624
+ ["PCHAR","ServiceName","in"],
1625
+ ["DWORD","ClientToken","in"],
1626
+ ["PBLOB","Privileges","in"],
1627
+ ["BOOL","AccessGranted","in"],
1628
+ ])
1629
+
1630
+ railgun.add_function( 'advapi32', 'PrivilegedServiceAuditAlarmW', 'BOOL',[
1631
+ ["PWCHAR","SubsystemName","in"],
1632
+ ["PWCHAR","ServiceName","in"],
1633
+ ["DWORD","ClientToken","in"],
1634
+ ["PBLOB","Privileges","in"],
1635
+ ["BOOL","AccessGranted","in"],
1636
+ ])
1637
+
1638
+ railgun.add_function( 'advapi32', 'ReadEncryptedFileRaw', 'DWORD',[
1639
+ ["PBLOB","pfExportCallback","in"],
1640
+ ["PBLOB","pvCallbackContext","in"],
1641
+ ["PBLOB","pvContext","in"],
1642
+ ])
1643
+
1644
+ railgun.add_function( 'advapi32', 'ReadEventLogA', 'BOOL',[
1645
+ ["DWORD","hEventLog","in"],
1646
+ ["DWORD","dwReadFlags","in"],
1647
+ ["DWORD","dwRecordOffset","in"],
1648
+ ["PBLOB","lpBuffer","out"],
1649
+ ["DWORD","nNumberOfBytesToRead","in"],
1650
+ ["PDWORD","pnBytesRead","out"],
1651
+ ["PDWORD","pnMinNumberOfBytesNeeded","out"],
1652
+ ])
1653
+
1654
+ railgun.add_function( 'advapi32', 'ReadEventLogW', 'BOOL',[
1655
+ ["DWORD","hEventLog","in"],
1656
+ ["DWORD","dwReadFlags","in"],
1657
+ ["DWORD","dwRecordOffset","in"],
1658
+ ["PBLOB","lpBuffer","out"],
1659
+ ["DWORD","nNumberOfBytesToRead","in"],
1660
+ ["PDWORD","pnBytesRead","out"],
1661
+ ["PDWORD","pnMinNumberOfBytesNeeded","out"],
1662
+ ])
1663
+
1664
+ railgun.add_function( 'advapi32', 'RegisterEventSourceA', 'DWORD',[
1665
+ ["PCHAR","lpUNCServerName","in"],
1666
+ ["PCHAR","lpSourceName","in"],
1667
+ ])
1668
+
1669
+ railgun.add_function( 'advapi32', 'RegisterEventSourceW', 'DWORD',[
1670
+ ["PWCHAR","lpUNCServerName","in"],
1671
+ ["PWCHAR","lpSourceName","in"],
1672
+ ])
1673
+
1674
+ railgun.add_function( 'advapi32', 'ReportEventA', 'BOOL',[
1675
+ ["DWORD","hEventLog","in"],
1676
+ ["WORD","wType","in"],
1677
+ ["WORD","wCategory","in"],
1678
+ ["DWORD","dwEventID","in"],
1679
+ ["PBLOB","lpUserSid","in"],
1680
+ ["WORD","wNumStrings","in"],
1681
+ ["DWORD","dwDataSize","in"],
1682
+ ["PBLOB","lpStrings","in"],
1683
+ ["PBLOB","lpRawData","in"],
1684
+ ])
1685
+
1686
+ railgun.add_function( 'advapi32', 'ReportEventW', 'BOOL',[
1687
+ ["DWORD","hEventLog","in"],
1688
+ ["WORD","wType","in"],
1689
+ ["WORD","wCategory","in"],
1690
+ ["DWORD","dwEventID","in"],
1691
+ ["PBLOB","lpUserSid","in"],
1692
+ ["WORD","wNumStrings","in"],
1693
+ ["DWORD","dwDataSize","in"],
1694
+ ["PBLOB","lpStrings","in"],
1695
+ ["PBLOB","lpRawData","in"],
1696
+ ])
1697
+
1698
+ railgun.add_function( 'advapi32', 'RevertToSelf', 'BOOL',[
1699
+ ])
1700
+
1701
+ railgun.add_function( 'advapi32', 'SetAclInformation', 'BOOL',[
1702
+ ["PBLOB","pAcl","inout"],
1703
+ ["PBLOB","pAclInformation","in"],
1704
+ ["DWORD","nAclInformationLength","in"],
1705
+ ["DWORD","dwAclInformationClass","in"],
1706
+ ])
1707
+
1708
+ railgun.add_function( 'advapi32', 'SetFileSecurityA', 'BOOL',[
1709
+ ["PCHAR","lpFileName","in"],
1710
+ ["PBLOB","SecurityInformation","in"],
1711
+ ["PBLOB","pSecurityDescriptor","in"],
1712
+ ])
1713
+
1714
+ railgun.add_function( 'advapi32', 'SetFileSecurityW', 'BOOL',[
1715
+ ["PWCHAR","lpFileName","in"],
1716
+ ["PBLOB","SecurityInformation","in"],
1717
+ ["PBLOB","pSecurityDescriptor","in"],
1718
+ ])
1719
+
1720
+ railgun.add_function( 'advapi32', 'SetKernelObjectSecurity', 'BOOL',[
1721
+ ["DWORD","Handle","in"],
1722
+ ["PBLOB","SecurityInformation","in"],
1723
+ ["PBLOB","SecurityDescriptor","in"],
1724
+ ])
1725
+
1726
+ railgun.add_function( 'advapi32', 'SetPrivateObjectSecurity', 'BOOL',[
1727
+ ["PBLOB","SecurityInformation","in"],
1728
+ ["PBLOB","ModificationDescriptor","in"],
1729
+ ["PBLOB","ObjectsSecurityDescriptor","inout"],
1730
+ ["PBLOB","GenericMapping","in"],
1731
+ ["DWORD","Token","in"],
1732
+ ])
1733
+
1734
+ railgun.add_function( 'advapi32', 'SetPrivateObjectSecurityEx', 'BOOL',[
1735
+ ["PBLOB","SecurityInformation","in"],
1736
+ ["PBLOB","ModificationDescriptor","in"],
1737
+ ["PBLOB","ObjectsSecurityDescriptor","inout"],
1738
+ ["DWORD","AutoInheritFlags","in"],
1739
+ ["PBLOB","GenericMapping","in"],
1740
+ ["DWORD","Token","in"],
1741
+ ])
1742
+
1743
+ railgun.add_function( 'advapi32', 'SetSecurityDescriptorControl', 'BOOL',[
1744
+ ["PBLOB","pSecurityDescriptor","in"],
1745
+ ["WORD","ControlBitsOfInterest","in"],
1746
+ ["WORD","ControlBitsToSet","in"],
1747
+ ])
1748
+
1749
+ railgun.add_function( 'advapi32', 'SetSecurityDescriptorDacl', 'BOOL',[
1750
+ ["PBLOB","pSecurityDescriptor","inout"],
1751
+ ["BOOL","bDaclPresent","in"],
1752
+ ["PBLOB","pDacl","in"],
1753
+ ["BOOL","bDaclDefaulted","in"],
1754
+ ])
1755
+
1756
+ railgun.add_function( 'advapi32', 'SetSecurityDescriptorGroup', 'BOOL',[
1757
+ ["PBLOB","pSecurityDescriptor","inout"],
1758
+ ["PBLOB","pGroup","in"],
1759
+ ["BOOL","bGroupDefaulted","in"],
1760
+ ])
1761
+
1762
+ railgun.add_function( 'advapi32', 'SetSecurityDescriptorOwner', 'BOOL',[
1763
+ ["PBLOB","pSecurityDescriptor","inout"],
1764
+ ["PBLOB","pOwner","in"],
1765
+ ["BOOL","bOwnerDefaulted","in"],
1766
+ ])
1767
+
1768
+ railgun.add_function( 'advapi32', 'SetSecurityDescriptorRMControl', 'DWORD',[
1769
+ ["PBLOB","SecurityDescriptor","inout"],
1770
+ ["PBLOB","RMControl","in"],
1771
+ ])
1772
+
1773
+ railgun.add_function( 'advapi32', 'SetSecurityDescriptorSacl', 'BOOL',[
1774
+ ["PBLOB","pSecurityDescriptor","inout"],
1775
+ ["BOOL","bSaclPresent","in"],
1776
+ ["PBLOB","pSacl","in"],
1777
+ ["BOOL","bSaclDefaulted","in"],
1778
+ ])
1779
+
1780
+ railgun.add_function( 'advapi32', 'SetThreadToken', 'BOOL',[
1781
+ ["PDWORD","Thread","in"],
1782
+ ["DWORD","Token","in"],
1783
+ ])
1784
+
1785
+ railgun.add_function( 'advapi32', 'SetTokenInformation', 'BOOL',[
1786
+ ["DWORD","TokenHandle","in"],
1787
+ ["DWORD","TokenInformationClass","in"],
1788
+ ["PBLOB","TokenInformation","in"],
1789
+ ["DWORD","TokenInformationLength","in"],
1790
+ ])
1791
+
1792
+ railgun.add_function( 'advapi32', 'WriteEncryptedFileRaw', 'DWORD',[
1793
+ ["PBLOB","pfImportCallback","in"],
1794
+ ["PBLOB","pvCallbackContext","in"],
1795
+ ["PBLOB","pvContext","in"],
1796
+ ])
1797
+
1798
+ end
1799
+
1800
+ end
1801
+
1802
+ end; end; end; end; end; end; end
1803
+
1804
+