1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-22 22:58:30 +00:00

Removed option --gpu-temp-retain that tried to retain GPU temperature at X degrees celsius, please use driver specific tools

Removed option --powertune-enable to enable power tuning, please use driver specific tools
This commit is contained in:
jsteube 2017-12-01 15:19:10 +01:00
parent 9c7b56165c
commit b864fa5ba7
16 changed files with 88 additions and 2266 deletions

View File

@ -1,5 +1,12 @@
* changes v4.0.1 -> xxx:
##
## Features
##
- Removed option --gpu-temp-retain that tried to retain GPU temperature at X degrees celsius, please use driver specific tools
- Removed option --powertune-enable to enable power tuning, please use driver specific tools
##
## Algorithms
##

View File

@ -189,8 +189,8 @@ _hashcat ()
local BUILD_IN_CHARSETS='?l ?u ?d ?a ?b ?s ?h ?H'
local SHORT_OPTS="-m -a -V -v -h -b -t -o -p -c -d -w -n -u -j -k -r -g -1 -2 -3 -4 -i -I -s -l -O"
local LONG_OPTS="--hash-type --attack-mode --version --help --quiet --benchmark --hex-salt --hex-wordlist --hex-charset --force --status --status-timer --machine-readable --loopback --markov-hcstat --markov-disable --markov-classic --markov-threshold --runtime --session --speed-only --progress-only --restore --restore-file-path --restore-disable --outfile --outfile-format --outfile-autohex-disable --outfile-check-timer --outfile-check-dir --wordlist-autohex-disable --separator --show --left --username --remove --remove-timer --potfile-disable --potfile-path --debug-mode --debug-file --induction-dir --segment-size --bitmap-min --bitmap-max --cpu-affinity --example-hashes --opencl-info --opencl-devices --opencl-platforms --opencl-device-types --opencl-vector-width --workload-profile --kernel-accel --kernel-loops --nvidia-spin-damp --gpu-temp-disable --gpu-temp-abort --gpu-temp-retain --powertune-enable --skip --limit --keyspace --rule-left --rule-right --rules-file --generate-rules --generate-rules-func-min --generate-rules-func-max --generate-rules-seed --custom-charset1 --custom-charset2 --custom-charset3 --custom-charset4 --increment --increment-min --increment-max --logfile-disable --scrypt-tmto --truecrypt-keyfiles --veracrypt-keyfiles --veracrypt-pim --stdout --keep-guessing --hccapx-message-pair --nonce-error-corrections --encoding-from --encoding-to --optimized-kernel-enable --self-test-disable"
local OPTIONS="-m -a -t -o -p -c -d -w -n -u -j -k -r -g -1 -2 -3 -4 -s -l --hash-type --attack-mode --status-timer --markov-hcstat --markov-threshold --runtime --session --timer --outfile --outfile-format --outfile-check-timer --outfile-check-dir --separator --remove-timer --potfile-path --restore-file-path --debug-mode --debug-file --induction-dir --segment-size --bitmap-min --bitmap-max --cpu-affinity --opencl-devices --opencl-platforms --opencl-device-types --opencl-vector-width --workload-profile --kernel-accel --kernel-loops --nvidia-spin-damp --gpu-temp-abort --gpu-temp-retain --skip --limit --rule-left --rule-right --rules-file --generate-rules --generate-rules-func-min --generate-rules-func-max --generate-rules-seed --custom-charset1 --custom-charset2 --custom-charset3 --custom-charset4 --increment-min --increment-max --scrypt-tmto --truecrypt-keyfiles --veracrypt-keyfiles --veracrypt-pim --hccapx-message-pair --nonce-error-corrections --encoding-from --encoding-to"
local LONG_OPTS="--hash-type --attack-mode --version --help --quiet --benchmark --hex-salt --hex-wordlist --hex-charset --force --status --status-timer --machine-readable --loopback --markov-hcstat --markov-disable --markov-classic --markov-threshold --runtime --session --speed-only --progress-only --restore --restore-file-path --restore-disable --outfile --outfile-format --outfile-autohex-disable --outfile-check-timer --outfile-check-dir --wordlist-autohex-disable --separator --show --left --username --remove --remove-timer --potfile-disable --potfile-path --debug-mode --debug-file --induction-dir --segment-size --bitmap-min --bitmap-max --cpu-affinity --example-hashes --opencl-info --opencl-devices --opencl-platforms --opencl-device-types --opencl-vector-width --workload-profile --kernel-accel --kernel-loops --nvidia-spin-damp --gpu-temp-disable --gpu-temp-abort --skip --limit --keyspace --rule-left --rule-right --rules-file --generate-rules --generate-rules-func-min --generate-rules-func-max --generate-rules-seed --custom-charset1 --custom-charset2 --custom-charset3 --custom-charset4 --increment --increment-min --increment-max --logfile-disable --scrypt-tmto --truecrypt-keyfiles --veracrypt-keyfiles --veracrypt-pim --stdout --keep-guessing --hccapx-message-pair --nonce-error-corrections --encoding-from --encoding-to --optimized-kernel-enable --self-test-disable"
local OPTIONS="-m -a -t -o -p -c -d -w -n -u -j -k -r -g -1 -2 -3 -4 -s -l --hash-type --attack-mode --status-timer --markov-hcstat --markov-threshold --runtime --session --timer --outfile --outfile-format --outfile-check-timer --outfile-check-dir --separator --remove-timer --potfile-path --restore-file-path --debug-mode --debug-file --induction-dir --segment-size --bitmap-min --bitmap-max --cpu-affinity --opencl-devices --opencl-platforms --opencl-device-types --opencl-vector-width --workload-profile --kernel-accel --kernel-loops --nvidia-spin-damp --gpu-temp-abort --skip --limit --rule-left --rule-right --rules-file --generate-rules --generate-rules-func-min --generate-rules-func-max --generate-rules-seed --custom-charset1 --custom-charset2 --custom-charset3 --custom-charset4 --increment-min --increment-max --scrypt-tmto --truecrypt-keyfiles --veracrypt-keyfiles --veracrypt-pim --hccapx-message-pair --nonce-error-corrections --encoding-from --encoding-to"
COMPREPLY=()
local cur="${COMP_WORDS[COMP_CWORD]}"
@ -361,7 +361,7 @@ _hashcat ()
-t|-p|-c|-j|-k|-g| \
--status-timer|--markov-threshold|--runtime|--session|--separator|--segment-size|--rule-left|--rule-right| \
--nvidia-spin-damp|--gpu-temp-abort|--gpu-temp-retain|--generate-rules|--generate-rules-func-min|--generate-rules-func-max| \
--nvidia-spin-damp|--gpu-temp-abort|--generate-rules|--generate-rules-func-min|--generate-rules-func-max| \
--increment-min|--increment-max|--remove-timer|--bitmap-min|--bitmap-max|--skip|--limit|--generate-rules-seed| \
--outfile-check-timer|--outfile-check-dir|--induction-dir|--scrypt-tmto|--encoding-from|--encoding-to|--optimized-kernel-enable|--self-test-disable)
return 0

View File

@ -23,15 +23,9 @@
#define ADL_MAX_PATH 256
#define ADL_DL_FANCTRL_SUPPORTS_PERCENT_READ 1
#define ADL_DL_FANCTRL_SUPPORTS_PERCENT_WRITE 2
#define ADL_DL_FANCTRL_SPEED_TYPE_PERCENT 1
#define ADL_DL_FANCTRL_FLAG_USER_DEFINED_SPEED 1
#define ADL_OD6_SETSTATE_PERFORMANCE 0x00000001
#define ADL_OD6_GETSTATEINFO_CUSTOM_PERFORMANCE 0x00000004
#define ADL_OD6_FANSPEED_TYPE_PERCENT 0x00000001
typedef struct AdapterInfo
{
int iSize;
@ -241,15 +235,6 @@ typedef struct ADLOD6StateInfo
ADLOD6PerformanceLevel aLevels [2];
} ADLOD6StateInfo;
typedef struct ADLOD6PowerControlInfo
{
int iMinValue;
int iMaxValue;
int iStepValue;
int iExtValue;
int iExtMask;
} ADLOD6PowerControlInfo;
#if defined (__MSC_VER)
#define ADL_API_CALL __cdecl
#elif defined (_WIN32) || defined (__WIN32__)
@ -287,26 +272,15 @@ typedef int (ADL_API_CALL *ADL_ADAPTER_VIDEOBIOSINFO_GET) (int, ADLBiosInfo *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE5_FANSPEEDINFO_GET) (int, int, ADLFanSpeedInfo *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE5_FANSPEED_GET) (int, int, ADLFanSpeedValue *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_FANSPEED_GET) (int, ADLOD6FanSpeedInfo *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE5_FANSPEED_SET) (int, int, ADLFanSpeedValue *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_FANSPEED_SET) (int, ADLOD6FanSpeedValue *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE5_FANSPEEDTODEFAULT_SET) (int, int);
typedef int (ADL_API_CALL *ADL_OVERDRIVE5_ODPARAMETERS_GET) (int, ADLODParameters *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE5_ODPERFORMANCELEVELS_GET) (int, int, ADLODPerformanceLevels *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE5_ODPERFORMANCELEVELS_SET) (int, ADLODPerformanceLevels *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_POWERCONTROL_SET) (int, int);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_POWERCONTROL_GET) (int, int *, int *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_POWERCONTROLINFO_GET) (int, ADLOD6PowerControlInfo *);
typedef int (ADL_API_CALL *ADL_ADAPTER_ACTIVE_GET) (int, int *);
typedef int (ADL_API_CALL *ADL_DISPLAYENABLE_SET) (int, int *, int, int);
typedef int (ADL_API_CALL *ADL_OVERDRIVE_CAPS) (int, int *, int *, int *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_CURRENTSTATUS_GET) (int, ADLOD6CurrentStatus *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_STATEINFO_GET) (int, int, ADLOD6MemClockState *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_CAPABILITIES_GET) (int, ADLOD6Capabilities *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_STATE_SET) (int, int, ADLOD6StateInfo *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_POWERCONTROL_CAPS) (int, int *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_TARGETTEMPERATUREDATA_GET) (int, int *, int *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_TARGETTEMPERATURERANGEINFO_GET) (int, ADLOD6ParameterRange *);
typedef int (ADL_API_CALL *ADL_OVERDRIVE6_FANSPEED_RESET) (int);
#if defined (_POSIX)
typedef void *ADL_LIB;
@ -332,26 +306,13 @@ typedef struct hm_adl_lib
ADL_OVERDRIVE5_FANSPEEDINFO_GET ADL_Overdrive5_FanSpeedInfo_Get;
ADL_OVERDRIVE5_FANSPEED_GET ADL_Overdrive5_FanSpeed_Get;
ADL_OVERDRIVE6_FANSPEED_GET ADL_Overdrive6_FanSpeed_Get;
ADL_OVERDRIVE5_FANSPEED_SET ADL_Overdrive5_FanSpeed_Set;
ADL_OVERDRIVE6_FANSPEED_SET ADL_Overdrive6_FanSpeed_Set;
ADL_OVERDRIVE5_FANSPEEDTODEFAULT_SET ADL_Overdrive5_FanSpeedToDefault_Set;
ADL_OVERDRIVE5_ODPARAMETERS_GET ADL_Overdrive5_ODParameters_Get;
ADL_OVERDRIVE5_ODPERFORMANCELEVELS_GET ADL_Overdrive5_ODPerformanceLevels_Get;
ADL_OVERDRIVE5_ODPERFORMANCELEVELS_SET ADL_Overdrive5_ODPerformanceLevels_Set;
ADL_OVERDRIVE6_POWERCONTROLINFO_GET ADL_Overdrive6_PowerControlInfo_Get;
ADL_OVERDRIVE6_POWERCONTROL_GET ADL_Overdrive6_PowerControl_Get;
ADL_OVERDRIVE6_POWERCONTROL_SET ADL_Overdrive6_PowerControl_Set;
ADL_ADAPTER_ACTIVE_GET ADL_Adapter_Active_Get;
ADL_DISPLAYENABLE_SET ADL_DisplayEnable_Set;
ADL_OVERDRIVE_CAPS ADL_Overdrive_Caps;
ADL_OVERDRIVE6_POWERCONTROL_CAPS ADL_Overdrive6_PowerControl_Caps;
ADL_OVERDRIVE6_CAPABILITIES_GET ADL_Overdrive6_Capabilities_Get;
ADL_OVERDRIVE6_STATEINFO_GET ADL_Overdrive6_StateInfo_Get;
ADL_OVERDRIVE6_CURRENTSTATUS_GET ADL_Overdrive6_CurrentStatus_Get;
ADL_OVERDRIVE6_STATE_SET ADL_Overdrive6_State_Set;
ADL_OVERDRIVE6_TARGETTEMPERATUREDATA_GET ADL_Overdrive6_TargetTemperatureData_Get;
ADL_OVERDRIVE6_TARGETTEMPERATURERANGEINFO_GET ADL_Overdrive6_TargetTemperatureRangeInfo_Get;
ADL_OVERDRIVE6_FANSPEED_RESET ADL_Overdrive6_FanSpeed_Reset;
} hm_adl_lib_t;

View File

@ -30,9 +30,6 @@ typedef char NvAPI_ShortString[NVAPI_SHORT_STRING_MAX];
#define MAKE_NVAPI_VERSION(typeName,ver) (NvU32)(sizeof(typeName) | ((ver)<<16))
#define NVAPI_MAX_PHYSICAL_GPUS 64
#define NVAPI_MAX_COOLER_PER_GPU 20
#define GPU_COOLER_LEVELS_VER 0x10000
typedef enum _NvAPI_Status
{
@ -192,13 +189,6 @@ typedef struct struct_NvLevel
} NvLevel;
typedef struct struct_NV_GPU_COOLER_LEVELS
{
NvU32 Version;
NvLevel Levels[NVAPI_MAX_COOLER_PER_GPU];
} NV_GPU_COOLER_LEVELS;
NVAPI_INTERFACE NvAPI_QueryInterface (unsigned int offset);
NVAPI_INTERFACE NvAPI_Initialize (void);
NVAPI_INTERFACE NvAPI_Unload (void);
@ -206,8 +196,6 @@ NVAPI_INTERFACE NvAPI_GetErrorMessage (NvAPI_Status nr,NvAPI_ShortString szDesc)
NVAPI_INTERFACE NvAPI_EnumPhysicalGPUs (NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount);
NVAPI_INTERFACE NvAPI_GPU_GetPerfPoliciesInfo (NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_PERF_POLICIES_INFO_PARAMS_V1 *perfPolicies_info);
NVAPI_INTERFACE NvAPI_GPU_GetPerfPoliciesStatus (NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_PERF_POLICIES_STATUS_PARAMS_V1 *perfPolicies_status);
NVAPI_INTERFACE NvAPI_GPU_SetCoolerLevels (NvPhysicalGpuHandle hPhysicalGpu, NvU32 coolerIndex, NV_GPU_COOLER_LEVELS *pCoolerLevels);
NVAPI_INTERFACE NvAPI_GPU_RestoreCoolerSettings (NvPhysicalGpuHandle hPhysicalGpu, NvU32 coolerIndex);
NVAPI_INTERFACE NvAPI_GPU_GetBusId (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pBusId);
NVAPI_INTERFACE NvAPI_GPU_GetBusSlotId (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pBusSlotId);
@ -230,8 +218,6 @@ typedef int (*NVAPI_API_CALL NVAPI_GETERRORMESSAGE) (NvAPI_Status, NvAPI_ShortSt
typedef int (*NVAPI_API_CALL NVAPI_ENUMPHYSICALGPUS) (NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *);
typedef int (*NVAPI_API_CALL NVAPI_GPU_GETPERFPOLICIESINFO) (NvPhysicalGpuHandle, NV_GPU_PERF_POLICIES_INFO_PARAMS_V1 *);
typedef int (*NVAPI_API_CALL NVAPI_GPU_GETPERFPOLICIESSTATUS) (NvPhysicalGpuHandle, NV_GPU_PERF_POLICIES_STATUS_PARAMS_V1 *);
typedef int (*NVAPI_API_CALL NVAPI_GPU_SETCOOLERLEVELS) (NvPhysicalGpuHandle, NvU32, NV_GPU_COOLER_LEVELS *);
typedef int (*NVAPI_API_CALL NVAPI_GPU_RESTORECOOLERSETTINGS) (NvPhysicalGpuHandle, NvU32);
typedef int (*NVAPI_API_CALL NVAPI_GPU_GETBUSID) (NvPhysicalGpuHandle, NvU32 *);
typedef int (*NVAPI_API_CALL NVAPI_GPU_GETBUSSLOTID) (NvPhysicalGpuHandle, NvU32 *);
@ -252,8 +238,6 @@ typedef struct hm_nvapi_lib
NVAPI_ENUMPHYSICALGPUS NvAPI_EnumPhysicalGPUs;
NVAPI_GPU_GETPERFPOLICIESINFO NvAPI_GPU_GetPerfPoliciesInfo;
NVAPI_GPU_GETPERFPOLICIESSTATUS NvAPI_GPU_GetPerfPoliciesStatus;
NVAPI_GPU_SETCOOLERLEVELS NvAPI_GPU_SetCoolerLevels;
NVAPI_GPU_RESTORECOOLERSETTINGS NvAPI_GPU_RestoreCoolerSettings;
NVAPI_GPU_GETBUSID NvAPI_GPU_GetBusId;
NVAPI_GPU_GETBUSSLOTID NvAPI_GPU_GetBusSlotId;

View File

@ -181,7 +181,6 @@ typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_NAME) (nvmlDevice_t, char *
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_HANDLE_BY_INDEX) (unsigned int, nvmlDevice_t *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_TEMPERATURE) (nvmlDevice_t, nvmlTemperatureSensors_t, unsigned int *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_FAN_SPEED) (nvmlDevice_t, unsigned int *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_POWER_USAGE) (nvmlDevice_t, unsigned int *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_UTILIZATION_RATES) (nvmlDevice_t, nvmlUtilization_t *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_CLOCKINFO) (nvmlDevice_t, nvmlClockType_t, unsigned int *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_THRESHOLD) (nvmlDevice_t, nvmlTemperatureThresholds_t, unsigned int *);
@ -191,9 +190,6 @@ typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_CURRENTCLOCKSTHROTTLEREASON
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_SUPPORTEDCLOCKSTHROTTLEREASONS) (nvmlDevice_t, unsigned long long *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_SET_COMPUTEMODE) (nvmlDevice_t, nvmlComputeMode_t);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_SET_OPERATIONMODE) (nvmlDevice_t, nvmlGpuOperationMode_t);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_POWERMANAGEMENTLIMITCONSTRAINTS) (nvmlDevice_t, unsigned int *, unsigned int *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_SET_POWERMANAGEMENTLIMIT) (nvmlDevice_t, unsigned int);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_POWERMANAGEMENTLIMIT) (nvmlDevice_t, unsigned int *);
typedef nvmlReturn_t (*NVML_API_CALL NVML_DEVICE_GET_PCIINFO) (nvmlDevice_t, nvmlPciInfo_t *);
#if defined (_POSIX)
@ -214,7 +210,6 @@ typedef struct hm_nvml_lib
NVML_DEVICE_GET_HANDLE_BY_INDEX nvmlDeviceGetHandleByIndex;
NVML_DEVICE_GET_TEMPERATURE nvmlDeviceGetTemperature;
NVML_DEVICE_GET_FAN_SPEED nvmlDeviceGetFanSpeed;
NVML_DEVICE_GET_POWER_USAGE nvmlDeviceGetPowerUsage;
NVML_DEVICE_GET_UTILIZATION_RATES nvmlDeviceGetUtilizationRates;
NVML_DEVICE_GET_CLOCKINFO nvmlDeviceGetClockInfo;
NVML_DEVICE_GET_THRESHOLD nvmlDeviceGetTemperatureThreshold;
@ -222,11 +217,6 @@ typedef struct hm_nvml_lib
NVML_DEVICE_GET_CURRPCIELINKWIDTH nvmlDeviceGetCurrPcieLinkWidth;
NVML_DEVICE_GET_CURRENTCLOCKSTHROTTLEREASONS nvmlDeviceGetCurrentClocksThrottleReasons;
NVML_DEVICE_GET_SUPPORTEDCLOCKSTHROTTLEREASONS nvmlDeviceGetSupportedClocksThrottleReasons;
NVML_DEVICE_SET_COMPUTEMODE nvmlDeviceSetComputeMode;
NVML_DEVICE_SET_OPERATIONMODE nvmlDeviceSetGpuOperationMode;
NVML_DEVICE_GET_POWERMANAGEMENTLIMITCONSTRAINTS nvmlDeviceGetPowerManagementLimitConstraints;
NVML_DEVICE_SET_POWERMANAGEMENTLIMIT nvmlDeviceSetPowerManagementLimit;
NVML_DEVICE_GET_POWERMANAGEMENTLIMIT nvmlDeviceGetPowerManagementLimit;
NVML_DEVICE_GET_PCIINFO nvmlDeviceGetPciInfo;
} hm_nvml_lib_t;

View File

@ -1,97 +0,0 @@
/**
* Author......: See docs/credits.txt
* License.....: MIT
*/
#ifndef _EXT_XNVCTRL_H
#define _EXT_XNVCTRL_H
/**
* Stuff from X11/Xlib.h
*/
typedef void *(*XOPENDISPLAY) (char *);
typedef int (*XCLOSEDISPLAY) (void *);
/**
* Declarations from NVCtrl.h
*/
#define NV_CTRL_TARGET_TYPE_GPU 1
#define NV_CTRL_TARGET_TYPE_COOLER 5 /* e.g., fan */
#define NV_CTRL_GPU_COOLER_MANUAL_CONTROL 319 /* RW-G */
#define NV_CTRL_GPU_COOLER_MANUAL_CONTROL_FALSE 0
#define NV_CTRL_GPU_COOLER_MANUAL_CONTROL_TRUE 1
#define NV_CTRL_THERMAL_COOLER_CURRENT_LEVEL 417 /* R--C */
#define NV_CTRL_THERMAL_COOLER_LEVEL 320 /* RW-C */
/*
* NV_CTRL_PCI_BUS - Returns the PCI bus number the specified device is using.
*/
#define NV_CTRL_PCI_BUS 239 /* R--GI */
/*
* NV_CTRL_PCI_DEVICE - Returns the PCI device number the specified device is
* using.
*/
#define NV_CTRL_PCI_DEVICE 240 /* R--GI */
/*
* NV_CTRL_PCI_FUNCTION - Returns the PCI function number the specified device
* is using.
*/
#define NV_CTRL_PCI_FUNCTION 241 /* R--GI */
/*
* NV_CTRL_GPU_CORE_THRESHOLD reflects the temperature at which the
* GPU is throttled to prevent overheating.
*/
#define NV_CTRL_GPU_CORE_THRESHOLD 61 /* R--G */
/**
* hashcat stuff from here
*/
typedef int HM_ADAPTER_XNVCTRL;
#if defined(_WIN32) || defined(__WIN32__)
#define XNVCTRL_API_CALL __stdcall
#else
#define XNVCTRL_API_CALL
#endif
typedef int (*XNVCTRL_API_CALL XNVCTRLQUERYTARGETCOUNT) (void *, int, int *);
typedef int (*XNVCTRL_API_CALL XNVCTRLQUERYTARGETATTRIBUTE) (void *, int, int, unsigned int, unsigned int, int *);
typedef void (*XNVCTRL_API_CALL XNVCTRLSETTARGETATTRIBUTE) (void *, int, int, unsigned int, unsigned int, int);
#if defined (_POSIX)
typedef void *XNVCTRL_LIB;
#else
typedef HINSTANCE XNVCTRL_LIB;
#endif
typedef struct hm_xnvctrl_lib
{
void *dpy;
XNVCTRL_LIB lib_x11;
XNVCTRL_LIB lib_xnvctrl;
XOPENDISPLAY XOpenDisplay;
XCLOSEDISPLAY XCloseDisplay;
XNVCTRLQUERYTARGETCOUNT XNVCTRLQueryTargetCount;
XNVCTRLQUERYTARGETATTRIBUTE XNVCTRLQueryTargetAttribute;
XNVCTRLSETTARGETATTRIBUTE XNVCTRLSetTargetAttribute;
} hm_xnvctrl_lib_t;
typedef hm_xnvctrl_lib_t XNVCTRL_PTR;
#endif // _EXT_XNVCTRL_H

View File

@ -21,10 +21,6 @@ int hm_get_utilization_with_device_id (hashcat_ctx_t *hashcat_ctx, const
int hm_get_memoryspeed_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device_id);
int hm_get_corespeed_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device_id);
int hm_get_throttle_with_device_id (hashcat_ctx_t *hashcat_ctx, const u32 device_id);
int hm_set_fanspeed_with_device_id_adl (hashcat_ctx_t *hashcat_ctx, const u32 device_id, const int fanspeed, const int fanpolicy);
int hm_set_fanspeed_with_device_id_nvapi (hashcat_ctx_t *hashcat_ctx, const u32 device_id, const int fanspeed, const int fanpolicy);
int hm_set_fanspeed_with_device_id_xnvctrl (hashcat_ctx_t *hashcat_ctx, const u32 device_id, const int fanspeed);
int hm_set_fanspeed_with_device_id_sysfs (hashcat_ctx_t *hashcat_ctx, const u32 device_id, const int fanspeed);
int hwmon_ctx_init (hashcat_ctx_t *hashcat_ctx);
void hwmon_ctx_destroy (hashcat_ctx_t *hashcat_ctx);

View File

