...

Package obj

import "github.com/chenzhuoyu/iasm/obj"
Overview
Index

Overview ▾

type Format

Format represents the saved binary file format.

type Format int
const (
    // ELF indicates it should be saved as an ELF binary.
    ELF Format = iota

    // MachO indicates it should be saved as a Mach-O binary.
    MachO
)

func (Format) Generate

func (self Format) Generate(name string, code []byte, base uint64, entry uint64) error

Generate generates a binary executable file from the specified code.

func (Format) String

func (self Format) String() string

String returns the name of a specified format.

func (Format) Write

func (self Format) Write(w io.Writer, code []byte, base uint64, entry uint64) error

Write assembles a binary executable.

type MachOHeader

type MachOHeader struct {
    Magic      uint32
    CPUType    uint32
    CPUSubType uint32
    FileType   uint32
    CmdCount   uint32
    CmdSize    uint32
    Flags      uint32
    // contains filtered or unexported fields
}

type Registers

type Registers struct {
    RAX    uint64
    RBX    uint64
    RCX    uint64
    RDX    uint64
    RDI    uint64
    RSI    uint64
    RBP    uint64
    RSP    uint64
    R8     uint64
    R9     uint64
    R10    uint64
    R11    uint64
    R12    uint64
    R13    uint64
    R14    uint64
    R15    uint64
    RIP    uint64
    RFLAGS uint64
    CS     uint64
    FS     uint64
    GS     uint64
}

type SegmentCommand

type SegmentCommand struct {
    Cmd          uint32
    Size         uint32
    Name         [16]byte
    VMAddr       uint64
    VMSize       uint64
    FileOffset   uint64
    FileSize     uint64
    MaxProtect   uint32
    InitProtect  uint32
    SectionCount uint32
    Flags        uint32
}

type SegmentSection

type SegmentSection struct {
    Name      [16]byte
    SegName   [16]byte
    Addr      uint64
    Size      uint64
    Offset    uint32
    Align     uint32
    RelOffset uint32
    RelCount  uint32
    Flags     uint32
    // contains filtered or unexported fields
}

type UnixThreadCommand

type UnixThreadCommand struct {
    Cmd    uint32
    Size   uint32
    Flavor uint32
    Count  uint32
    Regs   Registers
}