hashcatlauncher

package module
v1.1.5 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2023 License: MIT Imports: 27 Imported by: 0

README

hashcat.launcher

hashcat.launcher is a cross-platform app that run and control hashcat
it is designed to make it easier to use hashcat offering a friendly graphical user interface

Getting Started

Requirements
  • Chromium based browser (Chrome, Edge, etc...)
  • zenity, qarma or matedialog (Linux only)
  • osascript (macOS only)
Usage
  • Download a release
  • Extract the archive
  • Run the executable

Screenshots

hashcat.launcher

Building from source

requires Go, npm

  • git clone https://github.com/s77rt/hashcat.launcher.git
  • cd hashcat.launcher
  • make
  • Executables can be found packaged in bin directory

Changelog

Refer to CHANGELOG.md


Report a bug / Request a feature

Documentation

Index

Constants

View Source
const MaxRecursiveFileWalk = 1000
View Source
const RestoreFileExt = ".restore"

Variables

View Source
var DefaultSessionID = "hashcat"
View Source
var DefaultSettings = &Settings{
	mu: new(sync.Mutex),

	Language: "en",
}
View Source
var (
	Version string = "dev"
)

Functions

func MarshalJSON added in v1.0.0

func MarshalJSON(v interface{}) []byte

func MarshalJSONS added in v1.0.0

func MarshalJSONS(v interface{}) string

func NewFilePath added in v1.1.0

func NewFilePath(path string) string

Types

type App added in v1.0.0

type App struct {
	Server  net.Listener
	UI      lorca.UI
	Watcher *fsnotify.Watcher

	Dir string

	HashcatDir string

	HashesDir       string
	DictionariesDir string
	RulesDir        string
	MasksDir        string

	ExportedDir string

	Hashcat      *Hashcat
	Hashes       []string
	Dictionaries []string
	Rules        []string
	Masks        []string

	Tasks                   map[string]*Task
	TaskAddCallback         func(TaskUpdate)
	TaskUpdateCallback      func(TaskUpdate)
	TaskPreProcessCallback  func(TaskUpdate)
	TaskPostProcessCallback func(TaskUpdate)
	TaskDeleteCallback      func(string)

	WatcherHashcatCallback      func()
	WatcherHashesCallback       func()
	WatcherDictionariesCallback func()
	WatcherRulesCallback        func()
	WatcherMasksCallback        func()

	Settings *Settings
}

func NewApp added in v1.0.0

func NewApp() *App

func (*App) BindUI added in v1.0.0

func (a *App) BindUI()

func (*App) Bundle added in v1.0.0

func (a *App) Bundle() error

func (*App) Clean added in v1.0.0

func (a *App) Clean() error

func (*App) DeleteTask added in v1.0.0

func (a *App) DeleteTask(taskID string) error

func (*App) ExportConfig added in v1.0.0

func (a *App) ExportConfig(config interface{}) (path string, err error)

func (*App) Init added in v1.0.0

func (a *App) Init() error

func (*App) LoadSettings added in v1.1.0

func (a *App) LoadSettings() error

func (*App) LoadUI added in v1.0.0

func (a *App) LoadUI() error

func (*App) NewServer added in v1.0.0

func (a *App) NewServer() error

func (*App) NewTask added in v1.0.0

func (a *App) NewTask(args HashcatArgs, priority int64) (err error)

func (*App) NewUI added in v1.0.0

func (a *App) NewUI() error

func (*App) NewWatcher added in v1.1.0

func (a *App) NewWatcher() error

func (*App) RestoreTask added in v1.0.0

func (a *App) RestoreTask(restoreFile RestoreFile) (err error)

func (*App) RestoreTasks added in v1.0.0

func (a *App) RestoreTasks() (err error)

func (*App) RestrictUI added in v1.0.0

func (a *App) RestrictUI()

func (*App) SaveHash added in v1.1.0

func (a *App) SaveHash(hash []byte, filename string) (path string, err error)

func (*App) SaveSettings added in v1.1.0

func (a *App) SaveSettings() error

func (*App) Scan added in v1.0.0

func (a *App) Scan() (err error)

func (*App) ScanDictionaries added in v1.0.0

func (a *App) ScanDictionaries() (err error)

func (*App) ScanHashes added in v1.0.0

func (a *App) ScanHashes() (err error)

func (*App) ScanMasks added in v1.0.0

func (a *App) ScanMasks() (err error)

func (*App) ScanRules added in v1.0.0

func (a *App) ScanRules() (err error)

func (*App) StartNextTask added in v1.0.0

func (a *App) StartNextTask()

StartNextTask starts the next queued task with the highest priority given that the task has not been started yet and there is no other running tasks tasks that have a priorty less than zero are not eligible

func (*App) TaskExists added in v1.0.0

func (a *App) TaskExists(taskID string) bool

type Hashcat added in v1.0.0

type Hashcat struct {
	BinaryFile string           `json:"binaryFile"`
	Algorithms map[int64]string `json:"algorithms"`
}

func (*Hashcat) Benchmark added in v1.0.0

func (h *Hashcat) Benchmark(hashMode HashcatHashMode) (benchmark string, err error)

func (*Hashcat) Devices added in v1.0.0

func (h *Hashcat) Devices() (devices string, err error)

func (*Hashcat) LoadAlgorithms added in v1.0.0

func (h *Hashcat) LoadAlgorithms()

type HashcatArgs added in v1.0.0