@ -527,7 +527,6 @@ typedef enum user_options_defaults
FORCE = false,
GPU_TEMP_ABORT = 90,
GPU_TEMP_DISABLE = false,
GPU_TEMP_RETAIN = 75,
HASH_MODE = 0,
HCCAPX_MESSAGE_PAIR = 0,
HEX_CHARSET = false,
@ -558,7 +557,6 @@ typedef enum user_options_defaults
OUTFILE_FORMAT = 3,
WORDLIST_AUTOHEX_DISABLE = false,
POTFILE_DISABLE = false,
POWERTUNE_ENABLE = false,
QUIET = false,
REMOVE = false,
REMOVE_TIMER = 60,
@ -608,77 +606,75 @@ typedef enum user_options_map
IDX_FORCE = 0xff09,
IDX_GPU_TEMP_ABORT = 0xff0a,
IDX_GPU_TEMP_DISABLE = 0xff0b,
IDX_GPU_TEMP_RETAIN = 0xff0c,
IDX_HASH_MODE = 'm',
IDX_HCCAPX_MESSAGE_PAIR = 0xff0d,
IDX_HCCAPX_MESSAGE_PAIR = 0xff0c,
IDX_HELP = 'h',
IDX_HEX_CHARSET = 0xff0e,
IDX_HEX_SALT = 0xff0f,
IDX_HEX_WORDLIST = 0xff10,
IDX_HEX_CHARSET = 0xff0d,
IDX_HEX_SALT = 0xff0e,
IDX_HEX_WORDLIST = 0xff0f,
IDX_INCREMENT = 'i',
IDX_INCREMENT_MAX = 0xff11,
IDX_INCREMENT_MIN = 0xff12,
IDX_INDUCTION_DIR = 0xff13,
IDX_KEEP_GUESSING = 0xff14,
IDX_INCREMENT_MAX = 0xff10,
IDX_INCREMENT_MIN = 0xff11,
IDX_INDUCTION_DIR = 0xff12,
IDX_KEEP_GUESSING = 0xff13,
IDX_KERNEL_ACCEL = 'n',
IDX_KERNEL_LOOPS = 'u',
IDX_KEYSPACE = 0xff15,
IDX_LEFT = 0xff16,
IDX_KEYSPACE = 0xff14,
IDX_LEFT = 0xff15,
IDX_LIMIT = 'l',
IDX_LOGFILE_DISABLE = 0xff17,
IDX_LOOPBACK = 0xff18,
IDX_MACHINE_READABLE = 0xff19,
IDX_MARKOV_CLASSIC = 0xff1a,
IDX_MARKOV_DISABLE = 0xff1b,
IDX_MARKOV_HCSTAT = 0xff1c,
IDX_LOGFILE_DISABLE = 0xff16,
IDX_LOOPBACK = 0xff17,
IDX_MACHINE_READABLE = 0xff18,
IDX_MARKOV_CLASSIC = 0xff19,
IDX_MARKOV_DISABLE = 0xff1a,
IDX_MARKOV_HCSTAT = 0xff1b,
IDX_MARKOV_THRESHOLD = 't',
IDX_NONCE_ERROR_CORRECTIONS = 0xff1d,
IDX_NVIDIA_SPIN_DAMP = 0xff1e,
IDX_NONCE_ERROR_CORRECTIONS = 0xff1c,
IDX_NVIDIA_SPIN_DAMP = 0xff1d,
IDX_OPENCL_DEVICES = 'd',
IDX_OPENCL_DEVICE_TYPES = 'D',
IDX_OPENCL_INFO = 'I',
IDX_OPENCL_PLATFORMS = 0xff1f,
IDX_OPENCL_VECTOR_WIDTH = 0xff20,
IDX_OPENCL_PLATFORMS = 0xff1e,
IDX_OPENCL_VECTOR_WIDTH = 0xff1f,
IDX_OPTIMIZED_KERNEL_ENABLE = 'O',
IDX_OUTFILE_AUTOHEX_DISABLE = 0xff21,
IDX_OUTFILE_CHECK_DIR = 0xff22,
IDX_OUTFILE_CHECK_TIMER = 0xff23,
IDX_OUTFILE_FORMAT = 0xff24,
IDX_OUTFILE_AUTOHEX_DISABLE = 0xff20,
IDX_OUTFILE_CHECK_DIR = 0xff21,
IDX_OUTFILE_CHECK_TIMER = 0xff22,
IDX_OUTFILE_FORMAT = 0xff23,
IDX_OUTFILE = 'o',
IDX_WORDLIST_AUTOHEX_DISABLE = 0xff25,
IDX_POTFILE_DISABLE = 0xff26,
IDX_POTFILE_PATH = 0xff27,
IDX_POWERTUNE_ENABLE = 0xff28,
IDX_QUIET = 0xff29,
IDX_REMOVE = 0xff2a,
IDX_REMOVE_TIMER = 0xff2b,
IDX_RESTORE = 0xff2c,
IDX_RESTORE_DISABLE = 0xff2d,
IDX_RESTORE_FILE_PATH = 0xff2e,
IDX_WORDLIST_AUTOHEX_DISABLE = 0xff24,
IDX_POTFILE_DISABLE = 0xff25,
IDX_POTFILE_PATH = 0xff26,
IDX_QUIET = 0xff27,
IDX_REMOVE = 0xff28,
IDX_REMOVE_TIMER = 0xff29,
IDX_RESTORE = 0xff2a,
IDX_RESTORE_DISABLE = 0xff2b,
IDX_RESTORE_FILE_PATH = 0xff2c,
IDX_RP_FILE = 'r',
IDX_RP_GEN_FUNC_MAX = 0xff2f,
IDX_RP_GEN_FUNC_MIN = 0xff30,
IDX_RP_GEN_FUNC_MAX = 0xff2d,
IDX_RP_GEN_FUNC_MIN = 0xff2e,
IDX_RP_GEN = 'g',
IDX_RP_GEN_SEED = 0xff31,
IDX_RP_GEN_SEED = 0xff2f,
IDX_RULE_BUF_L = 'j',
IDX_RULE_BUF_R = 'k',
IDX_RUNTIME = 0xff32,
IDX_SCRYPT_TMTO = 0xff33,
IDX_SELF_TEST_DISABLE = 0xff34,
IDX_RUNTIME = 0xff30,
IDX_SCRYPT_TMTO = 0xff31,
IDX_SELF_TEST_DISABLE = 0xff32,
IDX_SEGMENT_SIZE = 'c',
IDX_SEPARATOR = 'p',
IDX_SESSION = 0xff35,
IDX_SHOW = 0xff36,
IDX_SESSION = 0xff33,
IDX_SHOW = 0xff34,
IDX_SKIP = 's',
IDX_STATUS = 0xff37,
IDX_STATUS_TIMER = 0xff38,
IDX_STDOUT_FLAG = 0xff39,
IDX_SPEED_ONLY = 0xff3a,
IDX_PROGRESS_ONLY = 0xff3b,
IDX_TRUECRYPT_KEYFILES = 0xff3c,
IDX_USERNAME = 0xff3d,
IDX_VERACRYPT_KEYFILES = 0xff3e,
IDX_VERACRYPT_PIM = 0xff3f,
IDX_STATUS = 0xff35,
IDX_STATUS_TIMER = 0xff36,
IDX_STDOUT_FLAG = 0xff37,
IDX_SPEED_ONLY = 0xff38,
IDX_PROGRESS_ONLY = 0xff39,
IDX_TRUECRYPT_KEYFILES = 0xff3a,
IDX_USERNAME = 0xff3b,
IDX_VERACRYPT_KEYFILES = 0xff3c,
IDX_VERACRYPT_PIM = 0xff3d,
IDX_VERSION_LOWER = 'v',
IDX_VERSION = 'V',
IDX_WORKLOAD_PROFILE = 'w'
@ -1158,7 +1154,6 @@ typedef struct opencl_ctx
bool need_adl;
bool need_nvml;
bool need_nvapi;
bool need_xnvctrl;
bool need_sysfs;
int comptime;
@ -1170,7 +1165,6 @@ typedef struct opencl_ctx
#include "ext_ADL.h"
#include "ext_nvapi.h"
#include "ext_nvml.h"
#include "ext_xnvctrl.h"
#include "ext_sysfs.h"
typedef struct hm_attrs
@ -1178,7 +1172,6 @@ typedef struct hm_attrs
HM_ADAPTER_ADL adl;
HM_ADAPTER_NVML nvml;
HM_ADAPTER_NVAPI nvapi;
HM_ADAPTER_XNVCTRL xnvctrl;
HM_ADAPTER_SYSFS sysfs;
int od_version;
@ -1186,9 +1179,7 @@ typedef struct hm_attrs
bool buslanes_get_supported;
bool corespeed_get_supported;
bool fanspeed_get_supported;
bool fanspeed_set_supported;
bool fanpolicy_get_supported;
bool fanpolicy_set_supported;
bool memoryspeed_get_supported;
bool temperature_get_supported;
bool threshold_shutdown_get_supported;
@ -1205,14 +1196,11 @@ typedef struct hwmon_ctx
void *hm_adl;
void *hm_nvml;
void *hm_nvapi;
void *hm_xnvctrl;
void *hm_sysfs;
hm_attrs_t *hm_device;
ADLOD6MemClockState *od_clock_mem_status;
int *od_power_control_status;
unsigned int *nvml_power_limit;
} hwmon_ctx_t;
@ -1519,7 +1507,6 @@ typedef struct user_options
bool outfile_autohex;
bool wordlist_autohex_disable;
bool potfile_disable;
bool powertune_enable;
bool quiet;
bool remove;
bool restore;
@ -1562,7 +1549,6 @@ typedef struct user_options
u32 bitmap_min;
u32 debug_mode;
u32 gpu_temp_abort;
u32 gpu_temp_retain;
u32 hash_mode;
u32 hccapx_message_pair;
u32 increment_max;

