You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All notable changes to this project will be documented in this file.
3
+
4
+
## [8.0.0] - 2018-08-05
5
+
- Codebase rewritten using [ES modules](https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/) and [classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes)#284
6
+
- Operation architecture restructured to make adding new operations a lot simpler #284
7
+
- A script has been added to aid in the creation of new operations by running `npm run newop`@n1474335#284
8
+
- 'Magic' operation added - [automated detection of encoded data](https://github.com/gchq/CyberChef/wiki/Automatic-detection-of-encoded-data-using-CyberChef-Magic)@n1474335#239
9
+
- UI updated to use [Bootstrap Material Design](https://fezvrasta.github.io/bootstrap-material-design/)@n1474335#248
10
+
-`JSON`, `File` and `List<File>` Dish types added @n1474335#284
11
+
-`OperationError` type added for better handling of errors thrown by operations @d98762625#296
12
+
- A `present()` method has been added, allowing operations to pass machine-friendly data to subsequent operations whilst presenting human-friendly data to the user @n1474335#284
- Added support for loading, processing and downloading files up to 500MB @n1474335#224
20
+
21
+
## [6.0.0] - 2017-09-19
22
+
- Added threading support, moving all recipe processing into a [Web Worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers) to increase performance and allow long-running operations to be cancelled @n1474335#173
23
+
- Created modules so that operations relying on large libraries can be downloaded separately as required, reducing the initial loading time for the app @n1474335#173
24
+
25
+
## [5.0.0] - 2017-03-30
26
+
- Configured Webpack build process, Babel transpilation and ES6 imports and exports @n1474335#95
Copy file name to clipboardExpand all lines: README.md
+8-2
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@
12
12
13
13
CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. These operations include simple encoding like XOR or Base64, more complex encryption like AES, DES and Blowfish, creating binary and hexdumps, compression and decompression of data, calculating hashes and checksums, IPv6 and X.509 parsing, changing character encodings, and much more.
14
14
15
-
The tool is designed to enable both technical and non-technical analysts to manipulate data in complex ways without having to deal with complex tools or algorithms. It was conceived, designed, built and incrementally improved by an analyst in their 10% innovation time over several years. Every effort has been made to structure the code in a readable and extendable format, however it should be noted that the analyst is not a professional developer.
15
+
The tool is designed to enable both technical and non-technical analysts to manipulate data in complex ways without having to deal with complex tools or algorithms. It was conceived, designed, built and incrementally improved by an analyst in their 10% innovation time over several years.
16
16
17
17
## Live demo
18
18
@@ -43,16 +43,19 @@ You can use as many operations as you like in simple or complex ways. Some examp
43
43
-[Carry out different operations on data of different types][8]
44
44
-[Use parts of the input as arguments to operations][9]
45
45
-[Perform AES decryption, extracting the IV from the beginning of the cipher stream][10]
46
+
-[Automagically detect several layers of nested encoding][12]
46
47
47
48
48
49
## Features
49
50
50
51
- Drag and drop
51
52
- Operations can be dragged in and out of the recipe list, or reorganised.
52
-
- Files can be dragged over the input box to load them directly into the browser.
53
+
- Files up to 500MB can be dragged over the input box to load them directly into the browser.
53
54
- Auto Bake
54
55
- Whenever you modify the input or the recipe, CyberChef will automatically "bake" for you and produce the output immediately.
55
56
- This can be turned off and operated manually if it is affecting performance (if the input is very large, for instance).
57
+
- Automated encoding detection
58
+
- CyberChef uses [a number of techniques](https://github.com/gchq/CyberChef/wiki/Automatic-detection-of-encoded-data-using-CyberChef-Magic) to attempt to automatically detect which encodings your data is under. If it finds a suitable operation which can make sense of your data, it displays the 'magic' icon in the Output field which you can click to decode your data.
56
59
- Breakpoints
57
60
- You can set breakpoints on any operation in your recipe to pause execution before running it.
58
61
- You can also step through the recipe one operation at a time to see what the data looks like at each stage.
@@ -81,6 +84,8 @@ CyberChef is built to support
81
84
82
85
## Contributing
83
86
87
+
Contributing a new operation to CyberChef is super easy! There is a quickstart script which will walk you through the process. If you can write basic JavaScript, you can write a CyberChef operation.
88
+
84
89
An installation walkthrough, how-to guides for adding new operations and themes, descriptions of the repository structure, available data types and coding conventions can all be found in the project [wiki pages](https://github.com/gchq/CyberChef/wiki).
85
90
86
91
- Sign the [GCHQ Contributor Licence Agreement](https://github.com/gchq/Gaffer/wiki/GCHQ-OSS-Contributor-License-Agreement-V1.0)
@@ -104,3 +109,4 @@ CyberChef is released under the [Apache 2.0 Licence](https://www.apache.org/lice
0 commit comments