mirror of
https://github.com/gchq/CyberChef.git
synced 2025-05-11 16:51:31 -04:00
added flag
This commit is contained in:
parent
34faeca7ba
commit
19aa4effaf
3 changed files with 47 additions and 9 deletions
|
@ -264,16 +264,47 @@ class Magic {
|
||||||
if (_buffersEqual(output, new ArrayBuffer())) {
|
if (_buffersEqual(output, new ArrayBuffer())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (flag) {
|
|
||||||
|
switch (flag) {
|
||||||
|
case "Input":
|
||||||
|
const outputRegexes = OperationConfig[op.op].outputRegexes;
|
||||||
|
if (outputRegexes)
|
||||||
|
for (const pattern of outputRegexes)
|
||||||
|
if (!(new RegExp(pattern.match, pattern.flags).test(Utils.arrayBufferToStr(output)))) {
|
||||||
|
if (pattern.shouldMatch)
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
if (!pattern.shouldMatch)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "Output":
|
||||||
|
if(!(new RegExp(op.match, op.flags).test(Utils.arrayBufferToStr(output)))){
|
||||||
|
if (shouldMatch)
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
if (!shouldMatch)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log("This is borked");
|
||||||
|
}
|
||||||
|
/* if (flag) {
|
||||||
const outputRegexes = OperationConfig[op.op].outputRegexes;
|
const outputRegexes = OperationConfig[op.op].outputRegexes;
|
||||||
if (outputRegexes)
|
if (outputRegexes)
|
||||||
for (const pattern of outputRegexes)
|
for (const pattern of outputRegexes)
|
||||||
if (!(new RegExp(pattern.match, pattern.flags).test(Utils.arrayBufferToStr(output))))
|
if (!(new RegExp(pattern.match, pattern.flags).test(Utils.arrayBufferToStr(output)))) {
|
||||||
return;
|
if (pattern.shouldMatch)
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
if (!pattern.shouldMatch)
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if(!(new RegExp(op.match, op.flags).test(Utils.arrayBufferToStr(output))))
|
if(!(new RegExp(op.match, op.flags).test(Utils.arrayBufferToStr(output))))
|
||||||
return;
|
return;
|
||||||
}
|
} */
|
||||||
const magic = new Magic(output, this.opPatterns),
|
const magic = new Magic(output, this.opPatterns),
|
||||||
speculativeResults = await magic.speculativeExecution(
|
speculativeResults = await magic.speculativeExecution(
|
||||||
depth-1, extLang, intensive, [...recipeConfig, opConfig], op.useful, crib);
|
depth-1, extLang, intensive, [...recipeConfig, opConfig], op.useful, crib);
|
||||||
|
@ -318,8 +349,8 @@ class Magic {
|
||||||
});
|
});
|
||||||
const prevOp = recipeConfig[recipeConfig.length - 1];
|
const prevOp = recipeConfig[recipeConfig.length - 1];
|
||||||
|
|
||||||
results = results.concat(await this.regexesTests(1, matchingOps, prevOp, depth, extLang, intensive, recipeConfig, crib));
|
results = results.concat(await this.regexesTests("Input", matchingOps, prevOp, depth, extLang, intensive, recipeConfig, crib));
|
||||||
results = results.concat(await this.regexesTests(0, this.opPatterns.getOutputRegexes(), prevOp, depth, extLang, intensive, recipeConfig, crib));
|
results = results.concat(await this.regexesTests("Output", this.opPatterns.getOutputRegexes(), prevOp, depth, extLang, intensive, recipeConfig, crib));
|
||||||
// console.log("haha", results);
|
// console.log("haha", results);
|
||||||
|
|
||||||
if (intensive) {
|
if (intensive) {
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import Operation from "../Operation.mjs";
|
import Operation from "../Operation.mjs";
|
||||||
|
import magicObject from "../lib/MagicObject.mjs";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,7 +26,13 @@ class DefangIPAddresses extends Operation {
|
||||||
this.inputType = "string";
|
this.inputType = "string";
|
||||||
this.outputType = "string";
|
this.outputType = "string";
|
||||||
this.args = [];
|
this.args = [];
|
||||||
|
this.checks = new magicObject([
|
||||||
|
{
|
||||||
|
match: "^\\s*(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-f]{4}:){7}[0-9a-f]{4})\\s*$",
|
||||||
|
flags: "i",
|
||||||
|
args: [],
|
||||||
|
}
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -32,14 +32,14 @@ class URLDecode extends Operation {
|
||||||
args: [],
|
args: [],
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
/*[
|
||||||
{
|
{
|
||||||
match: "^(?:(http(s)?|ftp):\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$",
|
match: "^(?:(http(s)?|ftp):\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$",
|
||||||
flags: "i",
|
flags: "i",
|
||||||
shouldMatch: true,
|
shouldMatch: true,
|
||||||
args: []
|
args: []
|
||||||
}
|
}
|
||||||
]
|
]*/
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue