GithubHelp home page GithubHelp logo

hashcat / maskprocessor Goto Github PK

View Code? Open in Web Editor NEW
428.0 428.0 110.0 33 KB

High-Performance word generator with a per-position configureable charset

License: MIT License

Makefile 4.93% C 95.07%

maskprocessor's Introduction

hashcat

hashcat is the world's fastest and most advanced password recovery utility, supporting five unique modes of attack for over 300 highly-optimized hashing algorithms. hashcat currently supports CPUs, GPUs, and other hardware accelerators on Linux, Windows, and macOS, and has facilities to help enable distributed password cracking.

License

hashcat is licensed under the MIT license. Refer to docs/license.txt for more information.

Installation

Download the latest release and unpack it in the desired location. Please remember to use 7z x when unpacking the archive from the command line to ensure full file paths remain intact.

Usage/Help

Please refer to the Hashcat Wiki and the output of --help for usage information and general help. A list of frequently asked questions may also be found here. The Hashcat Forum also contains a plethora of information. If you still think you need help by a real human come to Discord.

Building

Refer to BUILD.md for instructions on how to build hashcat from source.

Tests:

Travis Coverity GitHub Actions
Hashcat Travis Build status Coverity Scan Build Status Hashcat GitHub Actions Build status

Contributing

Contributions are welcome and encouraged, provided your code is of sufficient quality. Before submitting a pull request, please ensure your code adheres to the following requirements:

  1. Licensed under MIT license, or dedicated to the public domain (BSD, GPL, etc. code is incompatible)
  2. Adheres to gnu99 standard
  3. Compiles cleanly with no warnings when compiled with -W -Wall -std=gnu99
  4. Uses Allman-style code blocks & indentation
  5. Uses 2-spaces as the indentation or a tab if it's required (for example: Makefiles)
  6. Uses lower-case function and variable names
  7. Avoids the use of ! and uses positive conditionals wherever possible (e.g., if (foo == 0) instead of if (!foo), and if (foo) instead of if (foo != 0))
  8. Use code like array[index + 0] if you also need to do array[index + 1], to keep it aligned

You can use GNU Indent to help assist you with the style requirements:

indent -st -bad -bap -sc -bl -bli0 -ncdw -nce -cli0 -cbi0 -pcs -cs -npsl -bs -nbc -bls -blf -lp -i2 -ts2 -nut -l1024 -nbbo -fca -lc1024 -fc1

Your pull request should fully describe the functionality you are adding/removing or the problem you are solving. Regardless of whether your patch modifies one line or one thousand lines, you must describe what has prompted and/or motivated the change.

Solve only one problem in each pull request. If you're fixing a bug and adding a new feature, you need to make two separate pull requests. If you're fixing three bugs, you need to make three separate pull requests. If you're adding four new features, you need to make four separate pull requests. So on, and so forth.

If your patch fixes a bug, please be sure there is an issue open for the bug before submitting a pull request. If your patch aims to improve performance or optimize an algorithm, be sure to quantify your optimizations and document the trade-offs, and back up your claims with benchmarks and metrics.

In order to maintain the quality and integrity of the hashcat source tree, all pull requests must be reviewed and signed off by at least two board members before being merged. The project lead has the ultimate authority in deciding whether to accept or reject a pull request. Do not be discouraged if your pull request is rejected!

Happy Cracking!

maskprocessor's People

Contributors

jsteube avatar matrix avatar neheb avatar philsmd avatar rixvet avatar rwhitworth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maskprocessor's Issues

How generate this pass?

I need generate /a/b/c/d/path.jpg where a,b,c,d needs tobe charset abcdefghijklmnopqrstuvwxyz0123456789

what code i need?

maskprocessor custom charset

Hi,
Is there a smart solution to create wordlist with more than 4 custom charset?
I have password with 8 places where i need to put 8 groups x 3 custom letters maybe some bash script?
Best regards!

start-from + increment gives unexpected error

When running

$ maskprocessor -i 1:5 ?l?l?l?l?l -o /dev/null -s 'v'
ERROR: size of 'v' from start-at parameter is not equal to size of mask '?l?l?l?l?l'

However

$ maskprocessor -i 1:5 ?l?l?l?l?l -s 'vache' | head
v
w
x
y
z
aa
ab
ac
ad
ae

auto increment from 1 char

Trying to generate a wordlist with max and min of 8 chars but maskprocessor keep starting from 1 char:

bash-3.2$ ./mp64.bin "?a?a?a?a?a?a?a?a" | head

       !
       "
       #
       $
       %
       &
       '
       (
       )

Tried to manually specify the length using --increment, but it doesn't work either:

bash-3.2$ ./mp64.bin --increment=8:8 "?a?a?a?a?a?a?a?a" | head

       !
       "
       #
       $
       %
       &
       '
       (
       )

It looks like this is only an issue when using all character sets "?a".
I'm able to bypass this issue by doing:

./mp64.bin -1 "?l?u?d?s" "?1?1?1?1?1?1?1?1" | head
aaaaaaaa
aaaaaaab
aaaaaaac
aaaaaaad
aaaaaaae

maskprocessor command line error

Hi,

I found error in markprocessor i cant create password for character like "!" or "#" its make trouble in command line

mp64 -1 abc #?1 -o test
mp64 -1 abc !?1 -o test

Can't install maskprocessor no matter method i try

I follow the instruction & install maskprocessor on my Azure vm using linux ubuntu & follow these command

sudo apt-get update
sudo apt-get install maskprocessor

No matter how many time i tried this error keep showing up
E: Unable to locate package maskprocessor
It's weird because when i tried to run mp64 command, this message show up

Command 'mp64' not found, but can be installed with:

sudo apt install maskprocessor

Habe anybody ever encounter this problem before?

Custom charset recurrence

Hi.
I'm trying to run this on a powerful machine. But I've no result
mp64.exe -r 2 -1 ?l?d ?1?1?1?1?1?1?1?1?1?1

If i use smaller lenght it's ok
mp64.exe -r 2 -1 ?l?d ?1?1?1?1?1?1?1?1?1
Why?

maskprocessor help

Hi,

mp64 -1 01 ?1?1?1?1?1?1?1?1 -o posibilities.txt

how to make all possibilities but only with 4x 1 and 4x 0 no more in results?

i dont want 11111111 = 8x1
or 00000000 = 8x0
or 11111000 = 6x1 2x0

i want 11110000 = 4x1 4x0
or 00110011 = 4x1 4x0

Forward / Reverse / Random Order Generation / Every Nth

For mask sets that are ludicrously huge, it would be awesome if the maskprocessor could support different types of output ordering. I've got a case where the data is multi PB in size, and having the ability to reverse output could help in breaking up the key-space across different hosts.

muliple custom charsets fail

win10 x64

maskprocessor-0.73>mp64 -o dictionary.txt -1 abcABC -2 !@#?"{2345 -3 ^&*(6789 salt?1sugar?2?2mustard?3pepper
Usage: mp64 [options] mask

Try --help for more help.

Read charset from file?

Thanks for this wonderful app. I'm not sure this is intentional or not, but unlike hc, mp cannot input a charset from file in (at least not in Windows). As a result, I've resorted to using an environment variable with the charset instead.

C:> set mycharset=0102030406070B0C0F1112131416171B1C1F....
C:> mp64 -q 2 -1 %mycharset% ?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1 --hex-charset

Will reading charset from file be supported in the future?

Possible Bug - Conflict between Max Occurrence and Combinations Options

The newer build of maskprocessor requires you to set a value of at least two for max occurrence:

--occurrence-max must be set to at least 2

However, due to this option being required, our --combinations option is now broken:

mp64.bin -1 '?u?d' '?1?1?1?1?1?1?1?1?1?1?1?1' --combinations -r2 --occurrence-max can not be used with --combinations

This was not an issue in earlier versions of maskprocessor.

mp64.exe --occurrence-max unknow option

can't use the -r or --occurrence-max.
If --occurrence-max is used mp64.exe: unknown option -- occurrence-max=n is obtained
if -r is used the program stuck

How to create this type of list

I'm wondering if it's possible to create a list of 6 alphabetical characters in which no characters are repeated unless they're vowels. In their case, a vowel can be repeated but only one time.
Could it be accomplished?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.