Legal disclaimer >>> The information on this site is intended to be used for legal and ethical purposes like research, education, journalism and educating the public. Our intention is to comply with any and all applicable laws. If you can provide legal advice, please let us know.

Contribute >>> Have new or missing information? See something wrong? Use the comment section at the bottom of all pages, email or Twitter.

Stay up to date >>> Follow us on Twitter.

Passpal was inspired by Pipal. Passpal 0.4 is an extremely early version. Feedback welcome nonetheless. Use the comment section below, email or Twitter.

Requirements

Passpal is being developed and tested on Ruby 1.9.3. Ruby 1.9 is probably required.

Download

Features

  • Much faster than Pipal
  • Made for UTF-8 (which should mean no encoding problems - use dictclean to clean your text file)
  • Extendable (to extend Passpal with a module you just extend the Agent class and implement two methods: analyze(word) and report())
  • Configurable (you can via the command-line specify which modules you want to run or not run, by using the –include and –exclude options)
  • Some stats try to focus on effectiveness (count/keyspace), not just frequency
  • Only one file (passpal.rb)
  • Progress bar on a per module basis

Help output

C:\passpal>ruby passpal.rb --help
passpal 0.4, T. Alexander Lystad <tal@lystadonline.no> (www.thepasswordproject.com)

Usage on Windows: ruby passpal.rb [switches] filename [> outfile.txt]
Usage on Linux:   ./passpal.rb [switches] filename [> outfile.txt]
--help                   Show help
--top                    Show top X results. Defaults to 10. Some reports are always shown in full. Example: --top 20
--include STRING         Run these modules, separate with comma. Example: --include 1,3,5
--exclude STRING         Run all modules except these, separate with comma. Example: --exclude 6
--profile                Pretty inaccurate profiling, but should give you an idea what the relative time cost of the modules are
--outfile filename       Output to this file
filename                 The file to analyze. Must be UTF-8 encoded.


Available modules:
1 = WordFrequencyAgent
2 = BaseWordFrequencyAgent
3 = LengthFrequencyAgent
4 = CharsetFrequencyAgent
5 = HashcatMaskFrequencyAgent
6 = CharsetPositionAgent
7 = CharacterFrequencyAgent
8 = SymbolFrequencyAgent

Example output

passpal 0.4 report (www.thepasswordproject.com)

Total words: 	24289
Unique words: 	22548 (92.83 %)

Word frequency, sorted by count, top 10
+------------------------------+
|   Word    | Count | Of total |
+------------------------------+
| 4v85ewau  |   433 | 1.7827 % |
| 123456    |    74 | 0.3047 % |
| passord   |    23 | 0.0947 % |
| liverpool |    17 | 0.07 %   |
| hemmelig  |    14 | 0.0576 % |
| 12345678  |    12 | 0.0494 % |
| 666666    |    11 | 0.0453 % |
| general   |    10 | 0.0412 % |
| 123456789 |    10 | 0.0412 % |
| 12345     |     9 | 0.0371 % |
+------------------------------+


Base word (len>=3) frequency, sorted by count, top 10
+------------------------------+
|   Word    | Count | Of total |
+------------------------------+
| v85ewau   |   433 | 1.7827 % |
| passord   |    30 | 0.1235 % |
| volvo     |    25 | 0.1029 % |
| hemmelig  |    24 | 0.0988 % |
| liverpool |    24 | 0.0988 % |
| abc       |    17 | 0.07 %   |
| toyota    |    13 | 0.0535 % |
| fitte     |    12 | 0.0494 % |
| general   |    11 | 0.0453 % |
| pwd       |    10 | 0.0412 % |
+------------------------------+


