Go API
The Go bindings make it easy to use Frida’s APIs from Go.
Some of the provided functionality includes:
- Listing devices/applications/processes
- Attaching to applications/processes
- Fetching information about devices/applications/processes
For the full documentation please visit pkg.go.dev.
Example
package main
import (
"fmt"
"github.com/frida/frida-go/frida"
)
func main() {
manager := frida.NewDeviceManager()
devices, err := manager.EnumerateDevices()
if err != nil {
panic(err)
}
fmt.Printf("[*] Frida version: %s\n", frida.Version())
fmt.Println("[*] Devices: ")
for _, device := range devices {
fmt.Printf("[*] %s => %s\n", device.Name(), device.ID())
}
}
Example above should output something like:
$ go build main.go && ./main
[*] Frida version: 16.0.3
[*] Devices:
[*] Local System => local
[*] Local Socket => socket