mirror of
https://github.com/gchq/CyberChef.git
synced 2025-06-14 10:14:53 -04:00
Merge 44919b8c17
into e4d30861d5
This commit is contained in:
commit
b80047a6b3
7 changed files with 110 additions and 9 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -77,6 +77,7 @@ var Categories = [
|
|||
"RC4",
|
||||
"RC4 Drop",
|
||||
"ROT13",
|
||||
"ROT47",
|
||||
"XOR",
|
||||
"XOR Brute Force",
|
||||
"Derive PBKDF2 key",
|
||||
|
|
|
@ -1390,6 +1390,21 @@ var OperationConfig = {
|
|||
},
|
||||
]
|
||||
},
|
||||
"ROT47": {
|
||||
description: "A slightly more complex variation of a caesar cipher, which includes ASCII characters too. (default 47)",
|
||||
run: Rotate.run_rot47,
|
||||
highlight: true,
|
||||
highlight_reverse: true,
|
||||
input_type: "byte_array",
|
||||
output_type: "byte_array",
|
||||
args: [
|
||||
{
|
||||
name: "Amount",
|
||||
type: "number",
|
||||
value: Rotate.ROT47_AMOUNT
|
||||
},
|
||||
]
|
||||
},
|
||||
"Strip HTTP headers": {
|
||||
description: "Removes HTTP headers from a request or response by looking for the first instance of a double newline.",
|
||||
run: HTTP.run_strip_headers,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* Bit rotation operations.
|
||||
*
|
||||
* @author n1474335 [n1474335@gmail.com]
|
||||
* @author n1474335 [n1474335@gmail.com] & Matt C [matt@artemisbot.pw]
|
||||
* @copyright Crown Copyright 2016
|
||||
* @license Apache-2.0
|
||||
*
|
||||
|
@ -91,7 +91,7 @@ var Rotate = {
|
|||
* @default
|
||||
*/
|
||||
ROT13_UPPERCASE: true,
|
||||
|
||||
|
||||
/**
|
||||
* ROT13 operation.
|
||||
*
|
||||
|
@ -124,8 +124,43 @@ var Rotate = {
|
|||
}
|
||||
return output;
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constant
|
||||
* @default
|
||||
*/
|
||||
ROT47_AMOUNT: 47,
|
||||
|
||||
/**
|
||||
* ROT47 operation.
|
||||
*
|
||||
* @param {byte_array} input
|
||||
* @param {Object[]} args
|
||||
* @returns {byte_array}
|
||||
*/
|
||||
run_rot47: function(input, args) {
|
||||
var amount = args[0],
|
||||
output = input,
|
||||
chr;
|
||||
|
||||
if (amount) {
|
||||
if (amount < 0) {
|
||||
amount = 94 - (Math.abs(amount) % 94);
|
||||
}
|
||||
|
||||
for (var i = 0; i < input.length; i++) {
|
||||
chr = input[i];
|
||||
if (chr >= 33 && chr <= 126) {
|
||||
chr = (chr - 33 + amount) % 94;
|
||||
output[i] = chr + 33;
|
||||
}
|
||||
}
|
||||
}
|
||||
return output;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Rotate right bitwise op.
|
||||
*
|
||||
|
|
|
@ -1,21 +1,35 @@
|
|||
203 source files
|
||||
<<<<<<< HEAD
|
||||
104269 lines
|
||||
size
|
||||
|
||||
136 JavaScript source files
|
||||
95179 lines
|
||||
3.5M size
|
||||
=======
|
||||
104221 lines
|
||||
4.0M size
|
||||
|
||||
136 JavaScript source files
|
||||
95131 lines
|
||||
3.4M size
|
||||
>>>>>>> master
|
||||
|
||||
78 third party JavaScript source files
|
||||
76377 lines
|
||||
2.7M size
|
||||
2.8M size
|
||||
|
||||
58 first party JavaScript source files
|
||||
<<<<<<< HEAD
|
||||
18802 lines
|
||||
736K size
|
||||
=======
|
||||
18754 lines
|
||||
724K size
|
||||
>>>>>>> master
|
||||
|
||||
3.1M uncompressed JavaScript size
|
||||
1.7M compressed JavaScript size
|
||||
|
||||
15 categories
|
||||
152 operations
|
||||
153 operations
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue