debug/elf

Guided tour · Runtime & Debug · pkg.go.dev →

Read ELF binaries (Linux, BSD). Inspect sections, symbols, imported libraries.

Usage

Open and list sections

f, err := elf.Open("a.out")
if err != nil { log.Fatal(err) }
defer f.Close()
for _, s := range f.Sections {
    fmt.Println(s.Name, s.Type, s.Size)
}

Imported libraries

libs, _ := f.ImportedLibraries()
fmt.Println(libs) // e.g. [libc.so.6]