Sha256: a3f6afe3ef91e356d1585fd07d510dd22bf2c580f390a2d164fb19e508a9cb31

Contents?: true

Size: 1.87 KB

Versions: 1

Compression:

Stored size: 1.87 KB

Contents

#
#--
# Ronin Exploits - A Ruby library for Ronin that provides exploitation and
# payload crafting functionality.
#
# Copyright (c) 2007-2009 Hal Brodigan (postmodern.mod3 at gmail.com)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#++
#

require 'ronin/targeted_arch'

module Ronin
  module Model
    module TargetsArch
      def self.included(base)
        base.module_eval do
          # The payloads targeted architecture
          belongs_to :arch,
                     :child_key => [:arch_id],
                     :class_name => 'Ronin::TargetedArch'

          #
          # Returns the current targeted arch if no _name_ is given. If a
          # _name_ is given, a new TargetedArch object will be created
          # with the given _name_ and associated with the target.
          #
          #   target.arch
          #   # => nil
          #
          #   target.arch :i686
          #   # => #<Ronin::TargetedArch type=Ronin::TargetedArch id=nil
          #   # name="i686" endian="little" address_length=4>
          #
          def arch(name=nil)
            if name
              return self.arch = TargetedArch[name]
            else
              return arch_association
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ronin-exploits-0.2.0 lib/ronin/model/targets_arch.rb