View File

@ -281,7 +281,7 @@ LFLAGS_CROSS_WIN64 += -lpsapi
## Objects
##
OBJS_ALL := affinity autotune benchmark bitmap bitops combinator common convert cpt cpu_aes cpu_crc32 cpu_des cpu_md4 cpu_md5 cpu_sha1 cpu_sha256 debugfile dictstat dispatch dynloader event ext_ADL ext_nvapi ext_nvml ext_OpenCL ext_sysfs ext_xnvctrl ext_lzma lzma_sdk/Alloc lzma_sdk/Lzma2Dec lzma_sdk/LzmaDec filehandling folder hashcat hashes hlfmt hwmon induct interface locking logfile loopback memory monitor mpsp opencl outfile_check outfile pidfile potfile restore rp rp_cpu rp_kernel_on_cpu rp_kernel_on_cpu_optimized selftest shared status stdout straight terminal thread timer tuningdb usage user_options wordlist
OBJS_ALL := affinity autotune benchmark bitmap bitops combinator common convert cpt cpu_aes cpu_crc32 cpu_des cpu_md4 cpu_md5 cpu_sha1 cpu_sha256 debugfile dictstat dispatch dynloader event ext_ADL ext_nvapi ext_nvml ext_OpenCL ext_sysfs ext_lzma lzma_sdk/Alloc lzma_sdk/Lzma2Dec lzma_sdk/LzmaDec filehandling folder hashcat hashes hlfmt hwmon induct interface locking logfile loopback memory monitor mpsp opencl outfile_check outfile pidfile potfile restore rp rp_cpu rp_kernel_on_cpu rp_kernel_on_cpu_optimized selftest shared status stdout straight terminal thread timer tuningdb usage user_options wordlist
NATIVE_STATIC_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.STATIC.o)
NATIVE_SHARED_OBJS := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.SHARED.o)

View File

@ -1,10 +0,0 @@
/**
* Author......: See docs/credits.txt
* License.....: MIT
*/
#include "common.h"
#include "types.h"
#include "event.h"
#include "memory.h"
#include "ext_xnvctrl.h"

File diff suppressed because it is too large Load Diff

View File

@ -516,15 +516,6 @@ static void main_outerloop_mainscreen (MAYBE_UNUSED hashcat_ctx_t *hashcat_ctx,
event_log_info (hashcat_ctx, "Watchdog: Temperature abort trigger disabled.");
}
if (hwmon_ctx->enabled == true && user_options->gpu_temp_retain > 0)
{
event_log_info (hashcat_ctx, "Watchdog: Temperature retain trigger set to %uc", user_options->gpu_temp_retain);
}
else
{
event_log_info (hashcat_ctx, "Watchdog: Temperature retain trigger disabled.");
}
event_log_info (hashcat_ctx, NULL);
}

View File

