Add a new rule op, "add byte value" #4562
Merged
+84
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a new rule operation,
A, which works similarly to+, but instead of incrementing a byte by 1, it adds a specific value from 0 to 0xff.A0!adds 33 to the first byte using wrapping arithmetic.A0\x01is the same as+0;A0\xffis the same as-0.Rationale: some high-performing rules contain long sequences of
+or-operations incrementing or decrementing the same byte repeatedly.Below is a comparison between
A,+, and-, annotated with their total hit counts. The test used AptoidePt1 as the hash list andSkullSecurityComp.txtas the wordlist.Click here
In John the Ripper,
Ahas a different function: it inserts a string.Hashcat doesn't work with strings, so we can safely use the name.