#!/bin/sh # This is a shell archive echo x hashcat mkdir -p hashcat > /dev/null 2>&1 echo x hashcat/pkg-descr sed 's/^X//' > hashcat/pkg-descr << 'SHAR_END' XHashcat is an advanced CPU-based password recovery utility for FreeBSD, XWindows 7/8/10, Apple OS X, and GNU/Linux, supporting seven unique modes Xof attack for over 100 optimized hashing algorithms. X XWWW: https://hashcat.net/hashcat/ SHAR_END echo x hashcat/files mkdir -p hashcat/files > /dev/null 2>&1 echo x hashcat/Makefile sed 's/^X//' > hashcat/Makefile << 'SHAR_END' X# Created by: Nikolai Lifanov X# $FreeBSD$ X XPORTNAME= hashcat XPORTVERSION= 2.00 XCATEGORIES= security X XMAINTAINER= lifanov@mail.lifanov.com XCOMMENT= Advanced CPU-based password recovery utility X XLICENSE= MIT XLICENSE_FILE= ${WRKSRC}/docs/license.txt X XUSE_GITHUB= yes XGH_ACCOUNT= hashcat X XUSE_GCC= any X XUSES= gmake X XONLY_FOR_ARCHS= amd64 XONLY_FOR_ARCHS_REASON= "uses amd64 ISA extensions" X XALL_TARGET= posix64 posixAVX posixAVX2 posixXOP X Xdo-install: X.for v in 64 AVX AVX2 XOP X ${INSTALL_PROGRAM} ${WRKSRC}/hashcat-cli${v}.bin ${STAGEDIR}${LOCALBASE}/bin X.endfor X (cd ${WRKSRC} && ${COPYTREE_SHARE} "charsets rules tables salts" ${STAGEDIR}${DATADIR}) X (cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) X (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}) X X.include SHAR_END echo x hashcat/distinfo sed 's/^X//' > hashcat/distinfo << 'SHAR_END' XSHA256 (hashcat-hashcat-2.00_GH0.tar.gz) = 6325e6d75a4df3485adec00f74e5887326809c15ed31bfe74a12b62943245444 XSIZE (hashcat-hashcat-2.00_GH0.tar.gz) = 3463012 SHAR_END echo x hashcat/pkg-plist sed 's/^X//' > hashcat/pkg-plist << 'SHAR_END' Xbin/hashcat-cli64.bin Xbin/hashcat-cliAVX.bin Xbin/hashcat-cliAVX2.bin Xbin/hashcat-cliXOP.bin X%%PORTDOCS%%%%DOCSDIR%%/BUILD.md X%%PORTDOCS%%%%DOCSDIR%%/changes.txt X%%PORTDOCS%%%%DOCSDIR%%/contact.txt X%%PORTDOCS%%%%DOCSDIR%%/credits.txt X%%PORTDOCS%%%%DOCSDIR%%/license.txt X%%PORTDOCS%%%%DOCSDIR%%/rules.txt X%%PORTDOCS%%%%DOCSDIR%%/user_manuals.txt X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M0.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M0.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M10.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M10.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M100.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M100.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1000.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1000.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M101.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M101.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1100.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1100.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1400.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1400.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1410.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1410.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1420.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1420.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1600.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1600.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1700.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1700.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1710.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1710.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1720.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1720.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1731.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1731.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1800.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M1800.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M200.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M200.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M300.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M300.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M400.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M400.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M500.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M500.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M800.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M800.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M900.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A0.M900.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A1.M0.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A1.M0.word X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A3.M0.hash X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/A3.M0.word X%%DATADIR%%/charsets/combined/Bulgarian.hcchr X%%DATADIR%%/charsets/combined/Castilian.hcchr X%%DATADIR%%/charsets/combined/Catalan.hcchr X%%DATADIR%%/charsets/combined/English.hcchr X%%DATADIR%%/charsets/combined/French.hcchr X%%DATADIR%%/charsets/combined/German.hcchr X%%DATADIR%%/charsets/combined/Greek.hcchr X%%DATADIR%%/charsets/combined/GreekPolytonic.hcchr X%%DATADIR%%/charsets/combined/Italian.hcchr X%%DATADIR%%/charsets/combined/Lithuanian.hcchr X%%DATADIR%%/charsets/combined/Polish.hcchr X%%DATADIR%%/charsets/combined/Portuguese.hcchr X%%DATADIR%%/charsets/combined/Russian.hcchr X%%DATADIR%%/charsets/combined/Slovak.hcchr X%%DATADIR%%/charsets/combined/Spanish.hcchr X%%DATADIR%%/charsets/special/Castilian/es-ES_ISO-8859-1-special.hcchr X%%DATADIR%%/charsets/special/Castilian/es-ES_ISO-8859-15-special.hcchr X%%DATADIR%%/charsets/special/Castilian/es-ES_cp1252-special.hcchr X%%DATADIR%%/charsets/special/Catalan/ca_ISO-8859-1-special.hcchr X%%DATADIR%%/charsets/special/Catalan/ca_ISO-8859-15-special.hcchr X%%DATADIR%%/charsets/special/Catalan/ca_cp1252-special.hcchr X%%DATADIR%%/charsets/special/French/fr_ISO-8859-1-special.hcchr X%%DATADIR%%/charsets/special/French/fr_ISO-8859-15-special.hcchr X%%DATADIR%%/charsets/special/French/fr_ISO-8859-16-special.hcchr X%%DATADIR%%/charsets/special/French/fr_cp1252-special.hcchr X%%DATADIR%%/charsets/special/German/de_ISO-8859-1-special.hcchr X%%DATADIR%%/charsets/special/German/de_ISO-8859-15-special.hcchr X%%DATADIR%%/charsets/special/German/de_cp1252-special.hcchr X%%DATADIR%%/charsets/special/Greek/el_ISO-8859-7-special.hcchr X%%DATADIR%%/charsets/special/Greek/el_cp1253-special.hcchr X%%DATADIR%%/charsets/special/Italian/it_ISO-8859-1-special.hcchr X%%DATADIR%%/charsets/special/Italian/it_ISO-8859-15-special.hcchr X%%DATADIR%%/charsets/special/Italian/it_cp1252-special.hcchr X%%DATADIR%%/charsets/special/Polish/pl_cp1250-special.hcchr X%%DATADIR%%/charsets/special/Portuguese/pt_ISO-8859-1-special.hcchr X%%DATADIR%%/charsets/special/Portuguese/pt_ISO-8859-15-special.hcchr X%%DATADIR%%/charsets/special/Portuguese/pt_cp1252-special.hcchr X%%DATADIR%%/charsets/special/Russian/ru_ISO-8859-5-special.hcchr X%%DATADIR%%/charsets/special/Russian/ru_cp1251-special.hcchr X%%DATADIR%%/charsets/special/Slovak/sk_ISO-8859-2-special.hcchr X%%DATADIR%%/charsets/special/Slovak/sk_cp1250-special.hcchr X%%DATADIR%%/charsets/special/Spanish/es_ISO-8859-1-special.hcchr X%%DATADIR%%/charsets/special/Spanish/es_ISO-8859-15-special.hcchr X%%DATADIR%%/charsets/special/Spanish/es_cp1252-special.hcchr X%%DATADIR%%/charsets/standard/Bulgarian/bg_ISO-8859-5.hcchr X%%DATADIR%%/charsets/standard/Bulgarian/bg_KOI8-R.hcchr X%%DATADIR%%/charsets/standard/Bulgarian/bg_cp1251.hcchr X%%DATADIR%%/charsets/standard/Castilian/es-ES_ISO-8859-1.hcchr X%%DATADIR%%/charsets/standard/Castilian/es-ES_ISO-8859-15.hcchr X%%DATADIR%%/charsets/standard/Castilian/es-ES_cp1252.hcchr X%%DATADIR%%/charsets/standard/Catalan/ca_ISO-8859-1.hcchr X%%DATADIR%%/charsets/standard/Catalan/ca_ISO-8859-15.hcchr X%%DATADIR%%/charsets/standard/Catalan/ca_cp1252.hcchr X%%DATADIR%%/charsets/standard/English/en_ISO-8859-1.hcchr X%%DATADIR%%/charsets/standard/English/en_ISO-8859-15.hcchr X%%DATADIR%%/charsets/standard/English/en_cp1252.hcchr X%%DATADIR%%/charsets/standard/French/fr_ISO-8859-1.hcchr X%%DATADIR%%/charsets/standard/French/fr_ISO-8859-15.hcchr X%%DATADIR%%/charsets/standard/French/fr_ISO-8859-16.hcchr X%%DATADIR%%/charsets/standard/French/fr_cp1252.hcchr X%%DATADIR%%/charsets/standard/German/de_ISO-8859-1.hcchr X%%DATADIR%%/charsets/standard/German/de_ISO-8859-15.hcchr X%%DATADIR%%/charsets/standard/German/de_cp1252.hcchr X%%DATADIR%%/charsets/standard/Greek/el_ISO-8859-7.hcchr X%%DATADIR%%/charsets/standard/Greek/el_cp1253.hcchr X%%DATADIR%%/charsets/standard/GreekPolytonic/el_polytonic_ISO-8859-7.hcchr X%%DATADIR%%/charsets/standard/GreekPolytonic/el_polytonic_cp1253.hcchr X%%DATADIR%%/charsets/standard/Hungarian/hu_cp1250.hcchr X%%DATADIR%%/charsets/standard/Italian/it_ISO-8859-1.hcchr X%%DATADIR%%/charsets/standard/Italian/it_ISO-8859-15.hcchr X%%DATADIR%%/charsets/standard/Italian/it_cp1252.hcchr X%%DATADIR%%/charsets/standard/Lithuanian/lt_ISO-8859-13.hcchr X%%DATADIR%%/charsets/standard/Lithuanian/lt_ISO-8859-4.hcchr X%%DATADIR%%/charsets/standard/Lithuanian/lt_cp1257.hcchr X%%DATADIR%%/charsets/standard/Polish/pl_ISO-8859-2.hcchr X%%DATADIR%%/charsets/standard/Polish/pl_cp1250.hcchr X%%DATADIR%%/charsets/standard/Portuguese/pt_ISO-8859-1.hcchr X%%DATADIR%%/charsets/standard/Portuguese/pt_ISO-8859-15.hcchr X%%DATADIR%%/charsets/standard/Portuguese/pt_cp1252.hcchr X%%DATADIR%%/charsets/standard/Russian/ru_ISO-8859-5.hcchr X%%DATADIR%%/charsets/standard/Russian/ru_KOI8-R.hcchr X%%DATADIR%%/charsets/standard/Russian/ru_cp1251.hcchr X%%DATADIR%%/charsets/standard/Slovak/sk_ISO-8859-2.hcchr X%%DATADIR%%/charsets/standard/Slovak/sk_cp1250.hcchr X%%DATADIR%%/charsets/standard/Spanish/es_ISO-8859-1.hcchr X%%DATADIR%%/charsets/standard/Spanish/es_ISO-8859-15.hcchr X%%DATADIR%%/charsets/standard/Spanish/es_cp1252.hcchr X%%DATADIR%%/rules/Incisive-leetspeak.rule X%%DATADIR%%/rules/InsidePro-HashManager.rule X%%DATADIR%%/rules/InsidePro-PasswordsPro.rule X%%DATADIR%%/rules/Ninja-leetspeak.rule X%%DATADIR%%/rules/T0XlC-insert_00-99_1950-2050_toprules_0_F.rule X%%DATADIR%%/rules/T0XlC-insert_space_and_special_0_F.rule X%%DATADIR%%/rules/T0XlC-insert_top_100_passwords_1_G.rule X%%DATADIR%%/rules/T0XlC.rule X%%DATADIR%%/rules/T0XlCv1.rule X%%DATADIR%%/rules/best64.rule X%%DATADIR%%/rules/combinator.rule X%%DATADIR%%/rules/d3ad0ne.rule X%%DATADIR%%/rules/dive.rule X%%DATADIR%%/rules/generated.rule X%%DATADIR%%/rules/leetspeak.rule X%%DATADIR%%/rules/oscommerce.rule X%%DATADIR%%/rules/rockyou-30000.rule X%%DATADIR%%/rules/specific.rule X%%DATADIR%%/rules/toggles1.rule X%%DATADIR%%/rules/toggles2.rule X%%DATADIR%%/rules/toggles3.rule X%%DATADIR%%/rules/toggles4.rule X%%DATADIR%%/rules/toggles5.rule X%%DATADIR%%/salts/brute-oscommerce.salt X%%DATADIR%%/salts/brute-vbulletin.salt X%%DATADIR%%/tables/digits.table X%%DATADIR%%/tables/keyboard.en_ar1.utf8.table X%%DATADIR%%/tables/keyboard.en_ar2.utf8.table X%%DATADIR%%/tables/leet.table X%%DATADIR%%/tables/toggle_case.table X%%DATADIR%%/tables/toggle_case_and_leet.table SHAR_END echo x hashcat/files/patch-src_hashcat-cli.c sed 's/^X//' > hashcat/files/patch-src_hashcat-cli.c << 'SHAR_END' X--- src/hashcat-cli.c.orig 2015-12-04 15:35:08 UTC X+++ src/hashcat-cli.c X@@ -17,14 +17,14 @@ X X // for interactive status prompt X #ifdef POSIX X-#ifndef OSX X+#if defined(OSX) || defined(__FreeBSD__) X X-#include X+#include X+#include X X #else X X-#include X-#include X+#include X X #endif X #endif X@@ -2836,16 +2836,16 @@ void save_hash () X X #ifdef POSIX X X-#ifndef OSX X+#if defined(OSX) || defined(__FreeBSD__) X X-static struct termio savemodes; X+static struct termios savemodes; X static int havemodes = 0; X X int tty_break () X { X- struct termio modmodes; X+ struct termios modmodes; X X- if (ioctl (fileno (stdin), TCGETA, &savemodes) < 0) return -1; X+ if (ioctl (fileno (stdin), TIOCGETA, &savemodes) < 0) return -1; X X havemodes = 1; X X@@ -2854,7 +2854,7 @@ int tty_break () X modmodes.c_cc[VMIN] = 1; X modmodes.c_cc[VTIME] = 0; X X- return ioctl (fileno (stdin), TCSETAW, &modmodes); X+ return ioctl (fileno (stdin), TIOCSETAW, &modmodes); X } X X int tty_getchar () X@@ -2882,19 +2882,19 @@ int tty_fix () X { X if (!havemodes) return 0; X X- return ioctl (fileno (stdin), TCSETAW, &savemodes); X+ return ioctl (fileno (stdin), TIOCSETAW, &savemodes); X } X X #else X X-static struct termios savemodes; X+static struct termio savemodes; X static int havemodes = 0; X X int tty_break () X { X- struct termios modmodes; X+ struct termio modmodes; X X- if (ioctl (fileno (stdin), TIOCGETA, &savemodes) < 0) return -1; X+ if (ioctl (fileno (stdin), TCGETA, &savemodes) < 0) return -1; X X havemodes = 1; X X@@ -2903,7 +2903,7 @@ int tty_break () X modmodes.c_cc[VMIN] = 1; X modmodes.c_cc[VTIME] = 0; X X- return ioctl (fileno (stdin), TIOCSETAW, &modmodes); X+ return ioctl (fileno (stdin), TCSETAW, &modmodes); X } X X int tty_getchar () X@@ -2931,8 +2931,9 @@ int tty_fix () X { X if (!havemodes) return 0; X X- return ioctl (fileno (stdin), TIOCSETAW, &savemodes); X+ return ioctl (fileno (stdin), TCSETAW, &savemodes); X } X+ X #endif X #endif X SHAR_END exit