@ -58,12 +58,9 @@ static int monitor (hashcat_ctx_t *hashcat_ctx)
bool hwmon_check = false;
bool performance_check = false;
const int sleep_time = 1;
const int temp_threshold = 1; // degrees celcius
const int fan_speed_min = 33; // in percentage
const int fan_speed_max = 100;
const double exec_low = 50.0; // in ms
const double util_low = 90.0; // in percent
const int sleep_time = 1;
const double exec_low = 50.0; // in ms
const double util_low = 90.0; // in percent
if (user_options->runtime)
{
@ -100,20 +97,6 @@ static int monitor (hashcat_ctx_t *hashcat_ctx)
return 0;
}
// these variables are mainly used for fan control
int fan_speed_chgd[DEVICES_MAX];
memset (fan_speed_chgd, 0, sizeof (fan_speed_chgd));
// temperature controller "loopback" values
int temp_diff_old[DEVICES_MAX];
int temp_diff_sum[DEVICES_MAX];
memset (temp_diff_old, 0, sizeof (temp_diff_old));
memset (temp_diff_sum, 0, sizeof (temp_diff_sum));
// timer
hc_time_t last_temp_check_time;
@ -127,24 +110,12 @@ static int monitor (hashcat_ctx_t *hashcat_ctx)
u32 remove_left = user_options->remove_timer;
u32 status_left = user_options->status_timer;
u32 devices_status_old = status_ctx->devices_status;
while (status_ctx->shutdown_inner == false)
{
sleep (sleep_time);
if (status_ctx->devices_status == STATUS_INIT) continue;
if ((devices_status_old == STATUS_PAUSED) && (status_ctx->devices_status == STATUS_RUNNING))
{
memset (fan_speed_chgd, 0, sizeof (fan_speed_chgd));
memset (temp_diff_old, 0, sizeof (temp_diff_old));
memset (temp_diff_sum, 0, sizeof (temp_diff_sum));
}
devices_status_old = status_ctx->devices_status;
if (hwmon_check == true)
{
hc_thread_mutex_lock (status_ctx->mux_hwmon);
@ -204,84 +175,6 @@ static int monitor (hashcat_ctx_t *hashcat_ctx)
myabort (hashcat_ctx);
}
if (hwmon_ctx->hm_device[device_id].fanspeed_get_supported == false) continue;
if (hwmon_ctx->hm_device[device_id].fanspeed_set_supported == false) continue;
const u32 gpu_temp_retain = user_options->gpu_temp_retain;
if (gpu_temp_retain > 0)
{
int temp_cur = temperature;
int temp_diff_new = (int) gpu_temp_retain - temp_cur;
temp_diff_sum[device_id] = temp_diff_sum[device_id] + temp_diff_new;
// calculate Ta value (time difference in seconds between the last check and this check)
last_temp_check_time = temp_check_time;
float Kp = 1.6f;
float Ki = 0.001f;
float Kd = 10.0f;
// PID controller (3-term controller: proportional - Kp, integral - Ki, derivative - Kd)
int fan_diff_required = (int) (Kp * (float)temp_diff_new + Ki * Ta * (float)temp_diff_sum[device_id] + Kd * ((float)(temp_diff_new - temp_diff_old[device_id])) / Ta);
if (abs (fan_diff_required) >= temp_threshold)
{
const int fan_speed_cur = hm_get_fanspeed_with_device_id (hashcat_ctx, device_id);
int fan_speed_level = fan_speed_cur;
if (fan_speed_chgd[device_id] == 0) fan_speed_level = temp_cur;
int fan_speed_new = fan_speed_level - fan_diff_required;
if (fan_speed_new > fan_speed_max) fan_speed_new = fan_speed_max;
if (fan_speed_new < fan_speed_min) fan_speed_new = fan_speed_min;
if (fan_speed_new != fan_speed_cur)
{
int freely_change_fan_speed = (fan_speed_chgd[device_id] == 1);
int fan_speed_must_change = (fan_speed_new > fan_speed_cur);
if ((freely_change_fan_speed == 1) || (fan_speed_must_change == 1))
{
if (device_param->device_vendor_id == VENDOR_ID_AMD)
{
if (hwmon_ctx->hm_adl)
{
hm_set_fanspeed_with_device_id_adl (hashcat_ctx, device_id, fan_speed_new, 1);
}
if (hwmon_ctx->hm_sysfs)
{
hm_set_fanspeed_with_device_id_sysfs (hashcat_ctx, device_id, fan_speed_new);
}
}
else if (device_param->device_vendor_id == VENDOR_ID_NV)
{
if (hwmon_ctx->hm_nvapi)
{
hm_set_fanspeed_with_device_id_nvapi (hashcat_ctx, device_id, fan_speed_new, 1);
}
if (hwmon_ctx->hm_xnvctrl)
{
hm_set_fanspeed_with_device_id_xnvctrl (hashcat_ctx, device_id, fan_speed_new);
}
}
fan_speed_chgd[device_id] = 1;
}
temp_diff_old[device_id] = temp_diff_new;
}
}
}
}
hc_thread_mutex_unlock (status_ctx->mux_hwmon);

View File

@ -2631,7 +2631,6 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
bool need_adl = false;
bool need_nvml = false;
bool need_nvapi = false;
bool need_xnvctrl = false;
bool need_sysfs = false;
u32 devices_cnt = 0;
@ -3170,10 +3169,6 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
{
need_nvml = true;
#if defined (__linux__)
need_xnvctrl = true;
#endif
#if defined (_WIN)
need_nvapi = true;
#endif
@ -3457,18 +3452,17 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
}
}
opencl_ctx->target_msec = TARGET_MSEC_PROFILE[user_options->workload_profile - 1];
opencl_ctx->target_msec = TARGET_MSEC_PROFILE[user_options->workload_profile - 1];
opencl_ctx->devices_cnt = devices_cnt;
opencl_ctx->devices_active = devices_active;
opencl_ctx->devices_cnt = devices_cnt;
opencl_ctx->devices_active = devices_active;
opencl_ctx->need_adl = need_adl;
opencl_ctx->need_nvml = need_nvml;
opencl_ctx->need_nvapi = need_nvapi;
opencl_ctx->need_xnvctrl = need_xnvctrl;
opencl_ctx->need_sysfs = need_sysfs;
opencl_ctx->need_adl = need_adl;
opencl_ctx->need_nvml = need_nvml;
opencl_ctx->need_nvapi = need_nvapi;
opencl_ctx->need_sysfs = need_sysfs;
opencl_ctx->comptime = comptime;
opencl_ctx->comptime = comptime;
return 0;
}
@ -3501,11 +3495,10 @@ void opencl_ctx_devices_destroy (hashcat_ctx_t *hashcat_ctx)
opencl_ctx->devices_cnt = 0;
opencl_ctx->devices_active = 0;
opencl_ctx->need_adl = false;
opencl_ctx->need_nvml = false;
opencl_ctx->need_nvapi = false;
opencl_ctx->need_xnvctrl = false;
opencl_ctx->need_sysfs = false;
opencl_ctx->need_adl = false;
opencl_ctx->need_nvml = false;
opencl_ctx->need_nvapi = false;
opencl_ctx->need_sysfs = false;
}
void opencl_ctx_devices_update_power (hashcat_ctx_t *hashcat_ctx)

View File

@ -96,8 +96,6 @@ static const char *const USAGE_BIG[] =
" --nvidia-spin-damp | Num | Workaround NVIDIAs CPU burning loop bug, in percent | --nvidia-spin-damp=50",
" --gpu-temp-disable | | Disable temperature and fanspeed reads and triggers |",
" --gpu-temp-abort | Num | Abort if GPU temperature reaches X degrees Celsius | --gpu-temp-abort=100",
" --gpu-temp-retain | Num | Try to retain GPU temperature at X degrees Celsius | --gpu-temp-retain=95",
" --powertune-enable | | Enable power tuning. Restores settings when finished |",
" --scrypt-tmto | Num | Manually override TMTO value for scrypt to X | --scrypt-tmto=3",
" -s, --skip | Num | Skip X words from the start | -s 1000000",
" -l, --limit | Num | Limit X words from the start + skipped words | -l 1000000",

View File

@ -40,7 +40,6 @@ static const struct option long_options[] =
{"generate-rules-seed", required_argument, 0, IDX_RP_GEN_SEED},
{"gpu-temp-abort", required_argument, 0, IDX_GPU_TEMP_ABORT},
{"gpu-temp-disable", no_argument, 0, IDX_GPU_TEMP_DISABLE},
{"gpu-temp-retain", required_argument, 0, IDX_GPU_TEMP_RETAIN},
{"hash-type", required_argument, 0, IDX_HASH_MODE},
{"hccapx-message-pair", required_argument, 0, IDX_HCCAPX_MESSAGE_PAIR},
{"help", no_argument, 0, IDX_HELP},
@ -80,7 +79,6 @@ static const struct option long_options[] =
{"wordlist-autohex-disable", no_argument, 0, IDX_WORDLIST_AUTOHEX_DISABLE},
{"potfile-disable", no_argument, 0, IDX_POTFILE_DISABLE},
{"potfile-path", required_argument, 0, IDX_POTFILE_PATH},
{"powertune-enable", no_argument, 0, IDX_POWERTUNE_ENABLE},
{"quiet", no_argument, 0, IDX_QUIET},
{"remove", no_argument, 0, IDX_REMOVE},
{"remove-timer", required_argument, 0, IDX_REMOVE_TIMER},
@ -145,7 +143,6 @@ int user_options_init (hashcat_ctx_t *hashcat_ctx)
user_options->force = FORCE;
user_options->gpu_temp_abort = GPU_TEMP_ABORT;
user_options->gpu_temp_disable = GPU_TEMP_DISABLE;
user_options->gpu_temp_retain = GPU_TEMP_RETAIN;
user_options->hash_mode = HASH_MODE;
user_options->hccapx_message_pair = HCCAPX_MESSAGE_PAIR;
user_options->hex_charset = HEX_CHARSET;
@ -184,7 +181,6 @@ int user_options_init (hashcat_ctx_t *hashcat_ctx)
user_options->outfile = NULL;
user_options->potfile_disable = POTFILE_DISABLE;
user_options->potfile_path = NULL;
user_options->powertune_enable = POWERTUNE_ENABLE;
user_options->quiet = QUIET;
user_options->remove = REMOVE;
user_options->remove_timer = REMOVE_TIMER;
@ -275,7 +271,6 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
case IDX_KERNEL_LOOPS:
case IDX_NVIDIA_SPIN_DAMP:
case IDX_GPU_TEMP_ABORT:
case IDX_GPU_TEMP_RETAIN:
case IDX_HCCAPX_MESSAGE_PAIR:
case IDX_NONCE_ERROR_CORRECTIONS:
case IDX_VERACRYPT_PIM:
@ -395,8 +390,6 @@ int user_options_getopt (hashcat_ctx_t *hashcat_ctx, int argc, char **argv)
user_options->nvidia_spin_damp_chgd = true; break;
case IDX_GPU_TEMP_DISABLE: user_options->gpu_temp_disable = true; break;
case IDX_GPU_TEMP_ABORT: user_options->gpu_temp_abort = strtoul (optarg, NULL, 10); break;
case IDX_GPU_TEMP_RETAIN: user_options->gpu_temp_retain = strtoul (optarg, NULL, 10); break;
case IDX_POWERTUNE_ENABLE: user_options->powertune_enable = true; break;
case IDX_LOGFILE_DISABLE: user_options->logfile_disable = true; break;
case IDX_HCCAPX_MESSAGE_PAIR: user_options->hccapx_message_pair = strtoul (optarg, NULL, 10);
user_options->hccapx_message_pair_chgd = true; break;
@ -844,16 +837,6 @@ int user_options_sanity (hashcat_ctx_t *hashcat_ctx)
return -1;
}
if ((user_options->gpu_temp_abort != 0) && (user_options->gpu_temp_retain != 0))
{
if (user_options->gpu_temp_abort < user_options->gpu_temp_retain)
{
event_log_error (hashcat_ctx, "Value for --gpu-temp-abort must not be less than --gpu-temp-retain value.");
return -1;
}
}
if (user_options->benchmark == true)
{
if (user_options->attack_mode_chgd == true)
@ -1225,10 +1208,8 @@ void user_options_preprocess (hashcat_ctx_t *hashcat_ctx)
user_options_t *user_options = hashcat_ctx->user_options;
#if !defined (WITH_HWMON)
user_options->powertune_enable = false;
user_options->gpu_temp_disable = true;
user_options->gpu_temp_abort = 0;
user_options->gpu_temp_retain = 0;
#endif // WITH_HWMON
// some options can influence or overwrite other options
@ -1246,7 +1227,6 @@ void user_options_preprocess (hashcat_ctx_t *hashcat_ctx)
user_options->nvidia_spin_damp = 0;
user_options->outfile_check_timer = 0;
user_options->potfile_disable = true;
user_options->powertune_enable = false;
user_options->restore_disable = true;
user_options->restore = false;
user_options->restore_timer = 0;
@ -1259,13 +1239,11 @@ void user_options_preprocess (hashcat_ctx_t *hashcat_ctx)
{
user_options->attack_mode = ATTACK_MODE_BF;
user_options->gpu_temp_disable = false;
user_options->gpu_temp_retain = 0;
user_options->increment = false;
user_options->left = false;
user_options->logfile_disable = true;
user_options->nvidia_spin_damp = 0;
user_options->potfile_disable = true;
user_options->powertune_enable = true;
user_options->progress_only = false;
user_options->restore_disable = true;
user_options->restore = false;
@ -1391,7 +1369,6 @@ void user_options_preprocess (hashcat_ctx_t *hashcat_ctx)
if (user_options->gpu_temp_disable == true)
{
user_options->gpu_temp_abort = 0;
user_options->gpu_temp_retain = 0;
}
// default mask
@ -2244,7 +2221,6 @@ void user_options_logger (hashcat_ctx_t *hashcat_ctx)
logfile_top_uint (user_options->force);
logfile_top_uint (user_options->gpu_temp_abort);
logfile_top_uint (user_options->gpu_temp_disable);
logfile_top_uint (user_options->gpu_temp_retain);
logfile_top_uint (user_options->hash_mode);
logfile_top_uint (user_options->hex_charset);
logfile_top_uint (user_options->hex_salt);
@ -2272,7 +2248,6 @@ void user_options_logger (hashcat_ctx_t *hashcat_ctx)
logfile_top_uint (user_options->outfile_format);
logfile_top_uint (user_options->wordlist_autohex_disable);
logfile_top_uint (user_options->potfile_disable);
logfile_top_uint (user_options->powertune_enable);
logfile_top_uint (user_options->progress_only);
logfile_top_uint (user_options->quiet);
logfile_top_uint (user_options->remove);