Length frequency, sorted by length, full table
+----------------------------+
| Length | Count | Of total  |
+----------------------------+
|      0 |     6 | 0.0247 %  |
|      1 |     8 | 0.0329 %  |
|      2 |     1 | 0.0041 %  |
|      3 |     9 | 0.0371 %  |
|      4 |   229 | 0.9428 %  |
|      5 |   376 | 1.548 %   |
|      6 |  2116 | 8.7118 %  |
|      7 |  1550 | 6.3815 %  |
|      8 | 17944 | 73.8771 % |
|      9 |  1044 | 4.2982 %  |
|     10 |   589 | 2.425 %   |
|     11 |   241 | 0.9922 %  |
|     12 |   105 | 0.4323 %  |
|     13 |    44 | 0.1812 %  |
|     14 |    12 | 0.0494 %  |
|     15 |    13 | 0.0535 %  |
|     16 |     2 | 0.0082 %  |
+----------------------------+


Charset frequency, sorted by count, full table
+------------------------------------------------------------------------+
|           Charset            | Count | Of total  |   Count/keyspace    |
+------------------------------------------------------------------------+
| lower-upper-numeric-symbolic | 24278 | 99.9547 % |  255.55789473684212 |
| lower-upper-numeric          | 24228 | 99.7489 % |   390.7741935483871 |
| lower-numeric-symbolic       | 23579 | 97.0769 % |  341.72463768115944 |
| lower-numeric                | 23537 | 96.9039 % |   653.8055555555555 |
| lower-upper-symbolic         |  4864 | 20.0255 % |   57.22352941176471 |
| lower-upper                  |  4835 | 19.9061 % |   92.98076923076923 |
| lower-symbolic               |  4652 | 19.1527 % |   78.84745762711864 |
| lower                        |  4624 | 19.0374 % |  177.84615384615384 |
| upper-numeric-symbolic       |  1148 | 4.7264 %  |   16.63768115942029 |
| upper-numeric                |  1139 | 4.6894 %  |   31.63888888888889 |
| numeric-symbolic             |  1107 | 4.5576 %  |   25.74418604651163 |
| numeric                      |  1099 | 4.5247 %  |               109.9 |
| upper-symbolic               |    20 | 0.0823 %  |  0.3389830508474576 |
| upper                        |    12 | 0.0494 %  | 0.46153846153846156 |
| symbolic                     |     8 | 0.0329 %  | 0.24242424242424243 |
+------------------------------------------------------------------------+

Charset frequency, sorted by count/keyspace, full table
+------------------------------------------------------------------------+
|           Charset            | Count | Of total  |   Count/keyspace    |
+------------------------------------------------------------------------+
| lower-numeric                | 23537 | 96.9039 % |   653.8055555555555 |
| lower-upper-numeric          | 24228 | 99.7489 % |   390.7741935483871 |
| lower-numeric-symbolic       | 23579 | 97.0769 % |  341.72463768115944 |
| lower-upper-numeric-symbolic | 24278 | 99.9547 % |  255.55789473684212 |
| lower                        |  4624 | 19.0374 % |  177.84615384615384 |
| numeric                      |  1099 | 4.5247 %  |               109.9 |
| lower-upper                  |  4835 | 19.9061 % |   92.98076923076923 |
| lower-symbolic               |  4652 | 19.1527 % |   78.84745762711864 |
| lower-upper-symbolic         |  4864 | 20.0255 % |   57.22352941176471 |
| upper-numeric                |  1139 | 4.6894 %  |   31.63888888888889 |
| numeric-symbolic             |  1107 | 4.5576 %  |   25.74418604651163 |
| upper-numeric-symbolic       |  1148 | 4.7264 %  |   16.63768115942029 |
| upper                        |    12 | 0.0494 %  | 0.46153846153846156 |
| upper-symbolic               |    20 | 0.0823 %  |  0.3389830508474576 |
| symbolic                     |     8 | 0.0329 %  | 0.24242424242424243 |
+------------------------------------------------------------------------+


