Merge branch 'esm' of github.com:gchq/CyberChef into esm

feature-extract-files
n1474335 2018-06-03 17:33:39 +01:00
commit 40a1da10e3
1 changed files with 17 additions and 11 deletions

View File

@ -229,17 +229,22 @@ class Magic {
const testEnc = async op => {
for (let i = 0; i < encodings.length; i++) {
const conf = {
op: op,
args: [encodings[i]]
},
data = await this._runRecipe([conf], sample.buffer);
op: op,
args: [encodings[i]]
};
// Only add to the results if it changed the data
if (!_buffersEqual(data, sample.buffer)) {
results.push({
data: data,
conf: conf
});
try {
const data = await this._runRecipe([conf], sample.buffer);
// Only add to the results if it changed the data
if (!_buffersEqual(data, sample.buffer)) {
results.push({
data: data,
conf: conf
});
}
} catch (err) {
continue;
}
}
};
@ -361,8 +366,9 @@ class Magic {
* @returns {ArrayBuffer}
*/
async _runRecipe(recipeConfig, input=this.inputBuffer) {
input = input instanceof ArrayBuffer ? input : input.buffer;
const dish = new Dish();
dish.set(input.buffer, Dish.ARRAY_BUFFER);
dish.set(input, Dish.ARRAY_BUFFER);
if (ENVIRONMENT_IS_WORKER()) self.loadRequiredModules(recipeConfig);