###
#
# This module exposes a simple method to create a file.
#
###

module Msf
module Exploit::FILEFORMAT

	def initialize(info = {})
		super

		register_options(
			[
				OptString.new('FILENAME', [ true, 'The file name.',  'MSF']),
				OptString.new('OUTPUTPATH', [ true, 'The location of the file.', File.join(Msf::Config.install_root, 'data', 'exploits')]),
			], Msf::Exploit::FILEFORMAT
		)

		register_advanced_options(
			[
				OptBool.new('DisablePayloadHandler', [ false, "Disable the handler code for the selected payload", true ])
			], Msf::Exploit::FILEFORMAT
		)
	end

	def file_create(data)
		out = File.expand_path(File.join(datastore['OUTPUTPATH'], datastore['FILENAME']))
		fd  = File.new(out,"wb")
		fd.write(data)
		fd.close
		print_status("Generated output file #{out}")
	end

end
end
