Fix m 60 a 0 by making modified variable non-const
[hashcat.git] / docs / changes.txt
index e69b45f..1cfe511 100644 (file)
@@ -1,17 +1,52 @@
+* changes v3.00 -> v3.xx:
+
+##
+## Improvements
+##
+
+- Make Linux build POSIX compatible; Also allow it to actually compile on musl-libc systems
+- Add support to compile on FreeBSD
+- Make use of cl_context_properties[] to clCreateContext(), even if OpenCL specification allow the use of NULL, some runtimes fail without
+- The Time.Estimated attribute in status display should also show --runtime limit if user set it
+- Fix some strict aliasing rule violation on older compilers
+- Fix some variable initializers on older compilers
+- Replace DARWIN macro with compiler predefined macro __APPLE__
+- Replace LINUX macro with compiler predefined macro __linux__
+- Allow the use of enc_id == 0 in hash-mode 10600 and 10700 as it takes no part in the actual computation
+- Get rid of exit() calls in OpenCL wrapper library with the goal to have a better control which error can be ignored under special circumstances
+- Do not error and exit if an OpenCL platform has no devices, just print a warning and continue with the next platform
+- Workaround for OpenCL runtimes which do not accept -I parameter in the OpenCL kernel build options even if this is an OpenCL standard option
+- Workaround for OpenCL runtimes which do accept -I parameter in the OpenCL kernel build options, but do not allow quotes
+- Output cracked hashes on Windows using \r\n and not \n
+- Replace RegGetValue() with RegQueryValueEx() to enable Windows XP 32 bit compatibility
+- Slightly increased NVidias rule-processing performance by using generic instructions instead of byte_perm()
+- Add support for @ rule (RULE_OP_MANGLE_PURGECHAR) to use on GPU
+
+##
+## Bugs
+##
+
+- Fixed a bug where hashcat is suppressing --machine-readable output in the final status update
+- Fixed a bug where hashcat did not check the return of realpath() and crashes uncontrolled if the path does not exist
+- Fixed a bug where hashcat crashes for accessing deallocated buffer if user spams "s" shortly before hashcat shuts down
+- Fixed a bug where hashcat crashes in case of a scrypt P setting > 1
+- Fixed a bug where hashcat did not correctly use the newly cracked plains whenever --loopback or the induction folder was used
+- Fixed a bug where hashcat did not correctly remove hashes of type WPA/WPA2 even if present in potfile
+- Fixed a bug where hashcat reported an invalid password for a zero-length password in LM
+- Fixed a bug where hashcat did not take into account how long it takes to prepare a session when auto-aborting with --runtime is in use
+
 * changes v2.01 -> v3.00:
 
 This release markes the fusion of "hashcat" and "oclHashcat" into "hashcat".
 It combines all features of all hashcat projects in one project.
 
-** NOTE to beta users: that's what's planed for release **
-
 ##
 ## Features
 ##
 
 - Support for Apple OpenCL runtime
 - Support for NVidia OpenCL runtime (replaces CUDA)
-- Support for Mesa/Clover OpenCL runtime
+- Support for Mesa (Gallium) OpenCL runtime
 - Support for pocl OpenCL runtime
 - Support for Khronos' OSS OpenCL reference implementation for building
 - Support to utilize OpenCL devices-types other than GPU, ex: CPU and FPGA
@@ -23,10 +58,17 @@ It combines all features of all hashcat projects in one project.
 - Added makefile native compilation target
 - Added makefile install and uninstall targets
 - Added autotuning engine and user-configurable tuning database
+- Added current engine clock, current memory clock and pci-e lanes to the status display
+- Added support for --gpu-temp-retain for NVidia GPU, both Linux and Windows
 - Added execution timer of the running kernel to the status display
 - Added command prompt to quit at next restore checkpoint
 - Added human-readable error message for the OpenCL error codes
 - Added option --potfile-path to override potfile path
+- Added option --veracrypt-keyfile to set Keyfiles used, can be multiple
+- Added option --veracrypt-pim to set the VeraCrypt personal iterations multiplier
+- Added option --machine-readable for easier parsing of output
+- Added option --powertune-enable to work with NVidia devices as well, not just AMD
+- Added option --stdout to print candidates instead of trying to crack a hash
 
 ##
 ## Algorithms
@@ -40,6 +82,9 @@ It combines all features of all hashcat projects in one project.
 - Added new hash-mode 13300 = AxCrypt in memory SHA1
 - Added new hash-mode 13400 = Keepass 1 (AES/Twofish) and Keepass 2 (AES)
 - Added new hash-mode 13500 = PeopleSoft PS_TOKEN
+- Added new hash-mode 13600 = WinZip
+- Added new hash-mode 137** = VeraCrypt
+- Added new hash-mode 13800 = Windows 8+ phone PIN/Password
 
 ##
 ## Performance
@@ -58,10 +103,15 @@ It combines all features of all hashcat projects in one project.
 - Benchmark accuracy improved; Is now on par to: singlehash -a 3 -w 3 ?b?b?b?b?b?b?b
 - Benchmark no longer depends on a fixed time
 - Removed option --benchmark-mode, therefore support --workload-profile in benchmark-mode
+- Enabled support of --machine-readable in combination with --benchmark for automated benchmark processing
+- Replaced --status-automat entirely with --machine-readable to make it more consistent among benchmark and non-benchmark mode
 - Extended support from 14 to 255 functions calls per rule
+- Extended password length up to 32 for 7zip
+- Extended salt length up to 55 for raw hash types, eg: md5($pass.$salt)
 - Extended version information
 - Removed some duplicate rules in T0XlCv1, d3ad0ne and dive
 - Redesigned changes.txt layout
+- Redesigned --help menu layout
 
 ##
 ## Bugs
@@ -119,3 +169,5 @@ It combines all features of all hashcat projects in one project.
 - Created environment variable to inform NVidia OpenCL runtime to not create its own kernel cache
 - Created environment variable to inform pocl OpenCL runtime to not create its own kernel cache
 - Dropped special 64-bit rotate() handling for NV, it seems that they've added it to their OpenCL runtime
+- Completely get rid of HAVE_ADL, HAVE_NVML and HAVE_NVAPI in sources
+- Replaced NVAPI with NVML on windows