Hashcat mask frequency, sorted by count, top 10
+--------------------------------------------------------------+
|       Mask       | Count | Of total |     Count/keyspace     |
+--------------------------------------------------------------+
| ?l?l?l?l?l?l?l?l |  1849 | 7.6125 % |  8.854216304549353e-09 |
| ?l?l?l?l?l?l     |  1055 | 4.3435 % |  3.415170353747165e-06 |
| ?l?l?l?l?l?l?l   |   629 | 2.5896 % |  7.831360380995139e-08 |
| ?l?l?l?l?l?l?l?d |   587 | 2.4167 % | 7.3084396560320305e-09 |
| ?d?l?l?l?l?l?l?l |   542 | 2.2315 % |  6.748167450714413e-09 |
| ?l?l?l?l?l?l?d?d |   525 | 2.1615 % |  1.699492356130106e-08 |
| ?l?l?d?l?l?l?l?l |   514 | 2.1162 % |   6.39955363407234e-09 |
| ?l?l?l?l?l?l?d?l |   502 | 2.0668 % |  6.250147712654309e-09 |
| ?l?l?l?l?d?l?l?l |   502 | 2.0668 % |  6.250147712654309e-09 |
| ?l?l?l?d?l?l?l?l |   498 | 2.0503 % |  6.200345738848298e-09 |
+--------------------------------------------------------------+
Words that didn't match any ?l?u?d?s mask: 11 (0.0453 %)

Hashcat mask frequency, sorted by count/keyspace, top 10
+----------------------------------------------------------+
|     Mask     | Count | Of total |     Count/keyspace     |
+----------------------------------------------------------+
| ?s           |     8 | 0.0329 % |    0.24242424242424243 |
| ?d?d?d?d     |   143 | 0.5887 % |                 0.0143 |
| ?d?d?d       |     2 | 0.0082 % |                  0.002 |
| ?d?d?d?d?d   |    50 | 0.2059 % |                 0.0005 |
| ?d?d?d?d?d?d |   455 | 1.8733 % |               0.000455 |
| ?l?l?l       |     7 | 0.0288 % | 0.00039827036868456985 |
| ?l?l?l?l     |    78 | 0.3211 % | 0.00017068730086481566 |
| ?l?d?d?d     |     1 | 0.0041 % |  3.846153846153846e-05 |
| ?l?l?l?l?l   |   259 | 1.0663 % | 2.1798821954628825e-05 |
| ?l?l?d?d     |     1 | 0.0041 % | 1.4792899408284024e-05 |
+----------------------------------------------------------+
Words that didn't match any ?l?u?d?s mask: 11 (0.0453 %)


Charset distribution of characters in beginning and end of words (len>=6)
+-------------------------------------------------------------------------------------------------+
| Charset\Index | 0 (first char) |     1     |     2     |    -3     |    -2     | -1 (last char) |
+-------------------------------------------------------------------------------------------------+
| lower         | 73.6306 %      | 78.0558 % | 75.5897 % | 73.1741 % | 68.8617 % | 67.0865 %      |
| upper         | 2.4979 %       | 0.3297 %  | 0.2874 %  | 0.2071 %  | 0.2071 %  | 0.1691 %       |
| digits        | 23.8208 %      | 21.6019 % | 24.1145 % | 26.6061 % | 30.9058 % | 32.6641 %      |
| symbols       | 0.0507 %       | 0.0127 %  | 0.0085 %  | 0.0127 %  | 0.0254 %  | 0.0803 %       |
+-------------------------------------------------------------------------------------------------+


Total characters: 	190095
Unique characters: 	72
Top 50 characters: 	eanrstm8u453k69d7gphvbcfywj2xzqio1l0SABMTLHDNCKPRE

Character frequency, sorted by count, top 10
+------------------------------+
| Character | Count | Of total |
+------------------------------+
| e         |  9256 | 4.8691 % |
| a         |  9166 | 4.8218 % |
| n         |  7428 | 3.9075 % |
| r         |  7250 | 3.8139 % |
| s         |  6949 | 3.6555 % |
| t         |  6505 | 3.422 %  |
| m         |  5837 | 3.0706 % |
| 8         |  5725 | 3.0117 % |
| u         |  5645 | 2.9696 % |
| 4         |  5639 | 2.9664 % |
+------------------------------+


Symbol frequency, sorted by count, top 10
+----------------+
| Symbol | Count |
+----------------+
| .      |    20 |
| "      |    16 |
| !      |     9 |
| _      |     8 |
| @      |     5 |
| -      |     3 |
| *      |     2 |
| #      |     1 |
+----------------+
Print/export