Jens Steube преди 10 години
родител
ревизия
48dd96d339
променени са 100 файла, в които са добавени 2300 реда и са изтрити 1 реда
  1. 1 0
      Makefile
  2. 47 1
      README.md
  3. 1 0
      charsets/combined/Bulgarian.hcchr
  4. 1 0
      charsets/combined/Castilian.hcchr
  5. 1 0
      charsets/combined/Catalan.hcchr
  6. 1 0
      charsets/combined/English.hcchr
  7. 1 0
      charsets/combined/French.hcchr
  8. 1 0
      charsets/combined/German.hcchr
  9. 1 0
      charsets/combined/Greek.hcchr
  10. 1 0
      charsets/combined/GreekPolytonic.hcchr
  11. 1 0
      charsets/combined/Italian.hcchr
  12. 1 0
      charsets/combined/Lithuanian.hcchr
  13. 1 0
      charsets/combined/Polish.hcchr
  14. 1 0
      charsets/combined/Portuguese.hcchr
  15. 1 0
      charsets/combined/Russian.hcchr
  16. 1 0
      charsets/combined/Slovak.hcchr
  17. 1 0
      charsets/combined/Spanish.hcchr
  18. 1 0
      charsets/special/Castilian/es-ES_ISO-8859-1-special.hcchr
  19. 1 0
      charsets/special/Castilian/es-ES_ISO-8859-15-special.hcchr
  20. 1 0
      charsets/special/Castilian/es-ES_cp1252-special.hcchr
  21. 1 0
      charsets/special/Catalan/ca_ISO-8859-1-special.hcchr
  22. 1 0
      charsets/special/Catalan/ca_ISO-8859-15-special.hcchr
  23. 1 0
      charsets/special/Catalan/ca_cp1252-special.hcchr
  24. 1 0
      charsets/special/French/fr_ISO-8859-1-special.hcchr
  25. 1 0
      charsets/special/French/fr_ISO-8859-15-special.hcchr
  26. 1 0
      charsets/special/French/fr_ISO-8859-16-special.hcchr
  27. 1 0
      charsets/special/French/fr_cp1252-special.hcchr
  28. 1 0
      charsets/special/German/de_ISO-8859-1-special.hcchr
  29. 1 0
      charsets/special/German/de_ISO-8859-15-special.hcchr
  30. 1 0
      charsets/special/German/de_cp1252-special.hcchr
  31. 1 0
      charsets/special/Greek/el_ISO-8859-7-special.hcchr
  32. 1 0
      charsets/special/Greek/el_cp1253-special.hcchr
  33. 1 0
      charsets/special/Italian/it_ISO-8859-1-special.hcchr
  34. 1 0
      charsets/special/Italian/it_ISO-8859-15-special.hcchr
  35. 1 0
      charsets/special/Italian/it_cp1252-special.hcchr
  36. 1 0
      charsets/special/Polish/pl_cp1250-special.hcchr
  37. 1 0
      charsets/special/Portuguese/pt_ISO-8859-1-special.hcchr
  38. 1 0
      charsets/special/Portuguese/pt_ISO-8859-15-special.hcchr
  39. 1 0
      charsets/special/Portuguese/pt_cp1252-special.hcchr
  40. 1 0
      charsets/special/Russian/ru_ISO-8859-5-special.hcchr
  41. 1 0
      charsets/special/Russian/ru_cp1251-special.hcchr
  42. 1 0
      charsets/special/Slovak/sk_ISO-8859-2-special.hcchr
  43. 1 0
      charsets/special/Slovak/sk_cp1250-special.hcchr
  44. 1 0
      charsets/special/Spanish/es_ISO-8859-1-special.hcchr
  45. 1 0
      charsets/special/Spanish/es_ISO-8859-15-special.hcchr
  46. 1 0
      charsets/special/Spanish/es_cp1252-special.hcchr
  47. 1 0
      charsets/standard/Bulgarian/bg_ISO-8859-5.hcchr
  48. 1 0
      charsets/standard/Bulgarian/bg_KOI8-R.hcchr
  49. 1 0
      charsets/standard/Bulgarian/bg_cp1251.hcchr
  50. 1 0
      charsets/standard/Castilian/es-ES_ISO-8859-1.hcchr
  51. 1 0
      charsets/standard/Castilian/es-ES_ISO-8859-15.hcchr
  52. 1 0
      charsets/standard/Castilian/es-ES_cp1252.hcchr
  53. 1 0
      charsets/standard/Catalan/ca_ISO-8859-1.hcchr
  54. 1 0
      charsets/standard/Catalan/ca_ISO-8859-15.hcchr
  55. 1 0
      charsets/standard/Catalan/ca_cp1252.hcchr
  56. 1 0
      charsets/standard/English/en_ISO-8859-1.hcchr
  57. 1 0
      charsets/standard/English/en_ISO-8859-15.hcchr
  58. 1 0
      charsets/standard/English/en_cp1252.hcchr
  59. 1 0
      charsets/standard/French/fr_ISO-8859-1.hcchr
  60. 1 0
      charsets/standard/French/fr_ISO-8859-15.hcchr
  61. 1 0
      charsets/standard/French/fr_ISO-8859-16.hcchr
  62. 1 0
      charsets/standard/French/fr_cp1252.hcchr
  63. 1 0
      charsets/standard/German/de_ISO-8859-1.hcchr
  64. 1 0
      charsets/standard/German/de_ISO-8859-15.hcchr
  65. 1 0
      charsets/standard/German/de_cp1252.hcchr
  66. 1 0
      charsets/standard/Greek/el_ISO-8859-7.hcchr
  67. 1 0
      charsets/standard/Greek/el_cp1253.hcchr
  68. 1 0
      charsets/standard/GreekPolytonic/el_polytonic_ISO-8859-7.hcchr
  69. 1 0
      charsets/standard/GreekPolytonic/el_polytonic_cp1253.hcchr
  70. 1 0
      charsets/standard/Hungarian/hu_cp1250.hcchr
  71. 1 0
      charsets/standard/Italian/it_ISO-8859-1.hcchr
  72. 1 0
      charsets/standard/Italian/it_ISO-8859-15.hcchr
  73. 1 0
      charsets/standard/Italian/it_cp1252.hcchr
  74. 1 0
      charsets/standard/Lithuanian/lt_ISO-8859-13.hcchr
  75. 1 0
      charsets/standard/Lithuanian/lt_ISO-8859-4.hcchr
  76. 1 0
      charsets/standard/Lithuanian/lt_cp1257.hcchr
  77. 1 0
      charsets/standard/Polish/pl_ISO-8859-2.hcchr
  78. 1 0
      charsets/standard/Polish/pl_cp1250.hcchr
  79. 1 0
      charsets/standard/Portuguese/pt_ISO-8859-1.hcchr
  80. 1 0
      charsets/standard/Portuguese/pt_ISO-8859-15.hcchr
  81. 1 0
      charsets/standard/Portuguese/pt_cp1252.hcchr
  82. 1 0
      charsets/standard/Russian/ru_ISO-8859-5.hcchr
  83. 1 0
      charsets/standard/Russian/ru_KOI8-R.hcchr
  84. 1 0
      charsets/standard/Russian/ru_cp1251.hcchr
  85. 1 0
      charsets/standard/Slovak/sk_ISO-8859-2.hcchr
  86. 1 0
      charsets/standard/Slovak/sk_cp1250.hcchr
  87. 1 0
      charsets/standard/Spanish/es_ISO-8859-1.hcchr
  88. 1 0
      charsets/standard/Spanish/es_ISO-8859-15.hcchr
  89. 1 0
      charsets/standard/Spanish/es_cp1252.hcchr
  90. 240 0
      docs/BUILD.md
  91. 1519 0
      docs/changes.txt
  92. 2 0
      docs/contact.txt
  93. 16 0
      docs/credits.txt
  94. 22 0
      docs/license.txt
  95. 58 0
      docs/rules.txt
  96. 3 0
      docs/user_manuals.txt
  97. 102 0
      examples/A0.M0.hash
  98. 102 0
      examples/A0.M0.word
  99. 101 0
      examples/A0.M10.hash
  100. 0 0
      examples/A0.M10.word

+ 1 - 0
Makefile

@@ -0,0 +1 @@
+include src/Makefile

+ 47 - 1
README.md

@@ -1 +1,47 @@
-# hashcat
+## *Hashcat* ##
+
+**Hashcat** is an advanced CPU-based password recovery utility for Windows 7/8/10 and GNU/Linux, supporting seven unique modes of attack for over 100 optimized hashing algorithms.
+
+### License ###
+
+**Hashcat** is licensed under the MIT license. Refer to [docs/license.txt](docs/license.txt) for more information. 
+
+### Installation ###
+
+Download the [latest release](https://hashcat.net/hashcat/) 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](http://hashcat.net/wiki/) and the output of `--help` for usage information and general help. A list of frequently asked questions may also be found [here](http://hashcat.net/wiki/doku.php?id=frequently_asked_questions). The [Hashcat Forums](http://hashcat.net/forum/) also contain a plethora of information. 
+
+### Building ###
+
+Refer to [docs/BUILD.md](docs/BUILD.md) for instructions on how to build **Hashcat** from source.
+
+### 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 public domain (BSD, GPL, etc. code is incompatible)
+2. Adheres to either C89, C90, or C99 standards
+2. Compiles cleanly with no warnings when compiled with `-W -Wall -std=c99`
+3. Uses [Allman-style](https://en.wikipedia.org/wiki/Indent_style#Allman_style) code blocks & indentation 
+4. Uses 2-character tabs and 2-character indentations
+5. Uses lower-case function and variable names 
+6. 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)`)
+
+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](https://github.com/hashcat/hashcat/issues) open for the bug before submitting a pull request. If your patch aims to improve performance or optimizes 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](https://github.com/orgs/hashcat/people) before being merged. The [project lead](https://github.com/jsteube) 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!

+ 1 - 0
charsets/combined/Bulgarian.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/Castilian.hcchr

@@ -0,0 +1 @@
+€¡₪¨×´÷¿ֱֹֽׁ׃��ביםסףת�

+ 1 - 0
charsets/combined/Catalan.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/English.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/French.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/German.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/Greek.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/GreekPolytonic.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/Italian.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/Lithuanian.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/Polish.hcchr

@@ -0,0 +1 @@
+€審湡。ウ�背豆伎剖延骊耋

+ 1 - 0
charsets/combined/Portuguese.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/Russian.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/combined/Slovak.hcchr

@@ -0,0 +1 @@
+€妽帤潪ˉī�按捣够季懒呐壬拖矣在萼徜彖轫矧篝�

+ 1 - 0
charsets/combined/Spanish.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Castilian/es-ES_ISO-8859-1-special.hcchr

@@ -0,0 +1 @@
+�¨×´÷��������ביםסףת�

+ 1 - 0
charsets/special/Castilian/es-ES_ISO-8859-15-special.hcchr

@@ -0,0 +1 @@
+�¤×÷��������ביםסףת�

+ 1 - 0
charsets/special/Castilian/es-ES_cp1252-special.hcchr

@@ -0,0 +1 @@
+€¡¨×´÷¿ֱֹֽׁ׃��ביםסףת�

+ 1 - 0
charsets/special/Catalan/ca_ISO-8859-1-special.hcchr

@@ -0,0 +1 @@
+〃ご봇의훔賈錄舶暹僥獐膣兄

+ 1 - 0
charsets/special/Catalan/ca_ISO-8859-15-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Catalan/ca_cp1252-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/French/fr_ISO-8859-1-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/French/fr_ISO-8859-15-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/French/fr_ISO-8859-16-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/French/fr_cp1252-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/German/de_ISO-8859-1-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/German/de_ISO-8859-15-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/German/de_cp1252-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Greek/el_ISO-8859-7-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Greek/el_cp1253-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Italian/it_ISO-8859-1-special.hcchr

@@ -0,0 +1 @@
+」ェエコタネノフヘホメモルレ琲鴈濵��

+ 1 - 0
charsets/special/Italian/it_ISO-8859-15-special.hcchr

@@ -0,0 +1 @@
+ㄓ的檀妀迓眑欹骭濇膼覷╭

+ 1 - 0
charsets/special/Italian/it_cp1252-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Polish/pl_cp1250-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Portuguese/pt_ISO-8859-1-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Portuguese/pt_ISO-8859-15-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Portuguese/pt_cp1252-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Russian/ru_ISO-8859-5-special.hcchr

@@ -0,0 +1 @@
+、氨渤吹斗腹夯冀究懒旅呐魄壬仕掏蜗醒矣哉肿刭谯茌捱噌忏溴骁栝觌祉铒瘃

+ 1 - 0
charsets/special/Russian/ru_cp1251-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Slovak/sk_ISO-8859-2-special.hcchr

@@ -0,0 +1 @@
+エ┇�吹饭痪懒呐壬拖矣在萼徜彖轫矧篝�

+ 1 - 0
charsets/special/Slovak/sk_cp1250-special.hcchr

@@ -0,0 +1 @@
+€妽帤潪〃按季懒呐壬拖矣在萼徜彖轫矧篝�

+ 1 - 0
charsets/special/Spanish/es_ISO-8859-1-special.hcchr

@@ -0,0 +1 @@
+。ィェエコソタチヌネノヘマムメモレワ珮鉅鳫��浯

+ 1 - 0
charsets/special/Spanish/es_ISO-8859-15-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/special/Spanish/es_cp1252-special.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Bulgarian/bg_ISO-8859-5.hcchr

@@ -0,0 +1 @@
+갛낫독렇뭔뻤슭오좌쳐탬픽�勁卦妗戇倆厘描白繃嗇飡宸臆預隅日全

+ 1 - 0
charsets/standard/Bulgarian/bg_KOI8-R.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Bulgarian/bg_cp1251.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Castilian/es-ES_ISO-8859-1.hcchr

@@ -0,0 +1 @@
+���������ביםסףת�

+ 1 - 0
charsets/standard/Castilian/es-ES_ISO-8859-15.hcchr

@@ -0,0 +1 @@
+�¤��������ביםסףת�

+ 1 - 0
charsets/standard/Castilian/es-ES_cp1252.hcchr

@@ -0,0 +1 @@
+€¡¿ֱֹֽׁ׃��ביםסףת�

+ 1 - 0
charsets/standard/Catalan/ca_ISO-8859-1.hcchr

@@ -0,0 +1 @@
+×의훔賈錄舶暹僥獐膣兄

+ 1 - 0
charsets/standard/Catalan/ca_ISO-8859-15.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Catalan/ca_cp1252.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/English/en_ISO-8859-1.hcchr

@@ -0,0 +1 @@
+」

+ 1 - 0
charsets/standard/English/en_ISO-8859-15.hcchr

@@ -0,0 +1 @@
+」、

+ 1 - 0
charsets/standard/English/en_cp1252.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/French/fr_ISO-8859-1.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/French/fr_ISO-8859-15.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/French/fr_ISO-8859-16.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/French/fr_cp1252.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/German/de_ISO-8859-1.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/German/de_ISO-8859-15.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/German/de_cp1252.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Greek/el_ISO-8859-7.hcchr

@@ -0,0 +1 @@
+ち唾津毒班碧麺力佰嘖孛忤掾矣粤肄蓍裨跋鈿韵鴦���

+ 1 - 0
charsets/standard/Greek/el_cp1253.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/GreekPolytonic/el_polytonic_ISO-8859-7.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/GreekPolytonic/el_polytonic_cp1253.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Hungarian/hu_cp1250.hcchr

@@ -0,0 +1 @@
+���������ביםףץצת��

+ 1 - 0
charsets/standard/Italian/it_ISO-8859-1.hcchr

@@ -0,0 +1 @@
+タネノフヘホメモルレ琲鴈濵��

+ 1 - 0
charsets/standard/Italian/it_ISO-8859-15.hcchr

@@ -0,0 +1 @@
+、タネノフヘホメモルレ琲鴈濵��

+ 1 - 0
charsets/standard/Italian/it_cp1252.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Lithuanian/lt_ISO-8859-13.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Lithuanian/lt_ISO-8859-4.hcchr

@@ -0,0 +1 @@
+�©®±¹¾������חטךלש‏

+ 1 - 0
charsets/standard/Lithuanian/lt_cp1257.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Polish/pl_ISO-8859-2.hcchr

@@ -0,0 +1 @@
+。」ヲャッアウカシソニハムモ跛�

+ 1 - 0
charsets/standard/Polish/pl_cp1250.hcchr

@@ -0,0 +1 @@
+件悄」・ッウケソニハムモ跛�

+ 1 - 0
charsets/standard/Portuguese/pt_ISO-8859-1.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Portuguese/pt_ISO-8859-15.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Portuguese/pt_cp1252.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Russian/ru_ISO-8859-5.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Russian/ru_KOI8-R.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Russian/ru_cp1251.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Slovak/sk_ISO-8859-2.hcchr

@@ -0,0 +1 @@
+ォ�倒痪懒呐壬拖矣在萼徜彖轫矧篝�

+ 1 - 0
charsets/standard/Slovak/sk_cp1250.hcchr

@@ -0,0 +1 @@
+€妽帤潪季懒呐壬拖矣在萼徜彖轫矧篝�

+ 1 - 0
charsets/standard/Spanish/es_ISO-8859-1.hcchr

@@ -0,0 +1 @@
+。ソタチヌネノヘマムメモレワ珮鉅鳫��浯

+ 1 - 0
charsets/standard/Spanish/es_ISO-8859-15.hcchr

@@ -0,0 +1 @@
+

+ 1 - 0
charsets/standard/Spanish/es_cp1252.hcchr

@@ -0,0 +1 @@
+

+ 240 - 0
docs/BUILD.md

@@ -0,0 +1,240 @@
+Hashcat build documentation
+=
+# Revision:
+* 1.0
+
+# Authors:
+* Gabriele Gristina <<matrix@hashcat.net>>
+
+# Dependencies
+
+To compile **Hashcat** you need cross compile the **gmp** library for Linux (32/64 bit), Windows (32/64 bit) and OSX (64 bit).
+Use the following script (check for an updated version in **docs/deps.sh**):
+
+    #!/bin/bash
+    # Author: Gabriele Gristina <matrix@hashcat.net>
+    # Revision: 1.0
+    
+    ## global vars
+    DEPS="git lzip gcc-multilib make m4 mingw-w64"
+    #GMP_VER="gmp-6.0.0a"
+    GMP_VER="gmp-6.1.0"
+    
+    if [ $(id -u) -ne 0 ]; then
+	    echo "! Must be root"
+	    exit 1
+    fi
+
+    ## make a fresh "hashcat-deps" directories
+    rm -rf /opt/hashcat-deps/tmp/gmp* /opt/hashcat-deps/gmp/{linux32,linux64,win32,win64,osx64} && \
+    mkdir -p /opt/hashcat-deps/gmp/{linux32,linux64,win32,win64,osx64} /opt/hashcat-deps/tmp && \
+    cd /opt/hashcat-deps/tmp
+    
+    if [ $? -ne 0 ]; then
+    	echo "! Cannot create hashcat-deps directories."
+    	exit 1
+    fi
+    
+    ## install osx cross stuff
+    if [ ! -d "apple-pkgs" ]; then
+    	mkdir -p apple-pkgs
+    fi
+    cd apple-pkgs
+    
+    if [ ! -f "libssl0.9.8_0.9.8o-4squeeze14_amd64.deb" ]; then
+    	wget -c http://http.us.debian.org/debian/pool/main/o/openssl/libssl0.9.8_0.9.8o-4squeeze14_amd64.deb
+    	if [ $? -ne 0 ]; then
+    		echo "! failed to download libssl0.9.8 debian package"
+    		exit 1
+    	fi
+    fi
+    
+    dpkg -i libssl0.9.8_0.9.8o-4squeeze14_amd64.deb
+    if [ $? -ne 0 ]; then
+    	echo "! failed to install libssl0.9.8"
+    	exit 1
+    fi
+    
+    if [ ! -f "apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb" ]; then
+    	wget -c https://launchpad.net/~flosoft/+archive/ubuntu/cross-apple/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb
+    	if [ $? -ne 0 ]; then
+    		echo "! failed to download apple-uni-sdk-10.5 debian package"
+    		exit 1
+    	fi
+    fi
+    
+    dpkg -i apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb
+    if [ $? -ne 0 ]; then
+    	echo "! failed to install apple-uni-sdk-10.5"
+    	exit 1
+    fi
+    
+    if [ ! -f "apple-uni-sdk-10.6_20110407-0.flosoft1_amd64.deb" ]; then
+    	wget -c https://launchpad.net/~flosoft/+archive/ubuntu/cross-apple/+files/apple-uni-sdk-10.6_20110407-0.flosoft1_amd64.deb
+    	if [ $? -ne 0 ]; then
+    		echo "! failed to download apple-uni-sdk-10.6 debian package"
+    		exit 1
+    	fi
+    fi
+    
+    dpkg -i apple-uni-sdk-10.6_20110407-0.flosoft1_amd64.deb
+    if [ $? -ne 0 ]; then
+    	echo "! failed to install apple-uni-sdk-10.6"
+    	exit 1
+    fi
+    
+    if [ ! -f "apple-x86-odcctools_758.159-0flosoft11_amd64.deb" ]; then
+    	wget -c https://launchpad.net/~flosoft/+archive/ubuntu/cross-apple/+files/apple-x86-odcctools_758.159-0flosoft11_amd64.deb
+    	if [ $? -ne 0 ]; then
+    		echo "! failed to download apple-x86-odcctools debian package"
+    		exit 1
+    	fi
+    fi
+    
+    dpkg -i apple-x86-odcctools_758.159-0flosoft11_amd64.deb
+    if [ $? -ne 0 ]; then
+    	echo "! failed to install apple-x86-odcctools"
+    	exit 1
+    fi
+    
+    if [ ! -f "apple-x86-gcc_4.2.1~5646.1flosoft2_amd64.deb" ]; then
+    	wget -c https://launchpad.net/~flosoft/+archive/ubuntu/cross-apple/+files/apple-x86-gcc_4.2.1~5646.1flosoft2_amd64.deb
+    	if [ $? -ne 0 ]; then
+    		echo "! failed to download apple-x86-gcc debian package"
+    		exit 1
+    	fi
+    fi
+    
+    dpkg -i apple-x86-gcc_4.2.1~5646.1flosoft2_amd64.deb
+    if [ $? -ne 0 ]; then
+    	echo "! failed to install apple-x86-gcc"
+    	exit 1
+    fi
+    
+    cd ..
+    
+    ## installing needed packages
+    for pkg in ${DEPS}; do
+    	apt-get -y install ${pkg}
+    	if [ $? -ne 0 ]; then
+    	    echo "! failed to install ${pkg}"
+    	    exit 1
+    	fi
+    done
+    
+    ## download gmp source code
+    wget -c https://gmplib.org/download/gmp/${GMP_VER}.tar.lz
+    if [ $? -ne 0 ]; then
+    	echo "! failed to download GMP source code"
+    	exit 1
+    fi
+    
+    tar xf ${GMP_VER}.tar.lz
+    if [ $? -ne 0 ]; then
+    	echo "! failed to extract GMP source code"
+    	exit 1
+    fi
+    
+    newDir=$(tar tvf ${GMP_VER}.tar.lz | head -n1 | awk '{print $6}' | sed -e 's/\///g')
+    if [ "${newDir}" != "${GMP_VER}" ]; then
+    	mv ${newDir} ${GMP_VER}
+    fi
+    
+    ## build gmp lib for linux32
+    cp -af ${GMP_VER} ${GMP_VER}-linux32
+    cd ${GMP_VER}-linux32 && \
+    ./configure --host=i386-pc-linux-gnu --prefix=/opt/hashcat-deps/gmp/linux32 --disable-shared && \
+    sudo make install && \
+    cd .. && \
+    rm -rf ${GMP_VER}-linux32
+    
+    if [ $? -ne 0 ]; then
+    	echo "! failed to build linux32 gmp lib."
+    	exit 1
+    fi
+    
+    ## build gmp lib for linux64
+    cp -af ${GMP_VER} ${GMP_VER}-linux64
+    cd ${GMP_VER}-linux64 && \
+    ./configure --host=x86_64-pc-linux-gnu --prefix=/opt/hashcat-deps/gmp/linux64 --disable-shared && \
+    sudo make install && \
+    cd .. && \
+    rm -rf ${GMP_VER}-linux64
+    
+    if [ $? -ne 0 ]; then
+    	echo "! failed to build linux64 gmp lib."
+    	exit 1
+    fi
+    
+    ## build gmp lib for win32
+    cp -af ${GMP_VER} ${GMP_VER}-win32
+    cd ${GMP_VER}-win32 && \
+    ./configure --host=i686-w64-mingw32 --prefix=/opt/hashcat-deps/gmp/win32 --disable-shared && \
+    sudo make install && \
+    cd .. && \
+    rm -rf ${GMP_VER}-win32
+    
+    if [ $? -ne 0 ]; then
+    	echo "! failed to build win32 gmp lib."
+    	exit 1
+    fi
+    
+    ## build gmp lib for win64
+    cp -af ${GMP_VER} ${GMP_VER}-win64
+    cd ${GMP_VER}-win64 && \
+    ./configure --host=x86_64-w64-mingw32 --prefix=/opt/hashcat-deps/gmp/win64 --disable-shared && \
+    sudo make install && \
+    cd .. && \
+    rm -rf ${GMP_VER}-win64
+    
+    if [ $? -ne 0 ]; then
+    	echo "! failed to build win64 gmp lib."
+    	exit 1
+    fi
+    
+    ## build gmp lib for osx64
+    cp -af ${GMP_VER} ${GMP_VER}-osx64
+    cd ${GMP_VER}-osx64 && \
+    sed -i 's/\(i686.*\)$/\1\n\tabilist=64/' configure && \
+    ABI=64 ./configure --host=i686-apple-darwin10 --prefix=/opt/hashcat-deps/gmp/osx64 --disable-shared --disable-assembly && \
+    sudo make install && \
+    cd .. && \
+    rm -rf ${GMP_VER}-osx64
+    
+    if [ $? -ne 0 ]; then
+    	echo "! failed to build osx64 gmp lib."
+    	exit 1
+    fi
+    
+    echo "> GMP library build success."
+
+# Building Hashcat
+First get a copy of **Hashcat** repository
+
+```sh
+$ git clone https://github.com/hashcat/hashcat.git
+```
+
+Now simply jump in and type "make"
+
+```sh
+$ cd hashcat
+$ make
+```
+
+Useful tricks:
+- build only *Linux* binaries
+```sh
+$ make linux
+```
+- build only *Windows* binaries
+```sh
+$ make windows
+```
+- build only *OSX binary*
+```sh
+$ make osx
+```
+
+=
+Enjoy your fresh **Hashcat** binaries ;)

Файловите разлики са ограничени, защото са твърде много
+ 1519 - 0
docs/changes.txt


+ 2 - 0
docs/contact.txt

@@ -0,0 +1,2 @@
+http: http://hashcat.net
+irc: freenode #hashcat

+ 16 - 0
docs/credits.txt

@@ -0,0 +1,16 @@
+Hashcat
+
+Author: atom
+Contributions from: philsmd, m4tr1x, Xanadrel, radix
+
+* The Countdown QuickPerm Algorithm (used in Permutation Attack)
+
+Author: Phillip Paul Fuchs
+
+* Rule rules/InsidePro-*.rule
+
+Author: InsidePro Software
+
+* Hashcat user manuals
+
+Author: d3ad0ne, radix

+ 22 - 0
docs/license.txt

@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Jens Steube
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+

+ 58 - 0
docs/rules.txt

@@ -0,0 +1,58 @@
+#define RULE_OP_MANGLE_NOOP             ':' // does nothing
+#define RULE_OP_MANGLE_LREST            'l' // lower case all chars
+#define RULE_OP_MANGLE_UREST            'u' // upper case all chars
+#define RULE_OP_MANGLE_LREST_UFIRST     'c' // lower case all chars, upper case 1st
+#define RULE_OP_MANGLE_UREST_LFIRST     'C' // upper case all chars, lower case 1st
+#define RULE_OP_MANGLE_TREST            't' // switch the case of each char
+#define RULE_OP_MANGLE_TOGGLE_AT        'T' // switch the case of each char on pos N
+#define RULE_OP_MANGLE_REVERSE          'r' // reverse word
+#define RULE_OP_MANGLE_DUPEWORD         'd' // append word to itself
+#define RULE_OP_MANGLE_DUPEWORD_TIMES   'p' // append word to itself N times
+#define RULE_OP_MANGLE_REFLECT          'f' // reflect word (append reversed word)
+#define RULE_OP_MANGLE_ROTATE_LEFT      '{' // rotate the word left.  ex: hello -> elloh
+#define RULE_OP_MANGLE_ROTATE_RIGHT     '}' // rotate the word right. ex: hello -> ohell
+#define RULE_OP_MANGLE_APPEND           '$' // append char X
+#define RULE_OP_MANGLE_PREPEND          '^' // prepend char X
+#define RULE_OP_MANGLE_DELETE_FIRST     '[' // delete first char of word
+#define RULE_OP_MANGLE_DELETE_LAST      ']' // delete last char of word
+#define RULE_OP_MANGLE_DELETE_AT        'D' // delete char of word at pos N
+#define RULE_OP_MANGLE_EXTRACT          'x' // extract X chars of word at pos N
+#define RULE_OP_MANGLE_OMIT             'O' // omit X chars of word at pos N
+#define RULE_OP_MANGLE_INSERT           'i' // insert char X at pos N
+#define RULE_OP_MANGLE_OVERSTRIKE       'o' // overwrite with char X at pos N
+#define RULE_OP_MANGLE_TRUNCATE_AT      '\''// cut the word at pos N
+#define RULE_OP_MANGLE_REPLACE          's' // replace all chars X with char Y
+#define RULE_OP_MANGLE_PURGECHAR        '@' // purge all instances of char X
+#define RULE_OP_MANGLE_DUPECHAR_FIRST   'z' // prepend first char of word to itself. ex: hello -> hhello
+#define RULE_OP_MANGLE_DUPECHAR_LAST    'Z' // append last char of word to itself.   ex: hello -> helloo
+#define RULE_OP_MANGLE_DUPECHAR_ALL     'q' // duplicate all chars. ex: hello -> hheelllloo
+#define RULE_OP_MANGLE_EXTRACT_MEMORY   'X' // insert substring delimited by N and M into current word at position I
+#define RULE_OP_MANGLE_APPEND_MEMORY    '4' // insert the word saved by 'M' at the end of current word
+#define RULE_OP_MANGLE_PREPEND_MEMORY   '6' // insert the word saved by 'M' at the beginning of current word
+
+#define RULE_OP_MEMORIZE_WORD           'M' // memorize current word
+
+#define RULE_OP_REJECT_LESS             '<' // reject plains of length greater than N
+#define RULE_OP_REJECT_GREATER          '>' // reject plains of length less than N
+#define RULE_OP_REJECT_CONTAIN          '!' // reject plains that contain char X
+#define RULE_OP_REJECT_NOT_CONTAIN      '/' // reject plains that do not contain char X
+#define RULE_OP_REJECT_EQUAL_FIRST      '(' // reject plains that do not contain char X at first position
+#define RULE_OP_REJECT_EQUAL_LAST       ')' // reject plains that do not contain char X at last position
+#define RULE_OP_REJECT_EQUAL_AT         '=' // reject plains that do not contain char X at position N
+#define RULE_OP_REJECT_CONTAINS         '%' // reject plains that contain char X less than N times
+#define RULE_OP_REJECT_MEMORY           'Q' // reject plains that match the plain saved (see M), i.e. if unchanged
+
+/* hashcat only */
+
+#define RULE_OP_MANGLE_SWITCH_FIRST     'k' // switches the first 2 chars. ex: hello -> ehllo
+#define RULE_OP_MANGLE_SWITCH_LAST      'K' // switches the last 2 chars.  ex: hello -> helol
+#define RULE_OP_MANGLE_SWITCH_AT        '*' // switches the first 2 chars after pos N. ex: hello -> hlelo
+#define RULE_OP_MANGLE_CHR_SHIFTL       'L' // bitwise shift left char at pos N.  ex: hello0 -> hello`
+#define RULE_OP_MANGLE_CHR_SHIFTR       'R' // bitwise shift right char at pos N. ex: hello` -> hello0
+#define RULE_OP_MANGLE_CHR_INCR         '+' // bytewise increase at pos N. ex: hello0 -> hello1
+#define RULE_OP_MANGLE_CHR_DECR         '-' // bytewise decreate at pos N. ex: hello1 -> hello0
+#define RULE_OP_MANGLE_REPLACE_NP1      '.' // replaces character @ n with value at @ n plus 1
+#define RULE_OP_MANGLE_REPLACE_NM1      ',' // replaces character @ n with value at @ n minus 1
+#define RULE_OP_MANGLE_DUPEBLOCK_FIRST  'y' // duplicates first n characters
+#define RULE_OP_MANGLE_DUPEBLOCK_LAST   'Y' // duplicates last n characters
+#define RULE_OP_MANGLE_TITLE            'E' // lowercase everything then upper case the first letter and every letter after a space

+ 3 - 0
docs/user_manuals.txt

@@ -0,0 +1,3 @@
+The user manuals are constantly updated. Thats why they are not part of the distribtion.
+
+Visit the hashcat forum http://hashcat.net/forum/ or the hashcat wiki http://hashcat.net/wiki/ for most up-to-date informations.

+ 102 - 0
examples/A0.M0.hash

@@ -0,0 +1,102 @@
+b19cdd8f0b55cb888c97ec77ab1ad402
+73ff3971460e3d4490049086207e4a1e
+7718d0884dcdd356c77de6ff4c0ad58e
+15a221074f90b33273146792af9a843b
+c2e1149440e5340a2a695249247fd435
+c09b3ca79ea005f7742ade4ac7a9d5c7
+ac8d9b015966753efc68563f4028706b
+336d5ebc5436534e61d16e63ddfca327
+168382d511970885b21d9f65a88cde34
+add0155c67f5c30b92369d36a6f0cc72
+f186217753c37b9b9f958d906208506e
+04841ffd6f854bd06947c8dcfcdb7589
+e33631b1348f878ef520085ac1da73d7
+a3749527010794b356b844e88cbc4b99
+78f61d7fafb50ab93345ded65c0dbbc8
+dfc9ed604bce8d02fe31d230e762320a
+668eb06eddcf2ed9100156c085e930d4
+283f5c47b4bb5b66e74b926c0d1e26a2
+f88a619eddbfae9dbe498a762d359b62
+409df46291b5e602123cd6957615b4c3
+4381fcb364f3f744cae76c0c28fd640e
+b117432ceaf165f23834c674a65603db
+1550b639bc9a6c456f1fe856992a4276
+a794cbf461c1aa1a2b13001e7ff400ea
+62302f17d1566b2fafa630b1c6d6c70b
+6aea70bd1ed869953cee55f39b103666
+a3bd889c3189cfd1435ec38920eb2b68
+7b9a47a0714a5260f730959b590cb930
+ed69416d83eebf6884ce6e92b467b620
+b483c7346ac9fabdb9d40c593df2a14a
+8f02e6f714eaaee7d96f6d16525d237c
+09ae3f58a6f25b12898a4ad933344ba9
+b90daad90010ec7bcb239a0ac8d5909e
+074bbfc88bb2cbdf793f252b556dc371
+65b6907db2010d0dbba32949672ade9b
+a187f54a3d77d8e7536c4551ce3f9736
+3c8525fc6fcff0dd5720d51efb1f177b
+e5ad218be72f77274a3ba814d32e33bc
+fea2442c8fca322a6a09c72adf579cbc
+c9ae48033df582a023066e0f9354ff40
+c120503b98c8f34edda4921e015a0cd1
+7c0eecebff0ad06fd89e25210e70a175
+5733cc0594f5a021065e7df55019a799
+9ea4f0049593b5fcdf3766742c5eb837
+c64125ba39d3b7a9cd88b27e1649ffa9
+54b292cf928775b83c16b77a150a3c1c
+dc370ed85a874916fcf3a1b9345569a8
+9f7352a74f5260caa85d4fbc048d27f9
+a5f3c6a11b03839d46af9fb43c97c188
+b0422c45899f1c9f133e3ec18bb39ff6
+26de1e6f7fd926c0a1fb9876ba4b95ee
+43bfa82067cf23340aeaad883c71d5c1
+c21308f3c5b637eb27924ef97ee4e256
+acb838e2f85962c378ad32f323f07aff
+b4efdf3a5f9d3978b3172833a197226d
+819dcec0c47b4dde9d27a686ae5d2a33
+3c9547cb69b13cb32d64eff23a622c3e
+cffc4c9561f6125460048112ec34ff04
+17402b43111bd26ff39eab68730ac678
+83878c91171338902e0fe0fb97a8c47a
+f9d68a3ef957245f752783b73959c2db
+06d714a833cbffc22f0fd686699e4b3a
+bc82d57d2a481df9a479346159beef8e
+6d15416d179f0444989e5a6d8193c5ad
+8f0f1cd4790cf5ab7ba473a1e968201f
+d3e6c8412ab76c9d24276d762a3af5fd
+d32ce18738d408462d4676bd15fc4c10
+3e9b552241058188391217caa59898ae
+0d3ffe5be577c7f20e16f84774b74851
+a0e1ce47ea7e3fcf415cc0af3c11fdf5
+ee66a2e6662a74cff2a5ba9a2055d994
+651e96f9b94e1a3a117eade5e226bd1e
+465133fae5a994afb03c7158260b2e8d
+69569b09854879714f024b328dfbf855
+e57725cb60bb641d5160af838f85b59d
+a5585a8a28488ceafc06e8022779b8bc
+4ab3a9e1c41231114c9d68ea9fc2c7cc
+a55fd320997b2fcfec48edcfbbebfd06
+0fb840d31afc62afd24b46b12e5de175
+aa0b039e18dabfd86805449540ff71d1
+c8b5a5c7de28b9033f2e9e892e319a59
+924d39ab5abba21ac8d0b0c395ad22d0
+c562607189d77eb9dfb707464c1e7b0b
+88e00bb3096cf71d04a880f636f7e199
+58592fe1604f7aeaf127157a99e137bf
+3a78e5c478cd929e4cabc9e8019ac89c
+8cff2b58e38df442e3363a31b3aadd11
+d1457b72c3fb323a2671125aef3eab5d
+def3dcaab538f1dc42f5f3ec3faf8fc3
+fca7cb89437fab5d7641931693e60202
+9e9881e38fe259ddb0c33a07f9939471
+13ad68f3d80437113ed4426495bb0e2e
+3e5dbd5ae3ce51eebd336b54010df7e8
+01460379a5b369cda04198a4d349fd36
+2a385374677f86bd8969fb5d00a93f6b
+56f875bd495305db42be8457477a8831
+d4ab9f13c3b66720211ef40deb3d3df9
+89a1e72161fbede4a9d79c08955a30e2
+26d9cb67c8dad29e54c7961137f8077a
+1977fb03158fbd925d6c232cffc1cea2
+7475e3dd52afb6a8b2e00f3482111008
+b6ddc0a05b31b438888a9886f5da373a

+ 102 - 0
examples/A0.M0.word

@@ -0,0 +1,102 @@
+rQ-Vv2&kog_p+CMyI;/VFDD.|MQe0/eV6bi9i^"yWP('iT
+$<-+1Jz?dPL)[;)mg<so'R 5Ri0':.m^Rfv?,x[G
+>RHc
+19s*[J?rKQ6P}
+2.J=982!qStuXOD{*zj}ozg$)
+G5oZQFPcy)
+G^ExIbyKScFv G9$}CMP
+-
+L|4BuCOMaZj&7nTGO|=OY7SJHW0;(:I!h6>
+rrF@Vcr]BBlMgm|n`/fwt
+O
+CR[9[Jks>^w/}A;>jsH<
+%O$.#IrVwhp[j@8q2S$,S0{%8+Z,(|> 
+= Be|7O0UZtW`nKNXD?(F|$(w*0J+lv)>LYGEW0>+f&T8>g:
+'9;E4TE$G',5xN4D`(d?$FVQX=-Rz2guHK{+U<%
+"20]%:^}DZ"l24M;(Qz$W!0=0ECW{%n[I4W}YadPtj ).zo
+B/5wENJ#n}V|'2EH1si#/,\bOgKDGCW
+`$mCy0HCq$%yuDOO/{qi/GFoyQC[}(jwrZN?.\n}$
+$0%u[dhu?#ey`x<x(
+:lYHk'V,Z0
+GJX-'y)cZD\X-0/Jjh {Q71G<O%|It%)SgMUtOEH@
+0r7Xbm|!)|wE3o%=-Z!-nCN4#jkyUP5R7vh4nNdFD
+)v<$-^t*tY}OGi-jG)U\Fvh3Ag^Ihd+0aa&hgxkzB^it\|u
+CZF@x?Jq PU1wp:w%RUkJn[{;OI_m'VQ
+qnNu0##eXECwoy.Y2
+(xvm.=ML,IgUkmc q2
+q)Hgwwe&(zO]s;i`1pC.F644&^{un..}}62D'E.
+&X 1)$>f^G+mVKxi]{YKL/ttVrq1?|":S!(\qTD
+K!VvC\8tR@EPGIY3xM'w|j_U,BdVf!>?
+#inS2hbk`
+9e%@oo7MxX_sSI%MY{7e93^aWz:,q
+B3Hvov$C'OY8>.epecR
+:\6I}wvHDP+[^
+[ri@o.P7^{}RQdl)e|'7j :v;xm||EvsIVk2A) zQ|Ea{8
+m@V.+=/qr5 c=6|![?in]GMyZ>1@TQkq"aaO1g^+'ZFl`VUK@2
+1N*Z;(#EI13|awQi8lOx"
+G%k
+xAoRq},[MieH=qW;j"$6Iiazejz%)9Qq*5uZ3}"a6hV
+FLVqF#X53i'?x#yPe%Z,y`}S-pB.`d1(i7BS(P#$
+#aU{T.Ygz'-
++&x7 UJTX{2l\T)k_xlhnnL4=vx8r7O>=-2Do\d(i2}5!TRH04l
+jt;>lt=)BfXOJ= mHPO&P(sUqrM6SJSa!M!"ItY
+{m[21(yB4By$Dy2CI-'2"mte
+_aPDci3'WX^:NJ%LP3O\I!Rr7-t.y(a#
+qy?`pqb
+bj?<lloB.>Qt@3m4|@c9oj(GoPa:00p;a9'-\`Nu?#M
+ava3<3NB8(@G@Sl>Y;r>PV]c:%C8;NIyo@.6n$=is,=\g;PDyh:8
+%XrcF6h%<kp3.I$'}yvXFBXo^\a=yZ,jljlH%V,)W_v8XwZlD?8W$
+K
+c&8k;kyO
+ )jJE,<_eeX0AzUsPb2;(D["ZM!#LDq8Ms>NyAR|
+6$tFL|N%Cp<A<>lD%
+jrQ(A/tR?8O3l0tHo!O-%-@kXtBy$(9aPavR.vY]7YgENMzF7v^
+h%z'wwlT0k[TDK\;t=5u{j[z?Jupdy2"%K#*iT
+Bv[yv*sd0JTo^)E{7o.sN3W)6L|[\3
+%E_oWS"gV\.qB0{kKjv-Iu|=J*"]f@MY0Dy{B`^kc+<%`
+[6+U5()pD/9pM
+XYs)}NG9OR9(V4mST32NL;P8D#Z!g}*^e-
+pl9(54RUGZ?hQg;Fi[25,[$<4
+p
+,n`eP,LxFL&T3J:paxxR1
+vs\/u|
+'>+S:T[1\*k>4uX@:2o}hNI9FtzeF\PST*`^GB6CK9\at+Q`G
+&yg0#<RiAR:OF@M@K5^IU\
+8+`I
+y?'c^+?'rZ1DJbO<vim`L*/MYibPQRKmb]3Y!!eZ
+Zd`kQ5>7{
+b<<G}}d
+l|3!AL,`px2} ro0D9/U<C<yo
++Ho&!b
+*BKLHjHz%mk)Ah]
+y[N"%e?U{<k[`x<TlG U6Z 
+kCQArZz)It
+)NH&1=G>3:7,!\x8dxM*6gp}*pyf7t
+y/%,%o^%V}_XJ{;|R";&Jb]*P|y1XoRiXAigC*LB
+K0KIqUx++p=[ Ne\Xhzhfn1E9rjQl?DxAOse^Q=6kbkB'Oy-ESJ|x,
+F%{qBL.b9-qZ%#1l.iihek7.huBGbj'_
++M1/wp{m/x/ir:Wm@n|htEJ4
+EBRtB}NuW-FWu[P${,iS\g`G24zaipl.\9*r?FP=GadrLU=ojR
+GZx
+Krb=
+-HP cS$lsk$)l!Q@?$h:
+LT
++/_W_)0}}(QZ,
+QY5H9$9rgsJFLw'Z,`aoniXDT.>J
+!Z+i!zNm+S=Ha?/'E
+0@s8'U-4EI9J1/\z2<R
+?
+2C|3;|p
+B?\G"ouY=F8CRP
+0|mrv qzB lti=a6-pt|@ov(8{y@-Y
+AqR._X+]()Uje@@D=j
+<clDsc
+?Z:c
+g0$mUY-UTQKf8YhSqZ,hZ:IX%BF|"E;'MsHt4'V($0x
+NBy;OFpqiGn(f)xL|4Wd=NObkf
+4M2qx&BqY}&qmxjsl{ uCcH0SkE+
+v* uP|D
+snc`CF[?bVyy4V8)Kw6dWj?b[4Zml
+4d!Wr#68*L
+K6TfXc(w5.XmRy/BzuV[MjbMI
+u.q\EVA*Z(|\s7!^cJ5A]|T{Tf[;zoq5;;X8HxaUfz!nQe,jr

+ 101 - 0
examples/A0.M10.hash

@@ -0,0 +1,101 @@
+cff4953af339e096c2261e037fdcbb3e:HEc6Lv+kmZE({d>`>9](>
+ee852957dc817fbc0d8edbfd1f387ecc:aj9mO.Yd @bS uH6yMkG1{uJUgnzvt&`w_gUu8
+915f234e7cbeab801c48e079dadd4a27:JA1KTDm7FQ01ho(6w>!XVc*V`XLEkF=Ekb0%-jL4t
+682faed613878dfc1265ac0e6537c3ed:amZrNFqru5vu^Jj%9>Z/;3qoW&<6@#tUo:M{'6d8f+U\4
+0af7cf154e88f93b00b1801981098d84:x5RQxE,X\MltA;,\OEG03
+a3c12765d2f4f58f6660f44771a098fe:c6|"*c15Z0yuRnr>Ki;U'@s2Up*,PDV^1T$S
+3aaaf408b47444a363f0398bef86335f:xS[R-)Q}`9XQ{x(Y\}{hdVM2"[#ZO]q0uBdx1c]#,:sk_\` h+a
+a4de065a0aef349acf748709404301b4:=5+90SCoXe6cyC&{.s7n:G'U/;]DYnT,2-uk@Gl@qUlD{vut'gBL 
+23e05372bb2307a77d919d582e7a996d:XMyv*HuM$B%^Z/,ab@j)-LNK_T(0E97JjgE!R]Vd0xV{sG9 +RMJ
+fac2a50933152b3990e81a1cebe75501:bW&ghk,sv=
+3548fef8d998bc2607ea635a74f9e07b:ZjUg9V|pA6[ZGeDN]{22GC+`mS nu7h3ADKPi;d]b 4$Lx-R
+e722991f068a303f2905d4bf5d57db68:$%O}SYoIyd0Fa}V\%R:U,`vR;bC$T2zbO{OxOV\2Xd[{R2t#Er
+62ca744e17fd4e725ba28e5846599040:[qjW%V0+^EJ[Kh"crA!%0R\z:=0x{67<6]N
+ee1305e6c383d1053c40911c1fbcd4e0:1-/^}K%Rb/&%
+440b6f97f2fa71c9de2244f37643fd8e:]nskqV+Ce}
+76555ac78cb0f95a2712e0d04a56d565:cC%F`"D$P[Mhn#^|;zN 
+2817b37a690d95cd26bfd92b392facfa:01PqPM?-ijP2<Yp[Ue\
+0d77a65b5de653352e366b3d7e423b9f:|iU%6z%1tiqr5f?]$"*%PC^FCp7>!"Qdl=dV%X`F
+6d349930496b66ca712feffc862c1255:Z5Y%:%bb#e1UUG
+e13797f46cfa4ddf85ccae3a36aa8674:XJ[VH&pFq2=viy(nD:
+17e325c4275e605bd32eb23b4d7904f9:{XOu7N5,jA.|caQjqUU4e(#o8`P(`vGIq9VKlt29 f54
+6980d713abdb4e5313db930abb713707:kW&%mht|]mgK_
+a2cc4f6f5e12eb083ffa8e3346e9c15d:tRkZ1 >ut8VQ
+2a90237bdd343ddcebf2ae8dbd9c6cf0:$A5>tL-cV"@U,/xLLh_;@dgqd4Iw
+fa39d9e1693473d06b283f97ed0f6259:R8_?\09;*f)"S`)PoN-R,3h)unlrQA]Kxd^[pxB8JW^BgP_ng,9
+432d94f4ec1d960d995abcf317775068:Q7Hm.HB
+664a016724a61ec95ef1b7c521aff540:M%^&8-G
+2d9b2c90b82db2482d0bf5eff3964e09:uoSKyL4!:aH`QYZUfP9v%}?kRF3V\3OQ"o0*C?
+76f230432dab1f52bc6932866ae23ad2:)zv
+9039cd0d3173db5821054308cdab7e2e:.yvqu.GOjVS-.Y]'P}(%GQ31%od?!W.xFTBT'k{<5(p
+3f737ed04f70103e8dc960fee3c7a777:xL^xfZ<(YE8GtSZl|J7DI3O
+1397a584914a44280b51e69f3d08a61c:?9m`G+b'd.q
+4692cd83432a6c9a75f44e28d4344ced:YBaw=cM`X#'v7;cyl^FN` nuO%u.H/|l(\d`nU%G8rq
+67898264029503c3b0d16c3ddcd75aca:%v=m2[3
+fc2db93b4d6152d6a289ef50b70ffcf5:V-974)Nw="$l.m^zo[|MQD3w9`-{:;U}m
+257a9ffebb77156fb8c89b4e514ed869:xvEEA9E#ZNRy:UPwJ3{
+0e70764aa62c8b6d8b5ca430820c2390:j
+fc724d1d02afbcd8090cf62b27e94885:xEA5'Mh\KXF+V&OT^P*"G3`2#LOr|4FzG)jj
+5d95fe23ed49d930c287d7fac52c1a16:4z{Cufept"_Wxc+f1ej%-YGO"Z)^ItiXC'epm9n0OQ,0s29^lM
+f5013675ef6482db155d93680ce88629:%ULJ&:--lY'F]&[ysSs7hi;Eiv{W8vIK;89Z]`MI;
+fea1455ac138ec5c475b8bd38b2cf656:Cjz]B(&0*bmmi|e]kT^>!=yA0ZK\r_A]?C#>}fy-*kg+ZP)d
+a913a273bde0bd9d8bac4a7ae40876bc:ayCvh.5Y8nI3$Kq>h(2:2-%@:gzO'H{BN^!<EX*AK7"**IE
+8c1851a5fd6544ed53196c954ca08a41:K3Nn+a#@NR8
+bd6df58949888d5172c483f88fa2b079:IIE<]earK-%Ud.]e6
+71024f50cd286658dd888b5a9bc8e73d:^sD>cH`^GUaG:9A<%$#6G.q]Q)M#69\Q\
+c0d70ee591d50561c7fe49bfe29948f3:ub`k9E`#o6!_||9p[@_y
+3c5d7d180c3cc93c83a787a2a1622d0a:g(;
+fccaf1885e57e9152cd4a8c859de09d4:(a6!-;0WENklg_8>eV}DPRUZdVi
+507e0161c70f2d21873feee6580581f3:&\MS)
+fa66b59941dc5666f775c2aaf425cf50:Q +}k:/m-8[cHnop)hz4[(Xzq`0t0E6@*T.z
+7b79d5ff885f9d769f0d3838c06e9ec8:W0."w
+8c9445ca7177ed3391903ea6db1e38cb:XZx_> {]a
+fe5e50632f436dac364e612bb221e109:OpTIx.d_N
+5cdb22ca3adb6f057cead721b414b702:"x9(
+1916faf75c66747e408e4dc897590821:{_Lw+\ts5'89fFv3T
+1160be0c047371f435d8cbd28ed3167a:r7\v.j;$mi}Gb,<=nyMm".?xA2#1*zH y:H'N)B.gNg{#BB@8dx
+547563834bca0ddf5c246d1acaf5fb2d:O!.|JdxG%|$G[3p;N3aW7+n
+c775d35e15005f75286291c3e54ffcbe:t:t$vwJajQ
+54ed929b3007ca709a66bb37e70f8e12:)$A`05Bd[CUX}>r"18T@/3) 2
+74fbbcbe87f3dcf1e137e43f62628b92:bK7!-ZJk"EX@;77
+fbc0e45202a2fccb6a45076f478394dc:JsL8=|H_>^8vp_;JR-f<D6m_
+0444ec95ef057d5103b2ebe7a11716c3::*3zzG-kmPne=w"K)C@)e|z7g4>nS1
+cb50f81112378179ce3ccbc1da6f8323:i88'3cWRav5 *\?:i&Pb/mFG#\TK'6"
+eb9c75c466321109b9b8f9def9cb7dde:y)/y7d+-4C\"]8K]BLE0<ii&p,9|r.KP$:MjQ@j0Q
+1f85c3e7a764a4e08726b0124eb56b7a:!xGMI(o{EtYK&'J&aUi)@)JRZ7
+588fcb5410afd0f6bb7a78dbb93eb59b:y 9.[Q[LCM-pI{6w@<shbUCW6Me* _Q3u-yQr@xzy\|{q/W%
+8522b7c1b528041658590b2ec1a4972e:BP03UM'*lv7$gFMLfd9y|{iy{UfaZ6a3k&@O:dqf_U\d]
+551c0fb7174f8f50b03ecb1045a7f8c2:g
+a276fcf588da064c803e49a7d77916bb:$Dw] 0ppE'gb&Q<VN%(yRBD&&tA sT!Oy>
+aa994d5885425f3bb597b27bff79916e:@`R>!XJDs1u/RIE<Rz >:,o.mM`{]Z!awMW3WK5)7B7(O'!\
+20f93f35a40ed58724ea4a6c06fe752f:r+GEq"[
+2e8dd2b52b02900f8bfa1917fee54449:id?OZgYC\
+5e73dd3053534109388c984558418a9c:M?4PHbUUi15v{GS9YlNf%.hz?&=k"
+e8049186d95a219525810ef2c701549c:U4:z^An[9C:64@u;v5`
+2bb0a5d39a12d505809a3b122bb66f67:^a%e3h Ck`E$BR;b%?"(nA>HL`ypKwjZOr{ Oe
+014425c189b6202d5831bf742fbf20d0:OLs)a2h{,=|y/H;L#JVa++dd*}hQg.Z$3=FjTz^
+4e58ed70f6be9434f1b0cef2eb10b401:Q HFXv%iMQ3BJ6cf:OC?u(<5<,PqS:1damFGYYGp2A?9t!Xy0SPib
+2b4fab1b98e89b7c92534d689e78f1fb:$6%A-gIbQtv48SwA=inW7b+CIXVN?cW51p(H4PNzwc|"
+ab25f2671622130572cf49bb5c50faf0:o]K#+hbRWoIOgG
+67e8410dacf39d76a98e017e5906f1fa:K
+cf54ce04b7ffe4b796c9ec4e71bc7a03:LUW(P9crvCs%A;RsrlYLTnWNl]V$Dx.7kWs>=@T8k/%Py*dN
+7e9c3a3da1b3897f26209b127477794a:%!n|SbVY_M\V.Pvi_c,"QYKAy_w
+7753361a4aedf90d9f151b30f7c9fb67:4z4@c!##3X;0oM[Z#
+5d84d8e2d9a225a0855c36b624948393:uyCl>v($`=N`#e2:7.BN,k%&K?cW?VHL{,8u"Sd
+ab36f610d9dfe520f7a7c7565346a4bd:96gU$K2
+075fab19310e52222a58b8c542221c92:XNPP8N|7Hj:\Ob$9BV5Cv!`p|Bl|uVoqvr$H+{X]=<I%9
+604ad5ed4702ea5d640cd4a63f8e2363:KDQ^)
+21b2f493c4457fea925c647c4da1fa38:w$#tcDQ`SYQKvZn?,)4P$(`WU:3tWJl
+0853e5305e001bf951f01a8410ac6bdf:Mt\b$RQ!$h|1(X%g9:Ghd66AQQ@),F1z@>$VcpZPM;)f'D
+ce49d7d4b035295284bb928c413cd7df:_oKPuYjW{ PpMa$R"o$`'&2#*w6bfa%5[k{yfeu_71=5jo`$j
+85b5af02d95e655e8a7f832abad016ee:7PTgG;t'jjEv#zvijOk<>GK8=_D&Q&9yU+94G I(^#?T"0a
+8ff153109c3e49ca689bf35057309fa9:FBYVfG5mBm&t_KlMxta3]pv
+0f05606720ece94de8babb0860c7b6ab:4Afe`?H?0bL!WM=G@ihX<9dTt1hRi%3I0>E}PhLg(z|cnHTh
+2eb272def608d31b2ce6942d2f505d94: gI}+f2!%UYW#5$;:sNUjMR(mM+;5tMu&*
+f5b345972f858561de41d2946001efa4:6?X/vsU)?
+a4e20846191142691989da2c2cf34e5d:#BOYE89iT
+97d3a0fcb2234694321aebef790e6b83:+`/.7 UVMn\(;
+c0f56ce6cf0fb3329c25143ac25d2c25:bq}q]
+cb96a766f2cf9945862a959e820d44e8:Y'J_VGbELjZjFU<cFq7V(z)fFiw#[Y1ELq[3l+ljh[;Yd|=
+9f99dc534615680e49a0b4652ee425a9:71y6%kyQix.iFw%y2Sv8wv2Y9jo4
+cfeeff4bfbee4ffb68a590c4ccddfb00:(/@d(g,,<hgT9:)5,L]jo+IA(/s(#4?cLWr0v%'"0) N?LzR4:_S

+ 0 - 0
examples/A0.M10.word


Някои файлове не бяха показани, защото твърде много файлове са промени