From 1531555b0b5bc16ca8204afdd49c1b375e01ea9f Mon Sep 17 00:00:00 2001 From: n1073645 Date: Mon, 16 Dec 2019 11:40:50 +0000 Subject: [PATCH] Added magic entropy signatures --- src/core/lib/MagicCriteria.mjs | 9 +++++++++ src/core/operations/Bzip2Decompress.mjs | 7 ++++++- src/core/operations/FromBCD.mjs | 7 ++++++- src/core/operations/FromBase32.mjs | 9 ++++++++- src/core/operations/FromBase64.mjs | 9 ++++++++- src/core/operations/FromBinary.mjs | 7 ++++++- src/core/operations/FromBraille.mjs | 1 - src/core/operations/FromDecimal.mjs | 9 ++++++++- src/core/operations/FromHex.mjs | 9 ++++++++- src/core/operations/FromHexContent.mjs | 8 +++++++- src/core/operations/FromHexdump.mjs | 8 +++++++- src/core/operations/FromMorseCode.mjs | 8 +++++++- src/core/operations/FromOctal.mjs | 8 +++++++- src/core/operations/Gunzip.mjs | 6 ++---- src/core/operations/Unzip.mjs | 7 +++---- 15 files changed, 92 insertions(+), 20 deletions(-) create mode 100644 src/core/lib/MagicCriteria.mjs diff --git a/src/core/lib/MagicCriteria.mjs b/src/core/lib/MagicCriteria.mjs new file mode 100644 index 00000000..d80a6bef --- /dev/null +++ b/src/core/lib/MagicCriteria.mjs @@ -0,0 +1,9 @@ +export const compressedToDecompressed = { + input: [6.5, 8], + output: [3.5, 6] +}; + +export const binary = { + input: [1, 1.5], + output: [3.5, 6] +}; diff --git a/src/core/operations/Bzip2Decompress.mjs b/src/core/operations/Bzip2Decompress.mjs index 653cc5c8..fdee7f98 100644 --- a/src/core/operations/Bzip2Decompress.mjs +++ b/src/core/operations/Bzip2Decompress.mjs @@ -9,6 +9,7 @@ import OperationError from "../errors/OperationError.mjs"; import magicObject from "../lib/MagicObject.mjs"; import Bzip2 from "libbzip2-wasm"; import { isWorkerEnvironment } from "../Utils.mjs"; +import * as criteria from "../lib/MagicCriteria.mjs"; /** * Bzip2 Decompress operation @@ -41,7 +42,11 @@ class Bzip2Decompress extends Operation { magic: true, args: [] } - ]); + ], + null, + null, + criteria.compressedToDecompressed + ); } /** diff --git a/src/core/operations/FromBCD.mjs b/src/core/operations/FromBCD.mjs index 92ece6ef..cbe311d2 100644 --- a/src/core/operations/FromBCD.mjs +++ b/src/core/operations/FromBCD.mjs @@ -10,6 +10,7 @@ import OperationError from "../errors/OperationError.mjs"; import {ENCODING_SCHEME, ENCODING_LOOKUP, FORMAT} from "../lib/BCD.mjs"; import BigNumber from "bignumber.js"; import magicObject from "../lib/MagicObject.mjs"; +import * as criteria from "../lib/magicCriteria.mjs"; /** * From BCD operation @@ -57,7 +58,11 @@ class FromBCD extends Operation { magic: true, args: ["8 4 2 1", true, false, "Nibbles"] } - ]); + ], + null, + null, + criteria.binary + ); } /** diff --git a/src/core/operations/FromBase32.mjs b/src/core/operations/FromBase32.mjs index dd6ac79e..8802e408 100644 --- a/src/core/operations/FromBase32.mjs +++ b/src/core/operations/FromBase32.mjs @@ -44,7 +44,14 @@ class FromBase32 extends Operation { magic: true, args: ["A-Z2-7=", false] }, - ]); + ], + null, + null, + { + input: [4.2, 5], + output: [3.5, 6] + } + ); } /** diff --git a/src/core/operations/FromBase64.mjs b/src/core/operations/FromBase64.mjs index f7acdba6..69a67846 100644 --- a/src/core/operations/FromBase64.mjs +++ b/src/core/operations/FromBase64.mjs @@ -116,7 +116,14 @@ class FromBase64 extends Operation { magic: true, args: ["./0-9A-Za-z", true] }, - ]); + ], + null, + null, + { + input: [4, 5], + output: [3.5, 6] + } + ); } /** diff --git a/src/core/operations/FromBinary.mjs b/src/core/operations/FromBinary.mjs index 136289a4..ed020714 100644 --- a/src/core/operations/FromBinary.mjs +++ b/src/core/operations/FromBinary.mjs @@ -9,6 +9,7 @@ import Utils from "../Utils.mjs"; import {BIN_DELIM_OPTIONS} from "../lib/Delim.mjs"; import {fromBinary} from "../lib/Binary.mjs"; import magicObject from "../lib/MagicObject.mjs"; +import * as criteria from "../lib/MagicCriteria.mjs"; /** * From Binary operation @@ -77,7 +78,11 @@ class FromBinary extends Operation { magic: true, args: ["CRLF"] }, - ]); + ], + null, + null, + criteria.binary + ); } /** diff --git a/src/core/operations/FromBraille.mjs b/src/core/operations/FromBraille.mjs index 40dba2f0..adbcff91 100644 --- a/src/core/operations/FromBraille.mjs +++ b/src/core/operations/FromBraille.mjs @@ -33,7 +33,6 @@ class FromBraille extends Operation { * @returns {string} */ run(input, args) { - console.log("this is broke"); return input.split("").map(b => { const idx = BRAILLE_LOOKUP.dot6.indexOf(b); return idx < 0 ? b : BRAILLE_LOOKUP.ascii[idx]; diff --git a/src/core/operations/FromDecimal.mjs b/src/core/operations/FromDecimal.mjs index 9401cbad..710cfd38 100644 --- a/src/core/operations/FromDecimal.mjs +++ b/src/core/operations/FromDecimal.mjs @@ -74,7 +74,14 @@ class FromDecimal extends Operation { magic: true, args: ["CRLF", false] }, - ]); + ], + null, + null, + { + input: [2.5, 3], + output: [3.5, 6] + } + ); } /** diff --git a/src/core/operations/FromHex.mjs b/src/core/operations/FromHex.mjs index 0bd1f11b..b1a64d8e 100644 --- a/src/core/operations/FromHex.mjs +++ b/src/core/operations/FromHex.mjs @@ -88,7 +88,14 @@ class FromHex extends Operation { magic: true, args: ["\\x"] } - ]); + ], + null, + null, + { + input: [2, 3], + output: [3.5, 6] + } + ); } /** diff --git a/src/core/operations/FromHexContent.mjs b/src/core/operations/FromHexContent.mjs index f8281f6b..2ea249ae 100644 --- a/src/core/operations/FromHexContent.mjs +++ b/src/core/operations/FromHexContent.mjs @@ -34,7 +34,13 @@ class FromHexContent extends Operation { magic: true, args: [] } - ]); + ], + null, + null, + { + input: [3, 4], + output: [3.5, 6] + }); } /** diff --git a/src/core/operations/FromHexdump.mjs b/src/core/operations/FromHexdump.mjs index 4461c9fe..06c8f257 100644 --- a/src/core/operations/FromHexdump.mjs +++ b/src/core/operations/FromHexdump.mjs @@ -35,7 +35,13 @@ class FromHexdump extends Operation { magic: true, args: [] }, - ]); + ], + null, + null, + { + input: [3, 4], + output: [3.5, 6] + }); } /** diff --git a/src/core/operations/FromMorseCode.mjs b/src/core/operations/FromMorseCode.mjs index 41ef492d..1f38ec1d 100644 --- a/src/core/operations/FromMorseCode.mjs +++ b/src/core/operations/FromMorseCode.mjs @@ -45,7 +45,13 @@ class FromMorseCode extends Operation { magic: true, args: ["Space", "Line feed"] }, - ]); + ], + null, + null, + { + input: [0, 2], + output: [3, 6] + }); } /** diff --git a/src/core/operations/FromOctal.mjs b/src/core/operations/FromOctal.mjs index 0bb7bbe1..66413f15 100644 --- a/src/core/operations/FromOctal.mjs +++ b/src/core/operations/FromOctal.mjs @@ -70,7 +70,13 @@ class FromOctal extends Operation { magic: true, args: ["CRLF"] }, - ]); + ], + null, + null, + { + input: [2.5, 3], + output: [3.5, 6] + }); } /** diff --git a/src/core/operations/Gunzip.mjs b/src/core/operations/Gunzip.mjs index fdfbdef1..58383eb6 100644 --- a/src/core/operations/Gunzip.mjs +++ b/src/core/operations/Gunzip.mjs @@ -7,6 +7,7 @@ import Operation from "../Operation.mjs"; import zlibAndGzip from "zlibjs/bin/zlib_and_gzip.min.js"; import magicObject from "../lib/MagicObject.mjs"; +import * as criteria from "../lib/MagicCriteria.mjs"; const Zlib = zlibAndGzip.Zlib; @@ -38,10 +39,7 @@ class Gunzip extends Operation { ], null, null, - { - input: [6.5, 8], - output: [3.5, 6] - } + criteria.compressedToDecompressed ); } diff --git a/src/core/operations/Unzip.mjs b/src/core/operations/Unzip.mjs index de09267f..4f91be0a 100644 --- a/src/core/operations/Unzip.mjs +++ b/src/core/operations/Unzip.mjs @@ -8,6 +8,8 @@ import Operation from "../Operation.mjs"; import Utils from "../Utils.mjs"; import unzip from "zlibjs/bin/unzip.min.js"; import magicObject from "../lib/MagicObject.mjs"; +import * as criteria from "../lib/MagicCriteria.mjs"; + const Zlib = unzip.Zlib; @@ -51,10 +53,7 @@ class Unzip extends Operation { ], null, null, - { - input: [6.5, 8], - output: [3.5, 6] - } + criteria.compressedToDecompressed ); }