directory
Version:
v0.0.0-...-40488b3
Opens a new window with list of versions in this module.
Published: Apr 10, 2025
License: GPL-2.0
Opens a new window with license information.
README
¶
keystone
Go bindings for the keystone engine.
Sample
package main
import (
"fmt"
"os"
"github.com/keystone-engine/keystone/bindings/go/keystone"
)
func main() {
assembly := os.Args[1]
ks, err := keystone.New(keystone.ARCH_X86, keystone.MODE_32)
if err != nil {
panic(err)
}
defer ks.Close()
if err := ks.Option(keystone.OPT_SYNTAX, keystone.OPT_SYNTAX_INTEL); err != nil {
panic(fmt.Errorf("Could not set syntax option to intel"))
}
if insn, _, ok := ks.Assemble(assembly, 0); !ok {
panic(fmt.Errorf("Could not assemble instruction"))
} else {
fmt.Printf("%s: [%x]", assembly, insn)
}
}
Testing
go test
Contributors
- Remco Verhoef (@remco_verhoef)
Directories
¶
Click to show internal directories.
Click to hide internal directories.