close
Skip to content

Reordering or files to help integration into linux distributions #20

@jsteube

Description

@jsteube

Moved from hashcat forum: https://hashcat.net/forum/thread-4891.html

The problem with packaging hashcat right now, as dropdead and I were discussing, is that hashcat doesn't exactly adhere to the FHS. Basically the hashcat directory is a working directory, and that's rather contradictory to the FHS.
Ideally before we go down the road of Linux packaging, we would re-organize the file structure, such that binaries are in /usr/bin; kernels, rule files, etc. are in /usr/share/hashcat; and user files (pot, restore, induct) are in the user's home directory, e.g. ~/.hashcat).
Otherwise, we basically just have to stuff everything in /usr/share/hashcat and have the user run from that directory as root.

We discussed the new "layout", this is the final suggestion:

Have 3 types of folders:

  • Install folder
  • Profile folder
  • Session folder

Since this problem does not affect Windows, there will be no change. Everything will stay inside the Install folder as it is already.

For Linux it's different:

  • The Install folder is generally not so important as for Windows, it's usually /usr/bin and /usr/share
  • The Profile folder will be: ~/.hashcat
  • The Session folder will be: $profile/$session

We'll move files from the source tree to the following destinations (hopefully self-explaining) aka Install folder:

  • /usr/bin/*.bin
  • /usr/share/doc/oclHashcat/ (stuff from docs/* and example* files)
  • /usr/share/doc/oclHashcat/extra/*
  • /usr/share/oclHashcat/hashcat.hcstat
  • /usr/share/oclHashcat/charsets/*
  • /usr/share/oclHashcat/kernels/*
  • /usr/share/oclHashcat/masks/*
  • /usr/share/oclHashcat/rules/*

The Profile folder will have:

  • ~/.hashcat/kernels/4098/*.kernel
  • ~/.hashcat/hashcat.pot
  • ~/.hashcat/hashcat.dictstat

The Session folder will have:

  • ~/.hashcat/$session/hashcat.log
  • ~/.hashcat/$session/hashcat.restore
  • ~/.hashcat/$session/hashcat.restore.new
  • ~/.hashcat/$session/outfiles/
  • ~/.hashcat/$session/induct/

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions