cyberchef 10.22.1 → 10.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -0
- package/CONTRIBUTING.md +37 -0
- package/Dockerfile +2 -0
- package/Gruntfile.js +0 -12
- package/README.md +1 -1
- package/babel.config.js +0 -6
- package/package.json +63 -62
- package/src/core/Chef.mjs +8 -1
- package/src/core/Ingredient.mjs +5 -2
- package/src/core/Operation.mjs +6 -1
- package/src/core/Recipe.mjs +10 -5
- package/src/core/config/Categories.json +18 -3
- package/src/core/config/OperationConfig.json +496 -23
- package/src/core/config/modules/Ciphers.mjs +6 -0
- package/src/core/config/modules/Crypto.mjs +6 -0
- package/src/core/config/modules/Default.mjs +6 -0
- package/src/core/config/modules/Shellcode.mjs +2 -0
- package/src/core/lib/AudioBytes.mjs +103 -0
- package/src/core/lib/AudioMetaSchema.mjs +82 -0
- package/src/core/lib/AudioParsers.mjs +630 -0
- package/src/core/lib/BigIntUtils.mjs +73 -0
- package/src/core/lib/Modhex.mjs +2 -0
- package/src/core/lib/QRCode.mjs +30 -10
- package/src/core/lib/RC6.mjs +625 -0
- package/src/core/operations/A1Z26CipherDecode.mjs +1 -1
- package/src/core/operations/AddTextToImage.mjs +116 -64
- package/src/core/operations/BlurImage.mjs +10 -12
- package/src/core/operations/ContainImage.mjs +50 -40
- package/src/core/operations/ConvertImageFormat.mjs +33 -39
- package/src/core/operations/CoverImage.mjs +39 -37
- package/src/core/operations/CropImage.mjs +35 -21
- package/src/core/operations/DisassembleARM.mjs +193 -0
- package/src/core/operations/DitherImage.mjs +8 -8
- package/src/core/operations/EscapeUnicodeCharacters.mjs +0 -17
- package/src/core/operations/ExtractAudioMetadata.mjs +175 -0
- package/src/core/operations/ExtractLSB.mjs +17 -11
- package/src/core/operations/ExtractRGBA.mjs +12 -10
- package/src/core/operations/FlaskSessionDecode.mjs +80 -0
- package/src/core/operations/FlaskSessionSign.mjs +89 -0
- package/src/core/operations/FlaskSessionVerify.mjs +136 -0
- package/src/core/operations/FlipImage.mjs +14 -10
- package/src/core/operations/GenerateImage.mjs +39 -32
- package/src/core/operations/ImageBrightnessContrast.mjs +10 -10
- package/src/core/operations/ImageFilter.mjs +14 -13
- package/src/core/operations/ImageHueSaturationLightness.mjs +22 -20
- package/src/core/operations/ImageOpacity.mjs +6 -8
- package/src/core/operations/InvertImage.mjs +4 -6
- package/src/core/operations/Jq.mjs +12 -4
- package/src/core/operations/NormaliseImage.mjs +5 -7
- package/src/core/operations/OffsetChecker.mjs +1 -1
- package/src/core/operations/ParseEthernetFrame.mjs +112 -0
- package/src/core/operations/ParseIPv4Header.mjs +23 -6
- package/src/core/operations/ParseQRCode.mjs +13 -13
- package/src/core/operations/PseudoRandomIntegerGenerator.mjs +164 -0
- package/src/core/operations/RC6Decrypt.mjs +119 -0
- package/src/core/operations/RC6Encrypt.mjs +119 -0
- package/src/core/operations/RandomizeColourPalette.mjs +11 -11
- package/src/core/operations/ResizeImage.mjs +30 -23
- package/src/core/operations/RotateImage.mjs +8 -9
- package/src/core/operations/SQLBeautify.mjs +21 -3
- package/src/core/operations/SharpenImage.mjs +94 -62
- package/src/core/operations/SplitColourChannels.mjs +47 -21
- package/src/core/operations/TextIntegerConverter.mjs +123 -0
- package/src/core/operations/UnescapeUnicodeCharacters.mjs +17 -0
- package/src/core/operations/ViewBitPlane.mjs +16 -20
- package/src/core/operations/index.mjs +20 -0
- package/src/node/index.mjs +50 -0
- package/src/web/HTMLIngredient.mjs +24 -43
- package/src/web/Manager.mjs +1 -0
- package/src/web/html/index.html +6 -6
- package/src/web/static/fonts/bmfonts/Roboto72White.fnt +491 -485
- package/src/web/static/fonts/bmfonts/RobotoBlack72White.fnt +494 -488
- package/src/web/static/fonts/bmfonts/RobotoMono72White.fnt +110 -103
- package/src/web/static/fonts/bmfonts/RobotoSlab72White.fnt +498 -492
- package/src/web/stylesheets/layout/_banner.css +30 -0
- package/src/web/stylesheets/layout/_modals.css +5 -0
- package/src/web/stylesheets/utils/_overrides.css +7 -0
- package/src/web/waiters/ControlsWaiter.mjs +82 -0
- package/src/web/waiters/InputWaiter.mjs +12 -6
- package/src/web/waiters/RecipeWaiter.mjs +2 -2
- package/tests/browser/02_ops.js +23 -3
- package/tests/node/index.mjs +1 -0
- package/tests/node/tests/lib/BigIntUtils.mjs +150 -0
- package/tests/node/tests/operations.mjs +9 -7
- package/tests/operations/index.mjs +8 -0
- package/tests/operations/tests/A1Z26CipherDecode.mjs +33 -0
- package/tests/operations/tests/DisassembleARM.mjs +377 -0
- package/tests/operations/tests/ExtractAudioMetadata.mjs +287 -0
- package/tests/operations/tests/FlaskSession.mjs +246 -0
- package/tests/operations/tests/GenerateQRCode.mjs +67 -0
- package/tests/operations/tests/JWTSign.mjs +83 -8
- package/tests/operations/tests/Jq.mjs +32 -0
- package/tests/operations/tests/Modhex.mjs +20 -0
- package/tests/operations/tests/ParseEthernetFrame.mjs +45 -0
- package/tests/operations/tests/RC6.mjs +487 -0
- package/tests/operations/tests/SQLBeautify.mjs +54 -0
- package/tests/operations/tests/TextIntegerConverter.mjs +199 -0
- package/tests/samples/Audio.mjs +73 -0
- package/tests/samples/Images.mjs +0 -12
- package/webpack.config.js +10 -7
- package/src/core/lib/ImageManipulation.mjs +0 -251
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author p-leriche [philip.leriche@cantab.net]
|
|
3
|
+
* @copyright Crown Copyright 2025
|
|
4
|
+
* @license Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import Operation from "../Operation.mjs";
|
|
8
|
+
import OperationError from "../errors/OperationError.mjs";
|
|
9
|
+
|
|
10
|
+
/* ---------- helper functions ---------- */
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Convert text to BigInt (big-endian byte interpretation)
|
|
14
|
+
*/
|
|
15
|
+
function textToBigInt(text) {
|
|
16
|
+
if (text.length === 0) return 0n;
|
|
17
|
+
|
|
18
|
+
let result = 0n;
|
|
19
|
+
for (let i = 0; i < text.length; i++) {
|
|
20
|
+
const charCode = BigInt(text.charCodeAt(i));
|
|
21
|
+
if (charCode > 255n) {
|
|
22
|
+
throw new OperationError(
|
|
23
|
+
`Character at position ${i} exceeds Latin-1 range (0-255).\n` +
|
|
24
|
+
"Only ASCII and Latin-1 characters are supported.");
|
|
25
|
+
}
|
|
26
|
+
result = (result << 8n) | charCode;
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Convert BigInt to text (big-endian byte interpretation)
|
|
33
|
+
*/
|
|
34
|
+
function bigIntToText(value) {
|
|
35
|
+
if (value === 0n) return "";
|
|
36
|
+
|
|
37
|
+
const bytes = [];
|
|
38
|
+
let num = value;
|
|
39
|
+
|
|
40
|
+
while (num > 0n) {
|
|
41
|
+
bytes.unshift(Number(num & 0xFFn));
|
|
42
|
+
num >>= 8n;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return String.fromCharCode(...bytes);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* ---------- operation class ---------- */
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Text/Integer Converter operation
|
|
52
|
+
*/
|
|
53
|
+
class TextIntegerConverter extends Operation {
|
|
54
|
+
/**
|
|
55
|
+
* TextIntegerConverter constructor
|
|
56
|
+
*/
|
|
57
|
+
constructor() {
|
|
58
|
+
super();
|
|
59
|
+
|
|
60
|
+
this.description =
|
|
61
|
+
"Converts between text strings and large integers (decimal or hexadecimal).<br><br>" +
|
|
62
|
+
"Text is interpreted as a big-endian sequence of character codes. For example:<br>" +
|
|
63
|
+
"ABC is 0x414243 (hex) is 4276803 (decimal)<br>" +
|
|
64
|
+
"<b>Input format detection:</b><br>" +
|
|
65
|
+
"Decimal: digits 0-9 only<br>" +
|
|
66
|
+
"Hexadecimal: 0x... prefix<br>" +
|
|
67
|
+
"Quoted or unquoted text: treated as string<br><br>" +
|
|
68
|
+
"<b>Character limitations:</b><br>" +
|
|
69
|
+
"Text input may only contain ASCII and Latin-1 characters (code point < 256).<br>" +
|
|
70
|
+
"Multi-byte Unicode characters will generate an error.<br><br>." ;
|
|
71
|
+
this.infoURL = "https://wikipedia.org/wiki/Endianness";
|
|
72
|
+
this.inputType = "string";
|
|
73
|
+
this.outputType = "string";
|
|
74
|
+
this.args = [
|
|
75
|
+
{
|
|
76
|
+
name: "Output format",
|
|
77
|
+
type: "option",
|
|
78
|
+
value: ["String", "Decimal", "Hexadecimal"]
|
|
79
|
+
}
|
|
80
|
+
];
|
|
81
|
+
this.name = "Text-Integer Conversion";
|
|
82
|
+
this.module = "Default";
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* @param {string} input
|
|
87
|
+
* @param {Object[]} args
|
|
88
|
+
* @returns {string}
|
|
89
|
+
*/
|
|
90
|
+
run(input, args) {
|
|
91
|
+
const outputFormat = args[0];
|
|
92
|
+
const trimmed = input.trim();
|
|
93
|
+
|
|
94
|
+
let bigIntValue;
|
|
95
|
+
|
|
96
|
+
if (!trimmed) {
|
|
97
|
+
// Null input - treat as zero
|
|
98
|
+
bigIntValue = 0;
|
|
99
|
+
} else if (/^0x[0-9a-f]+$/i.test(trimmed) ||
|
|
100
|
+
/^[+-]?[0-9]+$/.test(trimmed)) {
|
|
101
|
+
// Hex or decimal integer
|
|
102
|
+
bigIntValue = BigInt(trimmed);
|
|
103
|
+
} else if (/^["'].*["']$/.test(trimmed)) {
|
|
104
|
+
// Quoted string: Remove quotes and convert text to BigInt
|
|
105
|
+
const text = trimmed.slice(1, -1);
|
|
106
|
+
bigIntValue = textToBigInt(text);
|
|
107
|
+
} else {
|
|
108
|
+
// Assume it's unquoted text
|
|
109
|
+
bigIntValue = textToBigInt(trimmed);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Convert to output format
|
|
113
|
+
if (outputFormat === "String") {
|
|
114
|
+
return bigIntToText(bigIntValue);
|
|
115
|
+
} else if (outputFormat === "Decimal") {
|
|
116
|
+
return bigIntValue.toString();
|
|
117
|
+
} else { // Hexadecimal
|
|
118
|
+
return "0x" + bigIntValue.toString(16);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export default TextIntegerConverter;
|
|
@@ -30,6 +30,23 @@ class UnescapeUnicodeCharacters extends Operation {
|
|
|
30
30
|
"value": ["\\u", "%u", "U+"]
|
|
31
31
|
}
|
|
32
32
|
];
|
|
33
|
+
this.checks = [
|
|
34
|
+
{
|
|
35
|
+
pattern: "\\\\u(?:[\\da-f]{4,6})",
|
|
36
|
+
flags: "i",
|
|
37
|
+
args: ["\\u"]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
pattern: "%u(?:[\\da-f]{4,6})",
|
|
41
|
+
flags: "i",
|
|
42
|
+
args: ["%u"]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
pattern: "U\\+(?:[\\da-f]{4,6})",
|
|
46
|
+
flags: "i",
|
|
47
|
+
args: ["U+"]
|
|
48
|
+
}
|
|
49
|
+
];
|
|
33
50
|
}
|
|
34
51
|
|
|
35
52
|
/**
|
|
@@ -9,13 +9,12 @@ import OperationError from "../errors/OperationError.mjs";
|
|
|
9
9
|
import Utils from "../Utils.mjs";
|
|
10
10
|
import { isImage } from "../lib/FileType.mjs";
|
|
11
11
|
import { toBase64 } from "../lib/Base64.mjs";
|
|
12
|
-
import Jimp from "jimp
|
|
12
|
+
import { Jimp } from "jimp";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* View Bit Plane operation
|
|
16
16
|
*/
|
|
17
17
|
class ViewBitPlane extends Operation {
|
|
18
|
-
|
|
19
18
|
/**
|
|
20
19
|
* ViewBitPlane constructor
|
|
21
20
|
*/
|
|
@@ -24,7 +23,8 @@ class ViewBitPlane extends Operation {
|
|
|
24
23
|
|
|
25
24
|
this.name = "View Bit Plane";
|
|
26
25
|
this.module = "Image";
|
|
27
|
-
this.description =
|
|
26
|
+
this.description =
|
|
27
|
+
"Extracts and displays a bit plane of any given image. These show only a single bit from each pixel, and can be used to hide messages in Steganography.";
|
|
28
28
|
this.infoURL = "https://wikipedia.org/wiki/Bit_plane";
|
|
29
29
|
this.inputType = "ArrayBuffer";
|
|
30
30
|
this.outputType = "ArrayBuffer";
|
|
@@ -33,13 +33,13 @@ class ViewBitPlane extends Operation {
|
|
|
33
33
|
{
|
|
34
34
|
name: "Colour",
|
|
35
35
|
type: "option",
|
|
36
|
-
value: COLOUR_OPTIONS
|
|
36
|
+
value: COLOUR_OPTIONS,
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
name: "Bit",
|
|
40
40
|
type: "number",
|
|
41
|
-
value: 0
|
|
42
|
-
}
|
|
41
|
+
value: 0,
|
|
42
|
+
},
|
|
43
43
|
];
|
|
44
44
|
}
|
|
45
45
|
|
|
@@ -49,36 +49,38 @@ class ViewBitPlane extends Operation {
|
|
|
49
49
|
* @returns {ArrayBuffer}
|
|
50
50
|
*/
|
|
51
51
|
async run(input, args) {
|
|
52
|
-
if (!isImage(input))
|
|
52
|
+
if (!isImage(input))
|
|
53
|
+
throw new OperationError("Please enter a valid image file.");
|
|
53
54
|
|
|
54
55
|
const [colour, bit] = args,
|
|
55
56
|
parsedImage = await Jimp.read(input),
|
|
56
57
|
width = parsedImage.bitmap.width,
|
|
57
58
|
height = parsedImage.bitmap.height,
|
|
58
59
|
colourIndex = COLOUR_OPTIONS.indexOf(colour),
|
|
59
|
-
bitIndex = 7-bit;
|
|
60
|
+
bitIndex = 7 - bit;
|
|
60
61
|
|
|
61
62
|
if (bit < 0 || bit > 7) {
|
|
62
|
-
throw new OperationError(
|
|
63
|
+
throw new OperationError(
|
|
64
|
+
"Error: Bit argument must be between 0 and 7",
|
|
65
|
+
);
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
let pixel, bin, newPixelValue;
|
|
66
69
|
|
|
67
|
-
parsedImage.scan(0, 0, width, height, function(x, y, idx) {
|
|
70
|
+
parsedImage.scan(0, 0, width, height, function (x, y, idx) {
|
|
68
71
|
pixel = this.bitmap.data[idx + colourIndex];
|
|
69
72
|
bin = Utils.bin(pixel);
|
|
70
73
|
newPixelValue = 255;
|
|
71
74
|
|
|
72
75
|
if (bin.charAt(bitIndex) === "1") newPixelValue = 0;
|
|
73
76
|
|
|
74
|
-
for (let i=0; i < 3; i++) {
|
|
77
|
+
for (let i = 0; i < 3; i++) {
|
|
75
78
|
this.bitmap.data[idx + i] = newPixelValue;
|
|
76
79
|
}
|
|
77
80
|
this.bitmap.data[idx + 3] = 255;
|
|
78
|
-
|
|
79
81
|
});
|
|
80
82
|
|
|
81
|
-
const imageBuffer = await parsedImage.
|
|
83
|
+
const imageBuffer = await parsedImage.getBuffer(parsedImage.mime);
|
|
82
84
|
|
|
83
85
|
return new Uint8Array(imageBuffer).buffer;
|
|
84
86
|
}
|
|
@@ -94,14 +96,8 @@ class ViewBitPlane extends Operation {
|
|
|
94
96
|
|
|
95
97
|
return `<img src="data:${type};base64,${toBase64(data)}">`;
|
|
96
98
|
}
|
|
97
|
-
|
|
98
99
|
}
|
|
99
100
|
|
|
100
|
-
const COLOUR_OPTIONS = [
|
|
101
|
-
"Red",
|
|
102
|
-
"Green",
|
|
103
|
-
"Blue",
|
|
104
|
-
"Alpha"
|
|
105
|
-
];
|
|
101
|
+
const COLOUR_OPTIONS = ["Red", "Green", "Blue", "Alpha"];
|
|
106
102
|
|
|
107
103
|
export default ViewBitPlane;
|
|
@@ -100,6 +100,7 @@ import DeriveHKDFKey from "./DeriveHKDFKey.mjs";
|
|
|
100
100
|
import DerivePBKDF2Key from "./DerivePBKDF2Key.mjs";
|
|
101
101
|
import DetectFileType from "./DetectFileType.mjs";
|
|
102
102
|
import Diff from "./Diff.mjs";
|
|
103
|
+
import DisassembleARM from "./DisassembleARM.mjs";
|
|
103
104
|
import DisassembleX86 from "./DisassembleX86.mjs";
|
|
104
105
|
import DitherImage from "./DitherImage.mjs";
|
|
105
106
|
import Divide from "./Divide.mjs";
|
|
@@ -116,6 +117,7 @@ import Entropy from "./Entropy.mjs";
|
|
|
116
117
|
import EscapeString from "./EscapeString.mjs";
|
|
117
118
|
import EscapeUnicodeCharacters from "./EscapeUnicodeCharacters.mjs";
|
|
118
119
|
import ExpandAlphabetRange from "./ExpandAlphabetRange.mjs";
|
|
120
|
+
import ExtractAudioMetadata from "./ExtractAudioMetadata.mjs";
|
|
119
121
|
import ExtractDates from "./ExtractDates.mjs";
|
|
120
122
|
import ExtractDomains from "./ExtractDomains.mjs";
|
|
121
123
|
import ExtractEXIF from "./ExtractEXIF.mjs";
|
|
@@ -135,6 +137,9 @@ import FernetEncrypt from "./FernetEncrypt.mjs";
|
|
|
135
137
|
import FileTree from "./FileTree.mjs";
|
|
136
138
|
import Filter from "./Filter.mjs";
|
|
137
139
|
import FindReplace from "./FindReplace.mjs";
|
|
140
|
+
import FlaskSessionDecode from "./FlaskSessionDecode.mjs";
|
|
141
|
+
import FlaskSessionSign from "./FlaskSessionSign.mjs";
|
|
142
|
+
import FlaskSessionVerify from "./FlaskSessionVerify.mjs";
|
|
138
143
|
import Fletcher16Checksum from "./Fletcher16Checksum.mjs";
|
|
139
144
|
import Fletcher32Checksum from "./Fletcher32Checksum.mjs";
|
|
140
145
|
import Fletcher64Checksum from "./Fletcher64Checksum.mjs";
|
|
@@ -287,6 +292,7 @@ import ParseASN1HexString from "./ParseASN1HexString.mjs";
|
|
|
287
292
|
import ParseCSR from "./ParseCSR.mjs";
|
|
288
293
|
import ParseColourCode from "./ParseColourCode.mjs";
|
|
289
294
|
import ParseDateTime from "./ParseDateTime.mjs";
|
|
295
|
+
import ParseEthernetFrame from "./ParseEthernetFrame.mjs";
|
|
290
296
|
import ParseIPRange from "./ParseIPRange.mjs";
|
|
291
297
|
import ParseIPv4Header from "./ParseIPv4Header.mjs";
|
|
292
298
|
import ParseIPv6Address from "./ParseIPv6Address.mjs";
|
|
@@ -306,6 +312,7 @@ import PlayMedia from "./PlayMedia.mjs";
|
|
|
306
312
|
import PowerSet from "./PowerSet.mjs";
|
|
307
313
|
import ProtobufDecode from "./ProtobufDecode.mjs";
|
|
308
314
|
import ProtobufEncode from "./ProtobufEncode.mjs";
|
|
315
|
+
import PseudoRandomIntegerGenerator from "./PseudoRandomIntegerGenerator.mjs";
|
|
309
316
|
import PseudoRandomNumberGenerator from "./PseudoRandomNumberGenerator.mjs";
|
|
310
317
|
import PubKeyFromCert from "./PubKeyFromCert.mjs";
|
|
311
318
|
import PubKeyFromPrivKey from "./PubKeyFromPrivKey.mjs";
|
|
@@ -314,6 +321,8 @@ import RC2Decrypt from "./RC2Decrypt.mjs";
|
|
|
314
321
|
import RC2Encrypt from "./RC2Encrypt.mjs";
|
|
315
322
|
import RC4 from "./RC4.mjs";
|
|
316
323
|
import RC4Drop from "./RC4Drop.mjs";
|
|
324
|
+
import RC6Decrypt from "./RC6Decrypt.mjs";
|
|
325
|
+
import RC6Encrypt from "./RC6Encrypt.mjs";
|
|
317
326
|
import RIPEMD from "./RIPEMD.mjs";
|
|
318
327
|
import ROT13 from "./ROT13.mjs";
|
|
319
328
|
import ROT13BruteForce from "./ROT13BruteForce.mjs";
|
|
@@ -402,6 +411,7 @@ import TakeNthBytes from "./TakeNthBytes.mjs";
|
|
|
402
411
|
import Tar from "./Tar.mjs";
|
|
403
412
|
import Template from "./Template.mjs";
|
|
404
413
|
import TextEncodingBruteForce from "./TextEncodingBruteForce.mjs";
|
|
414
|
+
import TextIntegerConverter from "./TextIntegerConverter.mjs";
|
|
405
415
|
import ToBCD from "./ToBCD.mjs";
|
|
406
416
|
import ToBase from "./ToBase.mjs";
|
|
407
417
|
import ToBase32 from "./ToBase32.mjs";
|
|
@@ -567,6 +577,7 @@ export {
|
|
|
567
577
|
DerivePBKDF2Key,
|
|
568
578
|
DetectFileType,
|
|
569
579
|
Diff,
|
|
580
|
+
DisassembleARM,
|
|
570
581
|
DisassembleX86,
|
|
571
582
|
DitherImage,
|
|
572
583
|
Divide,
|
|
@@ -583,6 +594,7 @@ export {
|
|
|
583
594
|
EscapeString,
|
|
584
595
|
EscapeUnicodeCharacters,
|
|
585
596
|
ExpandAlphabetRange,
|
|
597
|
+
ExtractAudioMetadata,
|
|
586
598
|
ExtractDates,
|
|
587
599
|
ExtractDomains,
|
|
588
600
|
ExtractEXIF,
|
|
@@ -602,6 +614,9 @@ export {
|
|
|
602
614
|
FileTree,
|
|
603
615
|
Filter,
|
|
604
616
|
FindReplace,
|
|
617
|
+
FlaskSessionDecode,
|
|
618
|
+
FlaskSessionSign,
|
|
619
|
+
FlaskSessionVerify,
|
|
605
620
|
Fletcher16Checksum,
|
|
606
621
|
Fletcher32Checksum,
|
|
607
622
|
Fletcher64Checksum,
|
|
@@ -754,6 +769,7 @@ export {
|
|
|
754
769
|
ParseCSR,
|
|
755
770
|
ParseColourCode,
|
|
756
771
|
ParseDateTime,
|
|
772
|
+
ParseEthernetFrame,
|
|
757
773
|
ParseIPRange,
|
|
758
774
|
ParseIPv4Header,
|
|
759
775
|
ParseIPv6Address,
|
|
@@ -773,6 +789,7 @@ export {
|
|
|
773
789
|
PowerSet,
|
|
774
790
|
ProtobufDecode,
|
|
775
791
|
ProtobufEncode,
|
|
792
|
+
PseudoRandomIntegerGenerator,
|
|
776
793
|
PseudoRandomNumberGenerator,
|
|
777
794
|
PubKeyFromCert,
|
|
778
795
|
PubKeyFromPrivKey,
|
|
@@ -781,6 +798,8 @@ export {
|
|
|
781
798
|
RC2Encrypt,
|
|
782
799
|
RC4,
|
|
783
800
|
RC4Drop,
|
|
801
|
+
RC6Decrypt,
|
|
802
|
+
RC6Encrypt,
|
|
784
803
|
RIPEMD,
|
|
785
804
|
ROT13,
|
|
786
805
|
ROT13BruteForce,
|
|
@@ -869,6 +888,7 @@ export {
|
|
|
869
888
|
Tar,
|
|
870
889
|
Template,
|
|
871
890
|
TextEncodingBruteForce,
|
|
891
|
+
TextIntegerConverter,
|
|
872
892
|
ToBCD,
|
|
873
893
|
ToBase,
|
|
874
894
|
ToBase32,
|
package/src/node/index.mjs
CHANGED
|
@@ -108,6 +108,7 @@ import {
|
|
|
108
108
|
DerivePBKDF2Key as core_DerivePBKDF2Key,
|
|
109
109
|
DetectFileType as core_DetectFileType,
|
|
110
110
|
Diff as core_Diff,
|
|
111
|
+
DisassembleARM as core_DisassembleARM,
|
|
111
112
|
DisassembleX86 as core_DisassembleX86,
|
|
112
113
|
DitherImage as core_DitherImage,
|
|
113
114
|
Divide as core_Divide,
|
|
@@ -124,6 +125,7 @@ import {
|
|
|
124
125
|
EscapeString as core_EscapeString,
|
|
125
126
|
EscapeUnicodeCharacters as core_EscapeUnicodeCharacters,
|
|
126
127
|
ExpandAlphabetRange as core_ExpandAlphabetRange,
|
|
128
|
+
ExtractAudioMetadata as core_ExtractAudioMetadata,
|
|
127
129
|
ExtractDates as core_ExtractDates,
|
|
128
130
|
ExtractDomains as core_ExtractDomains,
|
|
129
131
|
ExtractEXIF as core_ExtractEXIF,
|
|
@@ -143,6 +145,9 @@ import {
|
|
|
143
145
|
FileTree as core_FileTree,
|
|
144
146
|
Filter as core_Filter,
|
|
145
147
|
FindReplace as core_FindReplace,
|
|
148
|
+
FlaskSessionDecode as core_FlaskSessionDecode,
|
|
149
|
+
FlaskSessionSign as core_FlaskSessionSign,
|
|
150
|
+
FlaskSessionVerify as core_FlaskSessionVerify,
|
|
146
151
|
Fletcher16Checksum as core_Fletcher16Checksum,
|
|
147
152
|
Fletcher32Checksum as core_Fletcher32Checksum,
|
|
148
153
|
Fletcher64Checksum as core_Fletcher64Checksum,
|
|
@@ -288,6 +293,7 @@ import {
|
|
|
288
293
|
ParseCSR as core_ParseCSR,
|
|
289
294
|
ParseColourCode as core_ParseColourCode,
|
|
290
295
|
ParseDateTime as core_ParseDateTime,
|
|
296
|
+
ParseEthernetFrame as core_ParseEthernetFrame,
|
|
291
297
|
ParseIPRange as core_ParseIPRange,
|
|
292
298
|
ParseIPv4Header as core_ParseIPv4Header,
|
|
293
299
|
ParseIPv6Address as core_ParseIPv6Address,
|
|
@@ -307,6 +313,7 @@ import {
|
|
|
307
313
|
PowerSet as core_PowerSet,
|
|
308
314
|
ProtobufDecode as core_ProtobufDecode,
|
|
309
315
|
ProtobufEncode as core_ProtobufEncode,
|
|
316
|
+
PseudoRandomIntegerGenerator as core_PseudoRandomIntegerGenerator,
|
|
310
317
|
PseudoRandomNumberGenerator as core_PseudoRandomNumberGenerator,
|
|
311
318
|
PubKeyFromCert as core_PubKeyFromCert,
|
|
312
319
|
PubKeyFromPrivKey as core_PubKeyFromPrivKey,
|
|
@@ -315,6 +322,8 @@ import {
|
|
|
315
322
|
RC2Encrypt as core_RC2Encrypt,
|
|
316
323
|
RC4 as core_RC4,
|
|
317
324
|
RC4Drop as core_RC4Drop,
|
|
325
|
+
RC6Decrypt as core_RC6Decrypt,
|
|
326
|
+
RC6Encrypt as core_RC6Encrypt,
|
|
318
327
|
RIPEMD as core_RIPEMD,
|
|
319
328
|
ROT13 as core_ROT13,
|
|
320
329
|
ROT13BruteForce as core_ROT13BruteForce,
|
|
@@ -402,6 +411,7 @@ import {
|
|
|
402
411
|
Tar as core_Tar,
|
|
403
412
|
Template as core_Template,
|
|
404
413
|
TextEncodingBruteForce as core_TextEncodingBruteForce,
|
|
414
|
+
TextIntegerConverter as core_TextIntegerConverter,
|
|
405
415
|
ToBCD as core_ToBCD,
|
|
406
416
|
ToBase as core_ToBase,
|
|
407
417
|
ToBase32 as core_ToBase32,
|
|
@@ -575,6 +585,7 @@ function generateChef() {
|
|
|
575
585
|
"derivePBKDF2Key": _wrap(core_DerivePBKDF2Key),
|
|
576
586
|
"detectFileType": _wrap(core_DetectFileType),
|
|
577
587
|
"diff": _wrap(core_Diff),
|
|
588
|
+
"disassembleARM": _wrap(core_DisassembleARM),
|
|
578
589
|
"disassembleX86": _wrap(core_DisassembleX86),
|
|
579
590
|
"ditherImage": _wrap(core_DitherImage),
|
|
580
591
|
"divide": _wrap(core_Divide),
|
|
@@ -591,6 +602,7 @@ function generateChef() {
|
|
|
591
602
|
"escapeString": _wrap(core_EscapeString),
|
|
592
603
|
"escapeUnicodeCharacters": _wrap(core_EscapeUnicodeCharacters),
|
|
593
604
|
"expandAlphabetRange": _wrap(core_ExpandAlphabetRange),
|
|
605
|
+
"extractAudioMetadata": _wrap(core_ExtractAudioMetadata),
|
|
594
606
|
"extractDates": _wrap(core_ExtractDates),
|
|
595
607
|
"extractDomains": _wrap(core_ExtractDomains),
|
|
596
608
|
"extractEXIF": _wrap(core_ExtractEXIF),
|
|
@@ -610,6 +622,9 @@ function generateChef() {
|
|
|
610
622
|
"fileTree": _wrap(core_FileTree),
|
|
611
623
|
"filter": _wrap(core_Filter),
|
|
612
624
|
"findReplace": _wrap(core_FindReplace),
|
|
625
|
+
"flaskSessionDecode": _wrap(core_FlaskSessionDecode),
|
|
626
|
+
"flaskSessionSign": _wrap(core_FlaskSessionSign),
|
|
627
|
+
"flaskSessionVerify": _wrap(core_FlaskSessionVerify),
|
|
613
628
|
"fletcher16Checksum": _wrap(core_Fletcher16Checksum),
|
|
614
629
|
"fletcher32Checksum": _wrap(core_Fletcher32Checksum),
|
|
615
630
|
"fletcher64Checksum": _wrap(core_Fletcher64Checksum),
|
|
@@ -755,6 +770,7 @@ function generateChef() {
|
|
|
755
770
|
"parseCSR": _wrap(core_ParseCSR),
|
|
756
771
|
"parseColourCode": _wrap(core_ParseColourCode),
|
|
757
772
|
"parseDateTime": _wrap(core_ParseDateTime),
|
|
773
|
+
"parseEthernetFrame": _wrap(core_ParseEthernetFrame),
|
|
758
774
|
"parseIPRange": _wrap(core_ParseIPRange),
|
|
759
775
|
"parseIPv4Header": _wrap(core_ParseIPv4Header),
|
|
760
776
|
"parseIPv6Address": _wrap(core_ParseIPv6Address),
|
|
@@ -774,6 +790,7 @@ function generateChef() {
|
|
|
774
790
|
"powerSet": _wrap(core_PowerSet),
|
|
775
791
|
"protobufDecode": _wrap(core_ProtobufDecode),
|
|
776
792
|
"protobufEncode": _wrap(core_ProtobufEncode),
|
|
793
|
+
"pseudoRandomIntegerGenerator": _wrap(core_PseudoRandomIntegerGenerator),
|
|
777
794
|
"pseudoRandomNumberGenerator": _wrap(core_PseudoRandomNumberGenerator),
|
|
778
795
|
"pubKeyFromCert": _wrap(core_PubKeyFromCert),
|
|
779
796
|
"pubKeyFromPrivKey": _wrap(core_PubKeyFromPrivKey),
|
|
@@ -782,6 +799,8 @@ function generateChef() {
|
|
|
782
799
|
"RC2Encrypt": _wrap(core_RC2Encrypt),
|
|
783
800
|
"RC4": _wrap(core_RC4),
|
|
784
801
|
"RC4Drop": _wrap(core_RC4Drop),
|
|
802
|
+
"RC6Decrypt": _wrap(core_RC6Decrypt),
|
|
803
|
+
"RC6Encrypt": _wrap(core_RC6Encrypt),
|
|
785
804
|
"RIPEMD": _wrap(core_RIPEMD),
|
|
786
805
|
"ROT13": _wrap(core_ROT13),
|
|
787
806
|
"ROT13BruteForce": _wrap(core_ROT13BruteForce),
|
|
@@ -869,6 +888,7 @@ function generateChef() {
|
|
|
869
888
|
"tar": _wrap(core_Tar),
|
|
870
889
|
"template": _wrap(core_Template),
|
|
871
890
|
"textEncodingBruteForce": _wrap(core_TextEncodingBruteForce),
|
|
891
|
+
"textIntegerConverter": _wrap(core_TextIntegerConverter),
|
|
872
892
|
"toBCD": _wrap(core_ToBCD),
|
|
873
893
|
"toBase": _wrap(core_ToBase),
|
|
874
894
|
"toBase32": _wrap(core_ToBase32),
|
|
@@ -1052,6 +1072,7 @@ const deriveHKDFKey = chef.deriveHKDFKey;
|
|
|
1052
1072
|
const derivePBKDF2Key = chef.derivePBKDF2Key;
|
|
1053
1073
|
const detectFileType = chef.detectFileType;
|
|
1054
1074
|
const diff = chef.diff;
|
|
1075
|
+
const disassembleARM = chef.disassembleARM;
|
|
1055
1076
|
const disassembleX86 = chef.disassembleX86;
|
|
1056
1077
|
const ditherImage = chef.ditherImage;
|
|
1057
1078
|
const divide = chef.divide;
|
|
@@ -1068,6 +1089,7 @@ const entropy = chef.entropy;
|
|
|
1068
1089
|
const escapeString = chef.escapeString;
|
|
1069
1090
|
const escapeUnicodeCharacters = chef.escapeUnicodeCharacters;
|
|
1070
1091
|
const expandAlphabetRange = chef.expandAlphabetRange;
|
|
1092
|
+
const extractAudioMetadata = chef.extractAudioMetadata;
|
|
1071
1093
|
const extractDates = chef.extractDates;
|
|
1072
1094
|
const extractDomains = chef.extractDomains;
|
|
1073
1095
|
const extractEXIF = chef.extractEXIF;
|
|
@@ -1087,6 +1109,9 @@ const fernetEncrypt = chef.fernetEncrypt;
|
|
|
1087
1109
|
const fileTree = chef.fileTree;
|
|
1088
1110
|
const filter = chef.filter;
|
|
1089
1111
|
const findReplace = chef.findReplace;
|
|
1112
|
+
const flaskSessionDecode = chef.flaskSessionDecode;
|
|
1113
|
+
const flaskSessionSign = chef.flaskSessionSign;
|
|
1114
|
+
const flaskSessionVerify = chef.flaskSessionVerify;
|
|
1090
1115
|
const fletcher16Checksum = chef.fletcher16Checksum;
|
|
1091
1116
|
const fletcher32Checksum = chef.fletcher32Checksum;
|
|
1092
1117
|
const fletcher64Checksum = chef.fletcher64Checksum;
|
|
@@ -1239,6 +1264,7 @@ const parseASN1HexString = chef.parseASN1HexString;
|
|
|
1239
1264
|
const parseCSR = chef.parseCSR;
|
|
1240
1265
|
const parseColourCode = chef.parseColourCode;
|
|
1241
1266
|
const parseDateTime = chef.parseDateTime;
|
|
1267
|
+
const parseEthernetFrame = chef.parseEthernetFrame;
|
|
1242
1268
|
const parseIPRange = chef.parseIPRange;
|
|
1243
1269
|
const parseIPv4Header = chef.parseIPv4Header;
|
|
1244
1270
|
const parseIPv6Address = chef.parseIPv6Address;
|
|
@@ -1258,6 +1284,7 @@ const playMedia = chef.playMedia;
|
|
|
1258
1284
|
const powerSet = chef.powerSet;
|
|
1259
1285
|
const protobufDecode = chef.protobufDecode;
|
|
1260
1286
|
const protobufEncode = chef.protobufEncode;
|
|
1287
|
+
const pseudoRandomIntegerGenerator = chef.pseudoRandomIntegerGenerator;
|
|
1261
1288
|
const pseudoRandomNumberGenerator = chef.pseudoRandomNumberGenerator;
|
|
1262
1289
|
const pubKeyFromCert = chef.pubKeyFromCert;
|
|
1263
1290
|
const pubKeyFromPrivKey = chef.pubKeyFromPrivKey;
|
|
@@ -1266,6 +1293,8 @@ const RC2Decrypt = chef.RC2Decrypt;
|
|
|
1266
1293
|
const RC2Encrypt = chef.RC2Encrypt;
|
|
1267
1294
|
const RC4 = chef.RC4;
|
|
1268
1295
|
const RC4Drop = chef.RC4Drop;
|
|
1296
|
+
const RC6Decrypt = chef.RC6Decrypt;
|
|
1297
|
+
const RC6Encrypt = chef.RC6Encrypt;
|
|
1269
1298
|
const RIPEMD = chef.RIPEMD;
|
|
1270
1299
|
const ROT13 = chef.ROT13;
|
|
1271
1300
|
const ROT13BruteForce = chef.ROT13BruteForce;
|
|
@@ -1354,6 +1383,7 @@ const takeNthBytes = chef.takeNthBytes;
|
|
|
1354
1383
|
const tar = chef.tar;
|
|
1355
1384
|
const template = chef.template;
|
|
1356
1385
|
const textEncodingBruteForce = chef.textEncodingBruteForce;
|
|
1386
|
+
const textIntegerConverter = chef.textIntegerConverter;
|
|
1357
1387
|
const toBCD = chef.toBCD;
|
|
1358
1388
|
const toBase = chef.toBase;
|
|
1359
1389
|
const toBase32 = chef.toBase32;
|
|
@@ -1521,6 +1551,7 @@ const operations = [
|
|
|
1521
1551
|
derivePBKDF2Key,
|
|
1522
1552
|
detectFileType,
|
|
1523
1553
|
diff,
|
|
1554
|
+
disassembleARM,
|
|
1524
1555
|
disassembleX86,
|
|
1525
1556
|
ditherImage,
|
|
1526
1557
|
divide,
|
|
@@ -1537,6 +1568,7 @@ const operations = [
|
|
|
1537
1568
|
escapeString,
|
|
1538
1569
|
escapeUnicodeCharacters,
|
|
1539
1570
|
expandAlphabetRange,
|
|
1571
|
+
extractAudioMetadata,
|
|
1540
1572
|
extractDates,
|
|
1541
1573
|
extractDomains,
|
|
1542
1574
|
extractEXIF,
|
|
@@ -1556,6 +1588,9 @@ const operations = [
|
|
|
1556
1588
|
fileTree,
|
|
1557
1589
|
filter,
|
|
1558
1590
|
findReplace,
|
|
1591
|
+
flaskSessionDecode,
|
|
1592
|
+
flaskSessionSign,
|
|
1593
|
+
flaskSessionVerify,
|
|
1559
1594
|
fletcher16Checksum,
|
|
1560
1595
|
fletcher32Checksum,
|
|
1561
1596
|
fletcher64Checksum,
|
|
@@ -1708,6 +1743,7 @@ const operations = [
|
|
|
1708
1743
|
parseCSR,
|
|
1709
1744
|
parseColourCode,
|
|
1710
1745
|
parseDateTime,
|
|
1746
|
+
parseEthernetFrame,
|
|
1711
1747
|
parseIPRange,
|
|
1712
1748
|
parseIPv4Header,
|
|
1713
1749
|
parseIPv6Address,
|
|
@@ -1727,6 +1763,7 @@ const operations = [
|
|
|
1727
1763
|
powerSet,
|
|
1728
1764
|
protobufDecode,
|
|
1729
1765
|
protobufEncode,
|
|
1766
|
+
pseudoRandomIntegerGenerator,
|
|
1730
1767
|
pseudoRandomNumberGenerator,
|
|
1731
1768
|
pubKeyFromCert,
|
|
1732
1769
|
pubKeyFromPrivKey,
|
|
@@ -1735,6 +1772,8 @@ const operations = [
|
|
|
1735
1772
|
RC2Encrypt,
|
|
1736
1773
|
RC4,
|
|
1737
1774
|
RC4Drop,
|
|
1775
|
+
RC6Decrypt,
|
|
1776
|
+
RC6Encrypt,
|
|
1738
1777
|
RIPEMD,
|
|
1739
1778
|
ROT13,
|
|
1740
1779
|
ROT13BruteForce,
|
|
@@ -1823,6 +1862,7 @@ const operations = [
|
|
|
1823
1862
|
tar,
|
|
1824
1863
|
template,
|
|
1825
1864
|
textEncodingBruteForce,
|
|
1865
|
+
textIntegerConverter,
|
|
1826
1866
|
toBCD,
|
|
1827
1867
|
toBase,
|
|
1828
1868
|
toBase32,
|
|
@@ -1994,6 +2034,7 @@ export {
|
|
|
1994
2034
|
derivePBKDF2Key,
|
|
1995
2035
|
detectFileType,
|
|
1996
2036
|
diff,
|
|
2037
|
+
disassembleARM,
|
|
1997
2038
|
disassembleX86,
|
|
1998
2039
|
ditherImage,
|
|
1999
2040
|
divide,
|
|
@@ -2010,6 +2051,7 @@ export {
|
|
|
2010
2051
|
escapeString,
|
|
2011
2052
|
escapeUnicodeCharacters,
|
|
2012
2053
|
expandAlphabetRange,
|
|
2054
|
+
extractAudioMetadata,
|
|
2013
2055
|
extractDates,
|
|
2014
2056
|
extractDomains,
|
|
2015
2057
|
extractEXIF,
|
|
@@ -2029,6 +2071,9 @@ export {
|
|
|
2029
2071
|
fileTree,
|
|
2030
2072
|
filter,
|
|
2031
2073
|
findReplace,
|
|
2074
|
+
flaskSessionDecode,
|
|
2075
|
+
flaskSessionSign,
|
|
2076
|
+
flaskSessionVerify,
|
|
2032
2077
|
fletcher16Checksum,
|
|
2033
2078
|
fletcher32Checksum,
|
|
2034
2079
|
fletcher64Checksum,
|
|
@@ -2181,6 +2226,7 @@ export {
|
|
|
2181
2226
|
parseCSR,
|
|
2182
2227
|
parseColourCode,
|
|
2183
2228
|
parseDateTime,
|
|
2229
|
+
parseEthernetFrame,
|
|
2184
2230
|
parseIPRange,
|
|
2185
2231
|
parseIPv4Header,
|
|
2186
2232
|
parseIPv6Address,
|
|
@@ -2200,6 +2246,7 @@ export {
|
|
|
2200
2246
|
powerSet,
|
|
2201
2247
|
protobufDecode,
|
|
2202
2248
|
protobufEncode,
|
|
2249
|
+
pseudoRandomIntegerGenerator,
|
|
2203
2250
|
pseudoRandomNumberGenerator,
|
|
2204
2251
|
pubKeyFromCert,
|
|
2205
2252
|
pubKeyFromPrivKey,
|
|
@@ -2208,6 +2255,8 @@ export {
|
|
|
2208
2255
|
RC2Encrypt,
|
|
2209
2256
|
RC4,
|
|
2210
2257
|
RC4Drop,
|
|
2258
|
+
RC6Decrypt,
|
|
2259
|
+
RC6Encrypt,
|
|
2211
2260
|
RIPEMD,
|
|
2212
2261
|
ROT13,
|
|
2213
2262
|
ROT13BruteForce,
|
|
@@ -2296,6 +2345,7 @@ export {
|
|
|
2296
2345
|
tar,
|
|
2297
2346
|
template,
|
|
2298
2347
|
textEncodingBruteForce,
|
|
2348
|
+
textIntegerConverter,
|
|
2299
2349
|
toBCD,
|
|
2300
2350
|
toBase,
|
|
2301
2351
|
toBase32,
|