type HashcatArgs struct {
	Session *string

	AttackMode *HashcatAttackMode `json:"attackMode"`
	HashMode   *HashcatHashMode   `json:"hashMode"`

	Dictionaries    *[]string `json:"dictionaries"`    // Files
	Rules           *[]string `json:"rules"`           // Files
	Mask            *string   `json:"mask"`            // Direct Input
	MaskFile        *string   `json:"maskFile"`        // File
	LeftDictionary  *string   `json:"leftDictionary"`  // File
	LeftRule        *string   `json:"leftRule"`        // Direct Input
	RightDictionary *string   `json:"rightDictionary"` // File
	RightRule       *string   `json:"rightRule"`       // Direct Input

	CustomCharset1 *string `json:"customCharset1"`
	CustomCharset2 *string `json:"customCharset2"`
	CustomCharset3 *string `json:"customCharset3"`
	CustomCharset4 *string `json:"customCharset4"`

	EnableMaskIncrementMode *bool  `json:"enableMaskIncrementMode"`
	MaskIncrementMin        *int64 `json:"maskIncrementMin"`
	MaskIncrementMax        *int64 `json:"maskIncrementMax"`

	Hash *string `json:"hash"` // File

	Quiet                           *bool `json:"quiet"`
	DisablePotFile                  *bool `json:"disablePotFile"`
	DisableLogFile                  *bool `json:"disableLogFile"`
	EnableOptimizedKernel           *bool `json:"enableOptimizedKernel"`
	EnableSlowerCandidateGenerators *bool `json:"enableSlowerCandidateGenerators"`
	RemoveFoundHashes               *bool `json:"removeFoundHashes"`
	IgnoreUsernames                 *bool `json:"ignoreUsernames"`
	DisableSelfTest                 *bool `json:"disableSelfTest"`
	IgnoreWarnings                  *bool `json:"ignoreWarnings"`

	DevicesIDs      *[]int64 `json:"devicesIDs"`
	DevicesTypes    *[]int64 `json:"devicesTypes"`
	WorkloadProfile *int64   `json:"workloadProfile"`

	DisableMonitor *bool  `json:"disableMonitor"`
	TempAbort      *int64 `json:"tempAbort"`

	MarkovDisable   *bool  `json:"markovDisable"`
	MarkovClassic   *bool  `json:"markovClassic"`
	MarkovThreshold *int64 `json:"markovThreshold"`

	ExtraArguments *[]string `json:"extraArguments"`

	StatusTimer *int64 `json:"statusTimer"`

	OutputFile   *string  `json:"outputFile"`
	OutputFormat *[]int64 `json:"outputFormat"`
}

func (*HashcatArgs) Build added in v1.0.0

func (ha *HashcatArgs) Build() (args []string, err error)

type HashcatAttackMode added in v1.0.0

type HashcatAttackMode int64
const (
	HashcatAttackModeDictionary HashcatAttackMode = iota
	HashcatAttackModeCombinator

	HashcatAttackModeMask

	HashcatAttackModeHybrid1
	HashcatAttackModeHybrid2
)

type HashcatHashMode added in v1.0.0

type HashcatHashMode int64

type Restore added in v1.0.0

type Restore struct {
	Version int32
	Cwd     [256]byte

	DictsPos uint32
	MasksPos uint32

	WordsCur uint64

	Argc uint32
	Argv []byte
}

func UnpackRestore added in v1.0.0

func UnpackRestore(r io.Reader) (restore *Restore, err error)

type RestoreFile added in v0.4.0

type RestoreFile struct {
	*os.File
	Data *Restore
}

func (*RestoreFile) Unpack added in v1.0.0

func (rf *RestoreFile) Unpack() error

type Settings added in v1.1.0

type Settings struct {
	TaskCounter int    `json:"taskCounter"`
	Language    string `json:"language"`
	// contains filtered or unexported fields
}

func (*Settings) ChangeLanguage added in v1.1.2

func (settings *Settings) ChangeLanguage(lang string) error

func (*Settings) CurrentLanguage added in v1.1.2

func (settings *Settings) CurrentLanguage() string

func (*Settings) CurrentTaskCounter added in v1.1.0

func (settings *Settings) CurrentTaskCounter() int

func (*Settings) NextTaskCounter added in v1.1.0

func (settings *Settings) NextTaskCounter() int

func (*Settings) ResetTaskCounter added in v1.1.0

func (settings *Settings) ResetTaskCounter() int

type Task added in v1.0.0

type Task struct {
	ID string `json:"id"`

	Arguments []string              `json:"arguments"`
	Process   subprocess.Subprocess `json:"process"`

	Priority     int64 `json:"priority"`
	CreationTime int64 `json:"creationTime"`
}

func (*Task) Checkpoint added in v1.0.0

func (task *Task) Checkpoint() error

Checkpoint() asks to exit on the next checkpoint

func (*Task) Pause added in v1.0.0

func (task *Task) Pause() error

Pause() pauses the task

func (*Task) Quit added in v1.0.0

func (task *Task) Quit() error

Quit() quit the task

func (*Task) Refresh added in v1.0.0

func (task *Task) Refresh() error

Refresh() asks for a status update

func (*Task) Resume added in v1.0.0

func (task *Task) Resume() error

Resume() resumes the task

func (*Task) Skip added in v1.0.0

func (task *Task) Skip() error

Skip() skp current guess base

func (*Task) Start added in v1.0.0

func (task *Task) Start() error

Start() starts the task

func (*Task) SwitchToRestoreMode added in v1.1.0

func (task *Task) SwitchToRestoreMode() error

SwitchToRestoreMode() changes the task's arguments to use --restore https://hashcat.net/wiki/doku.php?id=restore

type TaskUpdate added in v1.0.0

type TaskUpdate struct {
	Task      Task   `json:"task"`
	Message   string `json:"message"`
	Source    string `json:"source"`
	Timestamp int64  `json:"timestamp"`
}

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

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