Commit Graph

474 Commits

Author SHA1 Message Date
Matt C
789ec94eff Converted Bifid & moved over tests 2018-05-09 20:28:28 +01:00
Matt C
f87666f659 Converted Affine/Atbash operations to mjs & added tests 2018-05-09 20:18:33 +01:00
n1474335
6987e6b1b9 ESM: Ported Bit shift, MAC address and Morse Code operations. 2018-05-07 12:12:58 +01:00
n1474335
0ca0e7427d Merge branch 'esm' of github.com:gchq/CyberChef into esm 2018-05-07 11:35:35 +01:00
n1474335
be61419b80 ESM: Added remaining ByteRepr operations. 2018-05-06 13:18:41 +01:00
n1474335
1f877817f4 ESM: Added portOperation.mjs script. Added To and From Hexdump operations. 2018-05-06 12:24:01 +01:00
n1474335
8556bdcdeb Tidied up 'To Table' operation, adding better CSV parsing support. 2018-05-04 16:10:22 +00:00
n1474335
8fc5f59647 Merge branch 'totable-operation' of https://github.com/JustAnotherMark/CyberChef into JustAnotherMark-totable-operation 2018-05-01 15:41:51 +00:00
n1474335
e2376c7c71 'BSON serialise' errors are now thrown correctly 2018-04-30 17:55:21 +00:00
n1474335
0dbc7d4fd1 Tidied up OperationError code. 2018-04-30 17:25:13 +00:00
n1474335
72f7f0b70c Utils.fromHex function now defaults to automatically strip all delimiters. Fixes #295 2018-04-30 16:51:04 +00:00
n1474335
f81012ef6e CRC Checksum operations now send their input as ArrayBuffers. Tests added. Fixes #293 2018-04-29 21:44:54 +01:00
d98762625
cc20ad9567 Add OperationError error type and use for errors to be printed to the output panel 2018-04-27 10:59:53 +01:00
Mark Jones
411bba53a8 Fix code style issues raised by linting. 2018-04-26 13:00:35 +01:00
Mark Jones
e2af3c78e7 Added ToTable operation to output data as ASCII or HTML tables. 2018-04-26 00:33:19 +01:00
n1474335
a8aa1bc5e8 Added File and JSON Dish types and updated types for compression ops. 2018-04-21 13:41:42 +01:00
n1474335
76a066ab74 The raw, unpresented dish is now returned to the app after baking, where it can be retrieved as various different data types. 2018-04-21 12:25:48 +01:00
n1474335
4e38b09e18 ESM: Config scripts now run synchronously before webpack builds start 2018-04-11 17:58:40 +00:00
n1474335
dc5ce31087 ESM: .gitignore now ignores generated files 2018-04-11 17:30:15 +00:00
n1474335
e99331f305 ESM: Tidied up Set operations 2018-04-11 17:29:02 +00:00
d98762625
955a082614 add lint command to package.json. Remove old conflict remnants 2018-04-09 15:38:44 +01:00
d98762625
bbc580e71b Quick fix for empty recipe error. Changed deflate back to compression module 2018-04-09 15:21:09 +01:00
d98762625
76f27dbcdb pull from upstream 2018-04-09 11:23:18 +01:00
d98762625
543dce5721 remove setOps operation 2018-04-09 11:19:05 +01:00
d98762625
adc4f78e99 Add other set operations 2018-04-09 11:13:23 +01:00
d98762625
852c95a994 add Set Difference operation 2018-04-09 10:23:05 +01:00
n1474335
b7ed1becba ESM: Added new List<File> Dish type. Added present() method for displaying operation output in a nice way. Testing required. 2018-04-06 18:11:13 +00:00
d98762625
03ecaa81f7 move Set Intersection into its own operation class 2018-04-06 16:52:59 +01:00
d98762625
5f93c667a2 Pull SetUnion into its own operation 2018-04-06 16:27:24 +01:00
n1474335
fad4713a90 ESM: Tidied up Rotate operations 2018-04-06 12:40:39 +00:00
d98762625
f491461a57 inital move of two ops 2018-04-04 17:37:19 +01:00
d98762625
7ce1bf1048 merge esm 2018-04-04 16:00:37 +01:00
Matt C
7e86f02e4e Deleted legacy Rotate module 2018-04-03 22:51:50 +01:00
Matt C
4988ead918 Rotate module converted to ESM
4 Ops:
- ROT-13
- ROT-47
- Rotate left
- Rotate right
+ module containing common functions
2018-04-03 22:50:26 +01:00
n1474335
083d2d1cc4 ESM: Added Zlib ops and created a Zlib library. 2018-04-02 20:46:55 +01:00
n1474335
fbb3a02315 ESM: The operations index is now generated automatically 2018-04-02 19:24:25 +01:00
n1474335
eeb1d0a891 ESM: Added Hex ops and created a Hex library. 2018-04-02 18:06:48 +01:00
n1474335
041cd9fb8e ESM: Added remaining Base64 ops and created a Base64 library. Added the prefer-const eslint rule. 2018-04-02 17:10:51 +01:00
n1474335
81e62a6c22 Merge branch 'master' of github.com:gchq/CyberChef 2018-03-29 00:00:09 +01:00
n1474335
1097170a68 Updated dependencies 2018-03-28 23:56:33 +01:00
n1474335
e41145427e Tidied up PGP operations and added progress callback 2018-03-28 23:26:48 +01:00
n1474335
caadf8e762 Added tags to X.509 operation description 2018-03-28 10:22:22 +00:00
n1474335
1143c23ad9 Merge branch 'feature-add-pgp-kbpgp' of https://github.com/tlwr/CyberChef into tlwr-feature-add-pgp-kbpgp 2018-03-27 00:07:20 +01:00
n1474335
9b4fc3d3aa Converted the core to ES modules 2018-03-26 23:14:23 +01:00
n1474335
715ca1c292 Added Bcrypt, Scrypt, BSON and string operations along with many new tests. 2018-03-26 22:25:36 +01:00
d98762625
f3610e7c95 fix lint errors 2018-03-25 17:44:10 +01:00
d98762625
951568ce22 use bind for partial application of power set function 2018-03-25 17:27:14 +01:00
d98762625
e8bb9e264d more comments 2018-03-25 17:10:55 +01:00
d98762625
208cb05c74 reuse difference function for symmetric difference 2018-03-25 17:03:05 +01:00
d98762625
2c68be3193 add comments 2018-03-25 16:42:33 +01:00
n1474335
2f5b0533d8 Added note to 'From UNIX Timestamp' op regarding date formats. 2018-03-23 20:08:53 +00:00
n1474335
12c226f874 Updated DisassembleX86-64 library to fix issue with call instrution. Closes #246. 2018-03-23 20:01:56 +00:00
d98762625
20e54a8ecf add tests for setOperations 2018-03-22 18:11:24 +00:00
71846
7d15bfe58a initial functionality commit 2018-03-16 14:42:55 +00:00
n1474335
567474ce00 Removed confusing delimiters from fuzzy hash comparison ops 2018-03-04 18:49:05 +00:00
n1474335
242bad09ea Added SSDEEP and CTPH operations 2018-03-04 18:41:41 +00:00
n1474335
f47a408755 Fix for UTF-8/binary handling in hashing operations. Added tests to prevent future breakages. Closes #249. 2018-03-04 17:39:53 +00:00
n1474335
574207c626 Updated many dependencies including Webpack (v4) and crypto-api (v0.8) 2018-03-01 19:45:34 +00:00
n1474335
da473de9f0 Switched from uas_parser.js to ua-parser-js library to improve library management and remove ReDos vulnerabilities. Also improved performance of two native regexes. Thanks to James Davis for raising awareness. 2018-02-28 16:40:15 +00:00
n1474335
8cef6db482 Added IPv6 interface IDs to the 'Format MAC address' operation 2018-02-21 11:24:38 +00:00
n1474335
56d33ea487 Magic operation now calculates the entropy of each option and displays tooltips explaining the properties. 2018-02-19 17:25:28 +00:00
n1474335
5b1ac3de18 Reduced byte length in 'Unescape Unicode Characters' 2018-02-16 13:33:33 +00:00
n1474335
559741fd07 Fixed a few small bugs 2018-02-15 18:46:17 +00:00
n1474335
b3c52a8601 Magic operation now brute forces character encodings. Linted. 2018-02-15 17:38:39 +00:00
n1474335
27ec4aa923 Magic operation now recognises useful operations such as 'Render Image' even though their output cannot be analysed 2018-02-15 13:39:55 +00:00
n1474335
1760ab2305 Recipe errors are now ignored in the Magic operation 2018-02-14 17:00:14 +00:00
n1474335
99ade42e9a Added 'Intensive mode' to the Magic operation, where it brute-forces various simple encodings like XOR or bit rotates. 2018-02-14 16:08:59 +00:00
n1474335
544d78f461 The Magic operation now only checks the most commonly used Internet languages by default, to lower false positives and improve performance. 2018-02-14 13:08:03 +00:00
n1474335
50f2819699 OR now calls the correct function instead of duplicating XOR. Closes #243. 2018-02-14 10:34:08 +00:00
n1474335
8518fa67f2 Added 'XKCD Random Number' operation 2018-02-13 15:05:55 +00:00
n1474335
2bc563b693 Added support for 238 languages to the Magic operation. 2018-02-10 17:53:59 +00:00
n1474335
23bdfd04a2 Magic operation now shows matching ops even if they are not run. 2018-02-10 15:31:50 +00:00
n1474335
6624f25a64 Magic operation now detects UTF8 and gives a probability score for each language 2018-02-10 15:10:53 +00:00
n1474335
1c711f5e03 Updated dependencies 2018-01-26 19:14:05 +00:00
n1474335
e55cfe0bc1 Fixed 'Syntax highlighter' operation. Using highlight.js instead of google-code-prettify. 2018-01-25 18:41:47 +00:00
n1474335
870c2b6d8b Fixed deep copy bug with Fork/Register ingredient values. 2018-01-25 14:03:13 +00:00
n1474335
f528930ad2 Added 'Sleep' operation. 2018-01-25 13:44:39 +00:00
n1474335
8e6763c165 'Register' and 'Fork' now play well together. 2018-01-24 16:54:37 +00:00
n1474335
bb077c87b3 'Extract file paths' operation now handles 8.3 windows file paths correctly. 2018-01-24 15:50:05 +00:00
n1474335
865ee6a720 Magic operation tidying 2018-01-23 01:15:13 +00:00
n1474335
6947d2a7f3 Magic operation now displays an ordered table of the most likely decodings. 2018-01-22 23:34:24 +00:00
n1474335
28abd00d82 Added speculative execution of recipes to determine the most likely decodings. 2018-01-22 22:06:26 +00:00
n1474335
57314b77e5 Merge branch 'master' into feature-magic 2018-01-22 20:04:51 +00:00
n1474335
b035f6c410 Added detection patterns for X.509 certs, Morse Code, Tar, images and BCD. 2018-01-22 19:57:41 +00:00
n1474335
615a020469 Added detection patterns for UNIX timestamps, Zlib deflate, Gzip, Zip and Bzip2. 2018-01-22 17:50:00 +00:00
n1474335
6220128a74 Fixed delimiter options in StrUtils. Closes #238. 2018-01-22 17:09:58 +00:00
n1474335
512487328d Fixed bugs in pretty recipe format generation 2018-01-18 18:35:17 +00:00
n1474335
aa2b3b2843 Changed order of split delimiters, placing comma first. 2018-01-18 15:26:09 +00:00
Chris van Marle
90d8be48d4 Make Split more flexible so it can be used to join 2018-01-17 15:52:25 +01:00
n1474335
48f8ca693d Added detection patterns for Octal, Binary, Decimal, Hexdumps, HTML Entities, URL encoding, escaped Unicode, and Quoted Printable encoding. 2018-01-14 18:26:06 +00:00
n1474335
a1624a9215 Added detection patterns for non-standard Base64 alphabets, Base58 and Base32. 2018-01-14 17:28:56 +00:00
n1474335
fc2828fee3 Added Magic operation with the ability to detect language, file type and some encoding types. 2018-01-14 16:07:39 +00:00
n1474335
fff188eb30 Merged master into feature-unicode-strings 2018-01-12 23:57:02 +00:00
n1474335
71067939e3 Added Regex tests and updated description 2018-01-12 23:51:51 +00:00
n1474335
b07c014b48 Added more modifiers to the Regex operation 2018-01-12 23:42:48 +00:00
n1474335
f2c073798b 'Strings' now supports various different match types in ASCII and Unicode 2018-01-12 23:09:27 +00:00
n1474335
4cc38db895 Added documentation. 2018-01-12 22:14:06 +00:00
n1474335
8e5d43dfa8 Merge branch 'feature-hamming' 2018-01-12 18:28:55 +00:00
n1474335
82ad8cc444 BigNumber Dish types are now converted to fixed notation instead of exponential when translated between types 2018-01-12 18:28:40 +00:00
Matt C
50a3cc57ad Fixed missing newline 2018-01-12 18:18:52 +00:00
n1474335
1d6bf39548 Added 'Hamming Distance' operation. 2018-01-12 18:17:28 +00:00
Matt C
7554cbda72 Added PGP Sign/Verify operations 2018-01-12 16:52:15 +00:00
Matt C
6a67fe09de Added passphrase support to importing private key 2018-01-12 12:03:46 +00:00
Matt C
f07263ca2a Fix decrypt operation 2018-01-12 11:45:16 +00:00
Matt C
bfbefb7318 Merge branch 'master' into features/add-pgp-kbpgp 2018-01-11 22:57:31 +00:00
n1474335
ec02b7deda Regexes are now checked for 0-length matches and incremented manually to avoid infinite loops 2018-01-10 19:44:25 +00:00
n1474335
6f59d9217c Changed 'Number' option to 'Integer' in PRNG op 2018-01-06 17:01:01 +00:00
n1474335
429829471f Merge branch 'feature-paste-performance' 2018-01-06 16:33:12 +00:00
n1474335
4760e539b7 PRNG operation now supports BigNumbers as output 2018-01-06 16:30:17 +00:00
n1474335
f53e7ad617 Chef now defaults to treat as UTF8 if option is not set 2018-01-06 16:21:42 +00:00
n1474335
28c83fa921 Dish translation now obeys UTF8 rules 2018-01-06 16:02:50 +00:00
n1474335
4588cd151c Data pasted into the input is treat as a file if it's over the IO threshold 2018-01-06 15:29:58 +00:00
n1474335
53eba2337c BCD operations now support BigNumbers 2018-01-05 18:38:23 +00:00
n1474335
283d3e1e7b Blank BigNumber dishes are now treat as NaN instead of erroring 2018-01-05 18:20:06 +00:00
n1474335
7992a540ae Conversion operations now support BigNumbers 2018-01-05 18:14:03 +00:00
n1474335
3f3e7a78eb Arithmetic operations now support BigNumbers 2018-01-05 18:04:55 +00:00
n1474335
8d3d39acd3 Merge branch 'features/big-number' of https://github.com/artemisbot/CyberChef into artemisbot-features/big-number 2018-01-05 17:31:27 +00:00
n1474335
7b20aba2ff Improved descriptions for 'Unescape string' and 'Escape string' operations 2018-01-04 18:32:03 +00:00
n1474335
566adbcda5 'Unescape string' operation now works with capitalised hex 2018-01-04 17:48:01 +00:00
n1474335
56551712d6 Began implementing UTF-16 support in the 'Strings' operation. 2018-01-03 16:51:10 +00:00
Matt C
c241d2f90b Adds basic BigNumber type support
Fixes `To Base` & `From Base` issues as reported on twitter
2018-01-03 11:26:31 +00:00
n1474335
90d9e087f7 'Take bytes' and 'Drop bytes' operations now support ArrayBuffers 2018-01-02 15:33:02 +00:00
n1474335
50b24d9a56 Fixed no-trailing-space lint 2018-01-02 14:46:35 +00:00
n1474335
a3f58fb831 Added 'Pseudo-Random Number Generator' operation. 2018-01-01 20:50:01 +00:00
n1474335
f52f5a0edb Added 'RC2 Encrypt' and 'RC2 Decrypt' operations. 2018-01-01 19:50:06 +00:00
n1474335
b58942f69a Rewrote PBKDF2 operation to use Forge instead of CryptoJS and improved the API for both PBKDF2 and EVP operations. 2018-01-01 18:49:22 +00:00
n1474335
68e52d1645 Removed CryptoJS encodings from Blowfish operations. 2018-01-01 17:54:45 +00:00
n1474335
9fc7e6cd98 Rewrote AES, DES and Triple DES operations to use Forge instead of CryptoJS, simplifying their options and adding many tests. Removed Rabbit operations. Fixes #63 and #210. 2018-01-01 16:09:58 +00:00
n1474335
fa6905ef00 Added more comprehensive logging to FlowControl ops and added '>' prefix to all ChefWorker logs to improve clarity 2017-12-29 17:32:23 +00:00
n1474335
a96eb450de Improved Recipe logging 2017-12-28 18:24:29 +00:00
n1474335
d079420d46 Added logging with configurable levels to make debugging easier. 2017-12-28 18:17:38 +00:00
n1474335
75a554e215 'To Base64' and 'To Hexdump' operations now support ArrayBuffers 2017-12-28 15:59:58 +00:00
n1474335
849d41ee56 Removed padLeft and padRight in favour of String.prototype.padStart and padEnd. 'To Hex' now supports ArrayBuffers. 2017-12-28 14:38:57 +00:00
n1474335
e18ec5f2b2 Changed inputType to ArrayBuffer for 'Frequency distribution', 'Chi Square' and 'Extract EXIF' operations. 2017-12-28 00:24:16 +00:00
n1474335
e2161ec934 Resolved conflicts 2017-12-27 12:50:29 +00:00
n1474335
caf794b01d Threshold for treating output as a file is now configurable 2017-12-27 12:29:10 +00:00
n1474335
53a3f3d452 Changed inputType for file magic byte operations to ArrayBuffer 2017-12-26 22:05:10 +00:00
n1474335
af71ca6a25 Output over 1MiB is passed back as an ArrayBuffer and an output file card is displayed. 2017-12-26 00:44:40 +00:00
n1474335
0e7989111f Removed CryptoJS from Utils.js. UTF8 conversion is now achieved with the much smaller and actively maintained utf8 library. 2017-12-25 23:11:52 +00:00
Toby Lorne
db8955d90d WIP: add encrypt and decrypt operations
Currently the encrypt operation works only to my public key and not to
keys generated by the generate key pair operation. Probably something
wrong with the generate operation.
2017-12-24 17:44:32 +00:00
n1474335
98f59ace3a Small tweaks to the arithmetic ops 2017-12-21 15:12:06 +00:00
n1474335
c1fb6d9776 Merge branch 'math' of https://github.com/bwhitn/CyberChef into bwhitn-math 2017-12-21 14:46:37 +00:00
Matt C
670566b7eb Promisified generation of key pair 2017-12-21 14:23:31 +00:00
bwhitn
fc7d2c2f52 separated all functions and updated comments/descriptions 2017-12-21 05:58:31 -08:00
bwhitn
0fea84ed7a WIP 2017-12-21 00:19:47 -05:00
n1474335
5e7f8e3976 Removed unnecessary whitespace 2017-12-20 16:34:21 +00:00
n1474335
d47b7b9242 Merge branch 'bug-numberwang' 2017-12-20 15:56:47 +00:00
n1474335
09b6661e35 Fixed trailing spaces 2017-12-20 15:51:57 +00:00
n1474335
57b1667b69 Fixed the Numberwang algorithm to correctly recognise recently discovered Numberwang values. Fixes #204 2017-12-20 15:45:58 +00:00
n1474335
317327d097 CSS selector operation now works in a web worker. Fixes #218 2017-12-20 13:30:51 +00:00