go

command
v0.0.0-...-56889a3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2024 License: GPL-2.0 Imports: 4 Imported by: 0

README

To download/update the Unicorn Go bindings, run:

go get -u github.com/CryptoKass/unicorn/bindings/go

A very basic usage example follows

(Does not handle most errors for brevity. Please see sample.go for a more hygenic example):

package main

import (
    "fmt"
    uc "github.com/CryptoKass/unicorn/bindings/go/unicorn"
)

func main() {
    mu, _ := uc.NewUnicorn(uc.ARCH_X86, uc.MODE_32)
    // mov eax, 1234
    code := []byte{184, 210, 4, 0, 0}
    mu.MemMap(0x1000, 0x1000)
    mu.MemWrite(0x1000, code)
    if err := mu.Start(0x1000, 0x1000+uint64(len(code))); err != nil {
        panic(err)
    }
    eax, _ := mu.RegRead(uc.X86_REG_EAX)
    fmt.Printf("EAX is now: %d\n", eax)
}

An example program exercising far more Unicorn functionality and error handling can be found in sample.go.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL