X-Git-Url: https://www.flypig.org.uk/git/?a=blobdiff_plain;f=include%2Fshared.h;h=34824d366745c27d3f266d916191fa94ef4ad0aa;hb=9a970c095551bc563c6cc93c8c5860c7ce1e374e;hp=f3666b75a8656d0ecc53f6583b2a37e46f004aef;hpb=a7886f02f44ebc3d01f2c9ee3fef0c35e2736b96;p=hashcat.git diff --git a/include/shared.h b/include/shared.h index f3666b7..34824d3 100644 --- a/include/shared.h +++ b/include/shared.h @@ -9,8 +9,8 @@ #ifndef SHARED_H #define SHARED_H -#include -#include +#include "common.h" +#include "inc_hash_constants.h" /** * thread management @@ -108,19 +108,16 @@ static inline int CPU_ISSET (int num, cpu_set_t *cs) { return (cs->count & (1 < #define hc_sleep(x) sleep ((x)); #endif -#include +#include "ext_OpenCL.h" /** * temperature management */ -#if _WIN -#include -#include -#else -#include -#include -#endif +#include "ext_ADL.h" +#include "ext_nvapi.h" +#include "ext_nvml.h" +#include "ext_xnvctrl.h" /** * shared stuff @@ -133,9 +130,10 @@ static inline int CPU_ISSET (int num, cpu_set_t *cs) { return (cs->count & (1 < #define CL_PLATFORMS_MAX 16 #define CL_VENDOR_AMD "Advanced Micro Devices, Inc." +#define CL_VENDOR_AMD_USE_INTEL "GenuineIntel" #define CL_VENDOR_APPLE "Apple" #define CL_VENDOR_INTEL_BEIGNET "Intel" -#define CL_VENDOR_INTEL_SDK "Intel(R) OpenCL" +#define CL_VENDOR_INTEL_SDK "Intel(R) Corporation" #define CL_VENDOR_MESA "Mesa" #define CL_VENDOR_NV "NVIDIA Corporation" #define CL_VENDOR_POCL "The pocl project" @@ -144,10 +142,10 @@ static inline int CPU_ISSET (int num, cpu_set_t *cs) { return (cs->count & (1 < #define VENDOR_ID_APPLE (1 << 1) #define VENDOR_ID_INTEL_BEIGNET (1 << 2) #define VENDOR_ID_INTEL_SDK (1 << 3) -#define VENDOR_ID INTEL (1 << 4) -#define VENDOR_ID_MESA (1 << 5) -#define VENDOR_ID_NV (1 << 6) -#define VENDOR_ID_POCL (1 << 7) +#define VENDOR_ID_MESA (1 << 4) +#define VENDOR_ID_NV (1 << 5) +#define VENDOR_ID_POCL (1 << 6) +#define VENDOR_ID_AMD_USE_INTEL (1 << 7) #define VENDOR_ID_GENERIC (1 << 31) #define BLOCK_SIZE 64 @@ -161,7 +159,7 @@ static inline int CPU_ISSET (int num, cpu_set_t *cs) { return (cs->count & (1 < #define SP_ROOT_CNT (SP_PW_MAX * CHARSIZ) #define SP_MARKOV_CNT (SP_PW_MAX * CHARSIZ * CHARSIZ) -#define TUNING_DB_FILE "hashcat_tuning.hctab" +#define TUNING_DB_FILE "hashcat.hctune" #define INDUCT_DIR "induct" #define OUTFILES_DIR "outfiles" @@ -185,9 +183,9 @@ typedef pthread_t hc_thread_t; typedef pthread_mutex_t hc_thread_mutex_t; #endif -#include +#include "types.h" #include "rp_cpu.h" -#include "rp_kernel.h" +#include "inc_rp.h" /** * valid project specific global stuff @@ -356,6 +354,8 @@ extern hc_thread_mutex_t mux_display; #define HT_13300 "AxCrypt in memory SHA1" #define HT_13400 "Keepass 1 (AES/Twofish) and Keepass 2 (AES)" #define HT_13500 "PeopleSoft PS_TOKEN" +#define HT_13600 "WinZip" +#define HT_13800 "Windows 8+ phone PIN/Password" #define HT_00011 "Joomla < 2.5.18" #define HT_00012 "PostgreSQL" @@ -382,18 +382,36 @@ extern hc_thread_mutex_t mux_display; #define HT_02612 "PHPS" #define HT_02711 "vBulletin > v3.8.5" #define HT_02811 "IPB2+, MyBB1.2+" -#define HT_06211 "TrueCrypt 5.0+ PBKDF2-HMAC-RipeMD160 + XTS 512 bit" -#define HT_06212 "TrueCrypt 5.0+ PBKDF2-HMAC-RipeMD160 + XTS 1024 bit" -#define HT_06213 "TrueCrypt 5.0+ PBKDF2-HMAC-RipeMD160 + XTS 1536 bit" -#define HT_06221 "TrueCrypt 5.0+ PBKDF2-HMAC-SHA512 + XTS 512 bit" -#define HT_06222 "TrueCrypt 5.0+ PBKDF2-HMAC-SHA512 + XTS 1024 bit" -#define HT_06223 "TrueCrypt 5.0+ PBKDF2-HMAC-SHA512 + XTS 1536 bit" -#define HT_06231 "TrueCrypt 5.0+ PBKDF2-HMAC-Whirlpool + XTS 512 bit" -#define HT_06232 "TrueCrypt 5.0+ PBKDF2-HMAC-Whirlpool + XTS 1024 bit" -#define HT_06233 "TrueCrypt 5.0+ PBKDF2-HMAC-Whirlpool + XTS 1536 bit" -#define HT_06241 "TrueCrypt 5.0+ PBKDF2-HMAC-RipeMD160 + XTS 512 bit + boot-mode" -#define HT_06242 "TrueCrypt 5.0+ PBKDF2-HMAC-RipeMD160 + XTS 1024 bit + boot-mode" -#define HT_06243 "TrueCrypt 5.0+ PBKDF2-HMAC-RipeMD160 + XTS 1536 bit + boot-mode" +#define HT_06211 "TrueCrypt PBKDF2-HMAC-RipeMD160 + XTS 512 bit" +#define HT_06212 "TrueCrypt PBKDF2-HMAC-RipeMD160 + XTS 1024 bit" +#define HT_06213 "TrueCrypt PBKDF2-HMAC-RipeMD160 + XTS 1536 bit" +#define HT_06221 "TrueCrypt PBKDF2-HMAC-SHA512 + XTS 512 bit" +#define HT_06222 "TrueCrypt PBKDF2-HMAC-SHA512 + XTS 1024 bit" +#define HT_06223 "TrueCrypt PBKDF2-HMAC-SHA512 + XTS 1536 bit" +#define HT_06231 "TrueCrypt PBKDF2-HMAC-Whirlpool + XTS 512 bit" +#define HT_06232 "TrueCrypt PBKDF2-HMAC-Whirlpool + XTS 1024 bit" +#define HT_06233 "TrueCrypt PBKDF2-HMAC-Whirlpool + XTS 1536 bit" +#define HT_06241 "TrueCrypt PBKDF2-HMAC-RipeMD160 + XTS 512 bit + boot-mode" +#define HT_06242 "TrueCrypt PBKDF2-HMAC-RipeMD160 + XTS 1024 bit + boot-mode" +#define HT_06243 "TrueCrypt PBKDF2-HMAC-RipeMD160 + XTS 1536 bit + boot-mode" +#define HT_13711 "VeraCrypt PBKDF2-HMAC-RipeMD160 + XTS 512 bit" +#define HT_13712 "VeraCrypt PBKDF2-HMAC-RipeMD160 + XTS 1024 bit" +#define HT_13713 "VeraCrypt PBKDF2-HMAC-RipeMD160 + XTS 1536 bit" +#define HT_13721 "VeraCrypt PBKDF2-HMAC-SHA512 + XTS 512 bit" +#define HT_13722 "VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1024 bit" +#define HT_13723 "VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1536 bit" +#define HT_13731 "VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 512 bit" +#define HT_13732 "VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1024 bit" +#define HT_13733 "VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1536 bit" +#define HT_13741 "VeraCrypt PBKDF2-HMAC-RipeMD160 + XTS 512 bit + boot-mode" +#define HT_13742 "VeraCrypt PBKDF2-HMAC-RipeMD160 + XTS 1024 bit + boot-mode" +#define HT_13743 "VeraCrypt PBKDF2-HMAC-RipeMD160 + XTS 1536 bit + boot-mode" +#define HT_13751 "VeraCrypt PBKDF2-HMAC-SHA256 + XTS 512 bit" +#define HT_13752 "VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1024 bit" +#define HT_13753 "VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1536 bit" +#define HT_13761 "VeraCrypt PBKDF2-HMAC-SHA256 + XTS 512 bit + boot-mode" +#define HT_13762 "VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1024 bit + boot-mode" +#define HT_13763 "VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1536 bit + boot-mode" /** * Outfile formats @@ -700,6 +718,10 @@ extern hc_thread_mutex_t mux_display; #define DISPLAY_LEN_MAX_13400 1 + 7 + 1 + 1 + 10 + 1 + 3 + 1 + 64 + 1 + 64 + 1 + 32 + 1 + 64 + 1 + 4 + 1 + 600000 + 1 + 2 + 1 + 64 #define DISPLAY_LEN_MIN_13500 40 + 1 + 32 #define DISPLAY_LEN_MAX_13500 40 + 1 + 1024 +#define DISPLAY_LEN_MIN_13600 6 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 16 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 20 + 1 + 7 +#define DISPLAY_LEN_MAX_13600 6 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 32 + 1 + 4 + 1 + 4 + 1 + 8192 + 1 + 20 + 1 + 7 +#define DISPLAY_LEN_MIN_13800 64 + 1 + 256 +#define DISPLAY_LEN_MAX_13800 64 + 1 + 256 #define DISPLAY_LEN_MIN_11 32 + 1 + 16 #define DISPLAY_LEN_MAX_11 32 + 1 + 32 @@ -816,6 +838,7 @@ extern hc_thread_mutex_t mux_display; #define HASH_TYPE_BSDICRYPT 48 #define HASH_TYPE_RAR3HP 49 #define HASH_TYPE_KRB5TGS 50 +#define HASH_TYPE_STDOUT 51 #define KERN_TYPE_MD5 0 #define KERN_TYPE_MD5_PWSLT 10 @@ -895,6 +918,9 @@ extern hc_thread_mutex_t mux_display; #define KERN_TYPE_TCWHIRLPOOL_XTS512 6231 #define KERN_TYPE_TCWHIRLPOOL_XTS1024 6232 #define KERN_TYPE_TCWHIRLPOOL_XTS1536 6233 +#define KERN_TYPE_VCSHA256_XTS512 13751 +#define KERN_TYPE_VCSHA256_XTS1024 13752 +#define KERN_TYPE_VCSHA256_XTS1536 13753 #define KERN_TYPE_MD5AIX 6300 #define KERN_TYPE_SHA256AIX 6400 #define KERN_TYPE_SHA512AIX 6500 @@ -966,6 +992,8 @@ extern hc_thread_mutex_t mux_display; #define KERN_TYPE_SHA1_AXCRYPT 13300 #define KERN_TYPE_KEEPASS 13400 #define KERN_TYPE_PSTOKEN 13500 +#define KERN_TYPE_ZIP2 13600 +#define KERN_TYPE_WIN8PHONE 13800 /** * signatures @@ -1037,8 +1065,10 @@ extern hc_thread_mutex_t mux_display; #define SIGNATURE_RAR5 "$rar5$" #define SIGNATURE_KRB5TGS "$krb5tgs$23" #define SIGNATURE_AXCRYPT "$axcrypt$*1" -#define SIGNATURE_AXCRYPT_SHA1 "$axcrypt_sha1" +#define SIGNATURE_AXCRYPT_SHA1 "$axcrypt_sha1" #define SIGNATURE_KEEPASS "$keepass$" +#define SIGNATURE_ZIP2_START "$zip2$" +#define SIGNATURE_ZIP2_STOP "$/zip2$" /** * Default iteration numbers @@ -1052,6 +1082,10 @@ extern hc_thread_mutex_t mux_display; #define ROUNDS_ANDROIDPIN 1024 #define ROUNDS_TRUECRYPT_1K 1000 #define ROUNDS_TRUECRYPT_2K 2000 +#define ROUNDS_VERACRYPT_200000 200000 +#define ROUNDS_VERACRYPT_500000 500000 +#define ROUNDS_VERACRYPT_327661 327661 +#define ROUNDS_VERACRYPT_655331 655331 #define ROUNDS_SHA1AIX (1 << 6) #define ROUNDS_SHA256AIX (1 << 6) #define ROUNDS_SHA512AIX (1 << 6) @@ -1092,6 +1126,8 @@ extern hc_thread_mutex_t mux_display; #define ROUNDS_RAR5 (1 << 15) #define ROUNDS_AXCRYPT 10000 #define ROUNDS_KEEPASS 6000 +#define ROUNDS_ZIP2 1000 +#define ROUNDS_STDOUT 0 /** * salt types @@ -1183,7 +1219,6 @@ extern hc_thread_mutex_t mux_display; * digests */ -#define DGST_SIZE_0 0 #define DGST_SIZE_4_2 (2 * sizeof (uint)) // 8 #define DGST_SIZE_4_4 (4 * sizeof (uint)) // 16 #define DGST_SIZE_4_5 (5 * sizeof (uint)) // 20 @@ -1216,7 +1251,8 @@ extern hc_thread_mutex_t mux_display; #define PARSER_PSAFE2_FILE_SIZE -13 #define PARSER_PSAFE3_FILE_SIZE -14 #define PARSER_TC_FILE_SIZE -15 -#define PARSER_SIP_AUTH_DIRECTIVE -16 +#define PARSER_VC_FILE_SIZE -16 +#define PARSER_SIP_AUTH_DIRECTIVE -17 #define PARSER_UNKNOWN_ERROR -255 #define PA_000 "OK" @@ -1235,7 +1271,8 @@ extern hc_thread_mutex_t mux_display; #define PA_013 "Invalid psafe2 filesize" #define PA_014 "Invalid psafe3 filesize" #define PA_015 "Invalid truecrypt filesize" -#define PA_016 "Invalid SIP directive, only MD5 is supported" +#define PA_016 "Invalid veracrypt filesize" +#define PA_017 "Invalid SIP directive, only MD5 is supported" #define PA_255 "Unknown error" /** @@ -1399,31 +1436,36 @@ void fsync (int fd); #ifdef HAVE_HWMON -#if defined(HAVE_NVML) || defined(HAVE_NVAPI) -int hm_get_adapter_index_nv (HM_ADAPTER_NV nvGPUHandle[DEVICES_MAX]); -#endif +int get_adapters_num_adl (void *adl, int *iNumberAdapters); -#ifdef HAVE_ADL -int get_adapters_num_amd (void *adl, int *iNumberAdapters); +int hm_get_adapter_index_adl (hm_attrs_t *hm_device, u32 *valid_adl_device_list, int num_adl_adapters, LPAdapterInfo lpAdapterInfo); -int hm_get_adapter_index_amd (hm_attrs_t *hm_device, u32 *valid_adl_device_list, int num_adl_adapters, LPAdapterInfo lpAdapterInfo); +int hm_get_adapter_index_nvapi (HM_ADAPTER_NVAPI nvapiGPUHandle[DEVICES_MAX]); -LPAdapterInfo hm_get_adapter_info_amd (void *adl, int iNumberAdapters); +int hm_get_adapter_index_nvml (HM_ADAPTER_NVML nvmlGPUHandle[DEVICES_MAX]); + +LPAdapterInfo hm_get_adapter_info_adl (void *adl, int iNumberAdapters); u32 *hm_get_list_valid_adl_adapters (int iNumberAdapters, int *num_adl_adapters, LPAdapterInfo lpAdapterInfo); int hm_get_overdrive_version (void *adl, hm_attrs_t *hm_device, u32 *valid_adl_device_list, int num_adl_adapters, LPAdapterInfo lpAdapterInfo); int hm_check_fanspeed_control (void *adl, hm_attrs_t *hm_device, u32 *valid_adl_device_list, int num_adl_adapters, LPAdapterInfo lpAdapterInfo); -// int hm_get_device_num (void *adl, HM_ADAPTER_AMD hm_adapter_index, int *hm_device_num); +// int hm_get_device_num (void *adl, HM_ADAPTER_ADL hm_adapter_index, int *hm_device_num); // void hm_get_opencl_busid_devid (hm_attrs_t *hm_device, uint opencl_num_devices, cl_device_id *devices); -#endif // HAVE_ADL - -int hm_get_temperature_with_device_id (const uint device_id); -int hm_get_fanspeed_with_device_id (const uint device_id); -int hm_get_utilization_with_device_id (const uint device_id); -int hm_set_fanspeed_with_device_id_amd (const uint device_id, const int fanspeed); +int hm_get_threshold_slowdown_with_device_id (const uint device_id); +int hm_get_threshold_shutdown_with_device_id (const uint device_id); +int hm_get_temperature_with_device_id (const uint device_id); +int hm_get_fanspeed_with_device_id (const uint device_id); +int hm_get_fanpolicy_with_device_id (const uint device_id); +int hm_get_buslanes_with_device_id (const uint device_id); +int hm_get_utilization_with_device_id (const uint device_id); +int hm_get_memoryspeed_with_device_id (const uint device_id); +int hm_get_corespeed_with_device_id (const uint device_id); +int hm_get_throttle_with_device_id (const uint device_id); +int hm_set_fanspeed_with_device_id_adl (const uint device_id, const int fanspeed, const int fanpolicy); +int hm_set_fanspeed_with_device_id_xnvctrl (const uint device_id, const int fanspeed); void hm_device_val_to_str (char *target_buf, int max_buf_size, char *suffix, int value); #endif // HAVE_HWMON @@ -1608,6 +1650,12 @@ int axcrypt_parse_hash (char *input_buf, uint input_len, hash_t *hash int sha1axcrypt_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf); int keepass_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf); int pstoken_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf); +int zip2_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf); +int veracrypt_parse_hash_200000 (char *input_buf, uint input_len, hash_t *hash_buf); +int veracrypt_parse_hash_500000 (char *input_buf, uint input_len, hash_t *hash_buf); +int veracrypt_parse_hash_327661 (char *input_buf, uint input_len, hash_t *hash_buf); +int veracrypt_parse_hash_655331 (char *input_buf, uint input_len, hash_t *hash_buf); +int win8phone_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf); void load_kernel (const char *kernel_file, int num_devices, size_t *kernel_lengths, const u8 **kernel_sources); void writeProgramBin (char *dst, u8 *binary, size_t binary_size);