Skip to content

feat: add JS6Chars decoder operation - #2358

Closed
Roma476 wants to merge 6 commits into
gchq:masterfrom
Roma476:feature/from-jsfuck
Closed

Roma476 wants to merge 6 commits into
gchq:masterfrom
Roma476:feature/from-jsfuck

Conversation

@Roma476

@Roma476 Roma476 commented May 4, 2026

Copy link
Copy Markdown

Adds a new operation to decode JSFuck encoded JavaScript.

JSFuck is an esoteric programming style that uses only 6 characters: [ ] ( ) ! +

Closes #1054

Changes:

  • Added src/core/operations/FromJSFuck.mjs
  • Added operation to Code tidy category in Categories.json
  • Added tests in tests/operations/tests/FromJSFuck.mjs

@Roma476 Roma476 changed the title Add From JSFuck operation feat: add JSFuck decoder operation May 4, 2026
@GCHQDeveloper581

Copy link
Copy Markdown
Contributor

Apologies but we are unable to accept this due to the name of the operation / underlying encryption standard not being corporately acceptable.

@Roma476

Roma476 commented Jul 18, 2026

Copy link
Copy Markdown
Author

Hi @GCHQDeveloper581, thank you for the feedback. I completely understand the corporate policy limitations regarding the name.

If I rename the operation and all related files to something like "From Esoteric JS", while keeping the exact same decoding logic, would you be open to reopening and merging this PR?

Let me know what name works best for your corporate standards, and I will gladly update the commits.

@GCHQDeveloper581

Copy link
Copy Markdown
Contributor

In principle, yes. It would have to depend on how sanitised you could make it. The biggest problem I can envisage is that the wikipedia link itself contains the 'non-corporate' word.

Also a question of "how would people who had a use case find the correct operation"

@Roma476

Roma476 commented Jul 20, 2026

Copy link
Copy Markdown
Author

@GCHQDeveloper581 I renamed the operation to "From JS6Chars" and pushed to this branch. Removed every reference to the old name and dropped the Wikipedia infoURL since the link itself had the flagged term. Description now explains the mechanism in plain terms (6 characters: [ ] ( ) ! +), which should also help with discoverability.
The commit might not show up yet on this page since it was pushed after the PR was closed. Here's the updated file if it helps: https://github.com/Roma476/CyberChef/blob/feature/from-jsfuck/src/core/operations/FromJS6Chars.mjs
Let me know if the name or wording needs adjusting. I can't reopen closed PRs myself, could you reopen this one?

@Roma476 Roma476 changed the title feat: add JSFuck decoder operation feat: add JS6Chars decoder operation Jul 20, 2026
@GCHQDeveloper581

Copy link
Copy Markdown
Contributor

I think it's best if you rename the branch, squash the commits, and start a new PR.

I haven't reviewed it line by line, but at first sight it's looking good (and addresses my original concerns).

@Roma476

Roma476 commented Jul 22, 2026

Copy link
Copy Markdown
Author

@GCHQDeveloper581 Opened the new PR with a single squashed commit as requested: #2681

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: JSF**k resolver

2 participants