ghidraScriptRunner

package module
v2.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

README

Ghidra-Script-Runner

Go Reference Go CodeQL Codacy Badge

A Golang package for running Ghidra Scripts (Thread Safe)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Configuration

type Configuration struct {
	// contains filtered or unexported fields
}

Configuration The ghidra configuration to be utilized for running scripts

func NewConfiguration

func NewConfiguration(ghidraHeadless, ghidraProjectLocation, ghidraProject string, shouldOverWrite bool) (*Configuration, error)

NewConfiguration returns a new ghidra configuration

type GhidraScriptTask

type GhidraScriptTask struct {
	// contains filtered or unexported fields
}

GhidraScriptTask a single task for ghidra to execute

func NewGhidraScriptTask

func NewGhidraScriptTask(fileName, script string) *GhidraScriptTask

NewGhidraScriptTask returns a new GhidraScriptTask struct, should be used instead of calling new

func (*GhidraScriptTask) ID

func (ghidraScriptTask *GhidraScriptTask) ID() string

ID returns the ID associated with this GhidraScriptTask struct

func (*GhidraScriptTask) Run

func (ghidraScriptTask *GhidraScriptTask) Run(ghidraConfig *Configuration) error

Run run the task assigned to this GhidraScriptTask struct

func (*GhidraScriptTask) SetStatus

func (ghidraScriptTask *GhidraScriptTask) SetStatus(queueStatus *GhidraTaskStatus)

SetStatus sets the Status of this GhidraScriptTask to the argument passed to this method

func (*GhidraScriptTask) Status

func (ghidraScriptTask *GhidraScriptTask) Status() *GhidraTaskStatus

Status returns the Status associated with this GhidraScriptTask struct

type GhidraTask

type GhidraTask interface {
	Run(config *Configuration) error
	ID() string
	Status() *GhidraTaskStatus
	SetStatus(status *GhidraTaskStatus)
}

GhidraTask a single task for the queue

type GhidraTaskService

type GhidraTaskService struct {
	// contains filtered or unexported fields
}

GhidraTaskService the service utilized to run ghidra scripts and manage the task queue.

func NewGhidraTaskService

func NewGhidraTaskService(config *Configuration) *GhidraTaskService

NewGhidraTaskService used to create a new ghidra task service. Required to start polling task

func (*GhidraTaskService) AddNewTaskToQueue

func (ghidraTaskService *GhidraTaskService) AddNewTaskToQueue(task GhidraTask)

AddNewTaskToQueue takes a GhidraQueueTask and adds it to the task queue

func (*GhidraTaskService) AddToQueue

func (ghidraTaskService *GhidraTaskService) AddToQueue(taskID, script string)

AddToQueue adds a new task to the queue

func (*GhidraTaskService) GetAllStatus

func (ghidraTaskService *GhidraTaskService) GetAllStatus() map[string]*GhidraTaskStatus

GetAllStatus returns a map with the status of all task in the queue.

func (*GhidraTaskService) GetStatusByTaskID

func (ghidraTaskService *GhidraTaskService) GetStatusByTaskID(taskID *string) *GhidraTaskStatus

GetStatusByTaskID returns the current status of a task currently in the queue.

func (*GhidraTaskService) IsQueueEmpty

func (ghidraTaskService *GhidraTaskService) IsQueueEmpty() bool

IsQueueEmpty returns a bool indicating whether the queue is empty

func (*GhidraTaskService) RemoveFromQueueByTaskID

func (ghidraTaskService *GhidraTaskService) RemoveFromQueueByTaskID(taskID string)

RemoveFromQueueByTaskID removes a task from the queue

func (*GhidraTaskService) UpdateTaskStatusByTaskID

func (ghidraTaskService *GhidraTaskService) UpdateTaskStatusByTaskID(taskID string, statusUpdate GhidraTaskStatus)

UpdateTaskStatusByTaskID updates the status of a task currently in the queue.

type GhidraTaskStatus

type GhidraTaskStatus string

GhidraTaskStatus the status of a task in the queue

Jump to

Keyboard shortcuts

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