Module: Ronin::Support::Binary

Defined in:
lib/ronin/support/binary.rb,
lib/ronin/support/binary/array.rb,
lib/ronin/support/binary/stack.rb,
lib/ronin/support/binary/union.rb,
lib/ronin/support/binary/buffer.rb,
lib/ronin/support/binary/ctypes.rb,
lib/ronin/support/binary/memory.rb,
lib/ronin/support/binary/packet.rb,
lib/ronin/support/binary/stream.rb,
lib/ronin/support/binary/struct.rb,
lib/ronin/support/binary/cstring.rb,
lib/ronin/support/binary/bit_flip.rb,
lib/ronin/support/binary/template.rb,
lib/ronin/support/binary/ctypes/os.rb,
lib/ronin/support/binary/unhexdump.rb,
lib/ronin/support/binary/byte_slice.rb,
lib/ronin/support/binary/ctypes/type.rb,
lib/ronin/support/binary/ctypes/mixin.rb,
lib/ronin/support/binary/ctypes/native.rb,
lib/ronin/support/binary/ctypes/os/bsd.rb,
lib/ronin/support/binary/struct/member.rb,
lib/ronin/support/binary/ctypes/network.rb,
lib/ronin/support/binary/ctypes/os/unix.rb,
lib/ronin/support/binary/stream/methods.rb,
lib/ronin/support/binary/ctypes/arch/arm.rb,
lib/ronin/support/binary/ctypes/arch/ppc.rb,
lib/ronin/support/binary/ctypes/arch/x86.rb,
lib/ronin/support/binary/ctypes/int_type.rb,
lib/ronin/support/binary/ctypes/os/linux.rb,
lib/ronin/support/binary/ctypes/os/macos.rb,
lib/ronin/support/binary/ctypes/arch/mips.rb,
lib/ronin/support/binary/ctypes/char_type.rb,
lib/ronin/support/binary/ctypes/enum_type.rb,
lib/ronin/support/binary/ctypes/int8_type.rb,
lib/ronin/support/binary/ctypes/os/netbsd.rb,
lib/ronin/support/binary/ctypes/uint_type.rb,
lib/ronin/support/binary/unhexdump/parser.rb,
lib/ronin/support/binary/ctypes/arch/arm64.rb,
lib/ronin/support/binary/ctypes/arch/ppc64.rb,
lib/ronin/support/binary/ctypes/array_type.rb,
lib/ronin/support/binary/ctypes/big_endian.rb,
lib/ronin/support/binary/ctypes/char_types.rb,
lib/ronin/support/binary/ctypes/float_type.rb,
lib/ronin/support/binary/ctypes/int16_type.rb,
lib/ronin/support/binary/ctypes/int32_type.rb,
lib/ronin/support/binary/ctypes/int64_type.rb,
lib/ronin/support/binary/ctypes/os/freebsd.rb,
lib/ronin/support/binary/ctypes/os/openbsd.rb,
lib/ronin/support/binary/ctypes/os/windows.rb,
lib/ronin/support/binary/ctypes/uint8_type.rb,
lib/ronin/support/binary/ctypes/union_type.rb,
lib/ronin/support/binary/ctypes/arch/mips64.rb,
lib/ronin/support/binary/ctypes/arch/x86_64.rb,
lib/ronin/support/binary/ctypes/object_type.rb,
lib/ronin/support/binary/ctypes/scalar_type.rb,
lib/ronin/support/binary/ctypes/string_type.rb,
lib/ronin/support/binary/ctypes/struct_type.rb,
lib/ronin/support/binary/ctypes/uint16_type.rb,
lib/ronin/support/binary/ctypes/uint32_type.rb,
lib/ronin/support/binary/ctypes/uint64_type.rb,
lib/ronin/support/binary/ctypes/float32_type.rb,
lib/ronin/support/binary/ctypes/float64_type.rb,
lib/ronin/support/binary/ctypes/little_endian.rb,
lib/ronin/support/binary/ctypes/type_resolver.rb,
lib/ronin/support/binary/ctypes/aggregate_type.rb,
lib/ronin/support/binary/ctypes/array_object_type.rb,
lib/ronin/support/binary/ctypes/union_object_type.rb,
lib/ronin/support/binary/ctypes/struct_object_type.rb,
lib/ronin/support/binary/ctypes/arch/arm/big_endian.rb,
lib/ronin/support/binary/ctypes/unbounded_array_type.rb,
lib/ronin/support/binary/ctypes/arch/arm64/big_endian.rb,
lib/ronin/support/binary/ctypes/arch/mips/little_endian.rb,
lib/ronin/support/binary/ctypes/arch/mips64/little_endian.rb

Overview

Defined Under Namespace

Modules: BitFlip, CTypes, Unhexdump Classes: Array, Buffer, ByteSlice, CString, Memory, Packet, Stack, Stream, Struct, Template, Union

Class Method Summary collapse

Class Method Details

.Struct(endian: nil, arch: nil) ⇒ Class<Binary::Struct>

Defines a new Struct sub-class with the desired endian-ness or architecture.

The new architecture for the struct.

Parameters:

  • endian (:little, :big, :net, nil) (defaults to: nil)

    The desired endian-ness.

  • arch (:x86, :x86_64, :ppc, :ppc64, :mips, :mips_le, :mips_be, :mips64, :mips64_le, :mips64_be, :arm, :arm_le, :arm_be, :arm64, :arm64_le, :arm64_be, nil) (defaults to: nil)

Returns:

See Also:



827
828
829
# File 'lib/ronin/support/binary/struct.rb', line 827

def self.Struct(endian: nil, arch: nil)
  Struct.translate(endian: endian, arch: arch)
end