diff --git a/CHANGELOG.md b/CHANGELOG.md index 6355831e..751ac287 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ All major and minor version changes will be documented in this file. Details of patch-level version changes can be found in [commit messages](https://github.com/gchq/CyberChef/commits/master). +### [8.16.0] - 2018-12-19 +- 'Play Media' operation added [@anthony-arnold] | [#446] + ### [8.15.0] - 2018-12-18 - 'Text Encoding Brute Force' operation added [@Cynser] | [#439] @@ -76,6 +79,7 @@ All major and minor version changes will be documented in this file. Details of +[8.16.0]: https://github.com/gchq/CyberChef/releases/tag/v8.16.0 [8.15.0]: https://github.com/gchq/CyberChef/releases/tag/v8.15.0 [8.14.0]: https://github.com/gchq/CyberChef/releases/tag/v8.14.0 [8.13.0]: https://github.com/gchq/CyberChef/releases/tag/v8.13.0 @@ -112,6 +116,7 @@ All major and minor version changes will be documented in this file. Details of [@jarmovanlenthe]: https://github.com/jarmovanlenthe [@tcode2k16]: https://github.com/tcode2k16 [@Cynser]: https://github.com/Cynser +[@anthony-arnold]: https://github.com/anthony-arnold [#95]: https://github.com/gchq/CyberChef/pull/299 [#173]: https://github.com/gchq/CyberChef/pull/173 @@ -138,3 +143,4 @@ All major and minor version changes will be documented in this file. Details of [#439]: https://github.com/gchq/CyberChef/pull/439 [#441]: https://github.com/gchq/CyberChef/pull/441 [#443]: https://github.com/gchq/CyberChef/pull/443 +[#446]: https://github.com/gchq/CyberChef/pull/446 diff --git a/src/core/config/Categories.json b/src/core/config/Categories.json index 690fea57..2e6bfe2d 100755 --- a/src/core/config/Categories.json +++ b/src/core/config/Categories.json @@ -342,8 +342,12 @@ ] }, { - "name": "Multimedia", + "name": "Forensics", "ops": [ + "Detect File Type", + "Scan for Embedded Files", + "Remove EXIF", + "Extract EXIF", "Render Image", "Play Media" ] @@ -354,16 +358,12 @@ "Entropy", "Frequency distribution", "Chi Square", - "Detect File Type", - "Scan for Embedded Files", "Disassemble x86", "Pseudo-Random Number Generator", "Generate UUID", "Generate TOTP", "Generate HOTP", "Haversine distance", - "Remove EXIF", - "Extract EXIF", "Numberwang", "XKCD Random Number" ] diff --git a/src/core/operations/PlayMedia.mjs b/src/core/operations/PlayMedia.mjs index e6ac53e4..81328a73 100644 --- a/src/core/operations/PlayMedia.mjs +++ b/src/core/operations/PlayMedia.mjs @@ -23,8 +23,8 @@ class PlayMedia extends Operation { super(); this.name = "Play Media"; - this.module = "Media"; - this.description = "Plays the input as sound or video depending on the type."; + this.module = "Default"; + this.description = "Plays the input as audio or video depending on the type.

Tags: sound, movie, mp3, mp4, mov, webm, wav, ogg"; this.infoURL = ""; this.inputType = "string"; this.outputType = "byteArray"; @@ -44,7 +44,7 @@ class PlayMedia extends Operation { * @returns {byteArray} The multimedia data as bytes. */ run(input, args) { - const inputFormat = args[0]; + const [inputFormat] = args; if (!input.length) return []; @@ -68,7 +68,7 @@ class PlayMedia extends Operation { // Determine file type const type = Magic.magicFileType(input); if (!(type && /^audio|video/.test(type.mime))) { - throw new OperationError("Invalid file type"); + throw new OperationError("Invalid or unrecognised file type"); } return input; @@ -77,6 +77,7 @@ class PlayMedia extends Operation { /** * Displays an audio or video element that may be able to play the media * file. + * * @param data {byteArray} Data containing an audio or video file. * @returns {string} Markup to display a media player. */