This commit is contained in:
Matt C 2016-12-06 17:02:39 +00:00 committed by GitHub
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

View file

@ -77,6 +77,7 @@ var Categories = [
"RC4",
"RC4 Drop",
"ROT13",
"ROT47",
"XOR",
"XOR Brute Force",
"Derive PBKDF2 key",

View file

@ -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,

View file

@ -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.
*

View file

@ -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