Module: OneGadget::Fetchers::ClassMethods
- Included in:
- OneGadget::Fetchers
- Defined in:
- lib/one_gadget/fetchers.rb
Overview
Define class methods here.
Instance Method Summary collapse
-
#from_build_id(build_id, remote: true, level: 0) ⇒ Array<OneGadget::Gadget::Gadget>?
Fetch one-gadget offsets of this build id.
-
#from_file(file, level: 0) ⇒ Array<OneGadget::Gadget::Gadget>
Fetch one-gadget offsets from file.
-
#supported_architecture?(arch) ⇒ Boolean
Whether gadgets can be searched for in
arch.
Instance Method Details
#from_build_id(build_id, remote: true, level: 0) ⇒ Array<OneGadget::Gadget::Gadget>?
Fetch one-gadget offsets of this build id.
41 42 43 44 45 |
# File 'lib/one_gadget/fetchers.rb', line 41 def from_build_id(build_id, remote: true, level: 0) OneGadget::Helper.verify_build_id!(build_id) gadgets = OneGadget::Gadget.builds(build_id, remote:) gadgets && for_level(gadgets, level) end |
#from_file(file, level: 0) ⇒ Array<OneGadget::Gadget::Gadget>
Fetch one-gadget offsets from file.
56 57 58 59 60 61 62 |
# File 'lib/one_gadget/fetchers.rb', line 56 def from_file(file, level: 0) arch = OneGadget::Helper.architecture(file) klass = FETCHERS[arch] raise Error::UnsupportedArchitectureError, arch if klass.nil? for_level(klass.new(file).find, level) end |
#supported_architecture?(arch) ⇒ Boolean
Whether gadgets can be searched for in arch. The ELF reader recognises
plenty this tool cannot emulate.
68 69 70 |
# File 'lib/one_gadget/fetchers.rb', line 68 def supported_architecture?(arch) FETCHERS.key?(arch) end |