Class: Ronin::Payloads::JavaPayload
- Defined in:
- lib/ronin/payloads/java_payload.rb
Overview
A Payload class that represents Java payloads.
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Payload
Class Method Summary collapse
-
.javac ⇒ String
The default Java compiler.
-
.payload_type ⇒ Symbol
private
Returns the type or kind of payload.
Instance Method Summary collapse
-
#compile_java(*source_files, dest_dir: nil) ⇒ Object
(also: #compile)
Compiles one or more source files using
javac
.
Methods inherited from Payload
#build, #built?, #built_payload, #bytesize, #cleanup, #encode_payload, #encoded_payload, encoder_class, #initialize, #length, #perform_build, #perform_cleanup, #perform_postlaunch, #perform_prelaunch, #perform_validate, #postlaunch, #prelaunch, #rebuild_payload, #reencode_payload, register, #to_s, #validate
Constructor Details
This class inherits a constructor from Ronin::Payloads::Payload
Class Method Details
.javac ⇒ String
The default Java compiler.
50 51 52 |
# File 'lib/ronin/payloads/java_payload.rb', line 50 def self.javac ENV['JAVAC'] || 'javac' end |
.payload_type ⇒ Symbol
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This is used internally to map an payload class to a printable type.
Returns the type or kind of payload.
41 42 43 |
# File 'lib/ronin/payloads/java_payload.rb', line 41 def self.payload_type :java end |
Instance Method Details
#compile_java(*source_files, dest_dir: nil) ⇒ Object Also known as: compile
Compiles one or more source files using javac
.
72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/ronin/payloads/java_payload.rb', line 72 def compile_java(*source_files, dest_dir: nil) args = [params[:javac]] args << '-d' << dest_dir if dest_dir args.concat(source_files) case system(*args) when false raise(BuildFailed,"javac command failed: #{args.join(' ')}") when nil raise(BuildFailed,"javac command not installed") end end |