Socket
Socket
Sign inDemoInstall

grunt-jjencode

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    grunt-jjencode

Grunt plugin to obfuscate using jjencode method


Version published
Weekly downloads
7
Maintainers
1
Install size
17.3 kB
Created
Weekly downloads
 

Readme

Source

This is a Work In Progress

grunt-jjencode

Grunt plugin to obfuscate using jjencode method

Disclaimer

I don't own or have developed 'jjencode' function, I found it on this website but I don't know if they're the rightful owners. If anybody can point me to the rightfull owner please create a ticket and I'll update this description ASAP.

This plugin is designed to obfuscate code, given a simple code like:

window.testInfo = {
    plugin: 'jjencode',
    taksRunner: 'grunt'
};

will generate the following output

$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+"\\"+$.__$+$.$$_+$.$$$+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$_$+$.$$_+$.$$_$+$._$+"\\"+$.__$+$.$$_+$.$$$+"."+$.__+$.$$$_+"\\"+$.__$+$.$$_+$._$$+$.__+"\\"+$.__$+$.__$+$.__$+"\\"+$.__$+$.$_$+$.$$_+$.$$$$+$._$+"\\"+$.$__+$.___+"=\\"+$.$__+$.___+"{\\"+$.__$+$._$_+"\\"+$.$__+$.___+"\\"+$.$__+$.___+"\\"+$.$__+$.___+"\\"+$.$__+$.___+"\\"+$.__$+$.$$_+$.___+(![]+"")[$._$_]+$._+"\\"+$.__$+$.$__+$.$$$+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$_$+$.$$_+":\\"+$.$__+$.___+"'\\"+$.__$+$.$_$+$._$_+"\\"+$.__$+$.$_$+$._$_+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.$$__+$._$+$.$$_$+$.$$$_+"',\\"+$.__$+$._$_+"\\"+$.$__+$.___+"\\"+$.$__+$.___+"\\"+$.$__+$.___+"\\"+$.$__+$.___+$.__+$.$_$_+"\\"+$.__$+$.$_$+$._$$+"\\"+$.__$+$.$$_+$._$$+"\\"+$.__$+$._$_+$._$_+$._+"\\"+$.__$+$.$_$+$.$$_+"\\"+$.__$+$.$_$+$.$$_+$.$$$_+"\\"+$.__$+$.$$_+$._$_+":\\"+$.$__+$.___+"'\\"+$.__$+$.$__+$.$$$+"\\"+$.__$+$.$$_+$._$_+$._+"\\"+$.__$+$.$_$+$.$$_+$.__+"'\\"+$.__$+$._$_+"};"+"\"")())();

Notice that will generate a variable on the global scope. You can set up the variable using the options.

Getting Started

This plugin requires Grunt.

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-jjencode --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-jjencode');

The "jjencode" task

Overview

In your project's Gruntfile, add a section named jjencode to the data object passed into grunt.initConfig().

grunt.initConfig({
  jjencode: {
    options: {
      variable: '$'
    },
    your_target: {
      'result.js': ['source.js']
    },
  },
})

Options

options.variable

Type: String Default value: '$'

Variable where the encoded information will be attached to.

Usage Examples

Default Options

In this example, the default options are used to do something with whatever. So if the testing file has the content Testing and the 123 file had the content 1 2 3, the generated result would be Testing, 1 2 3.

grunt.initConfig({
  jjencode: {
    options: {},
    files: {
      'dest/result.js': ['src/original.js', 'src/second_original.js'],
    },
  },
})
Custom Options

In this example, custom options are used to do something else with whatever else. So if the testing file has the content Testing and the 123 file had the content 1 2 3, the generated result in this case would be Testing: 1 2 3 !!!

grunt.initConfig({
  jjencode: {
    options: {
      variable: 'encoded'
    },
    files: {
      'dest/result.js: ['src/original.js', 'src/second_original.js'],
    },
  },
})

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2013-12-23 v.0.0.1 Initial release.
  • 2013-12-23 v.0.1.0 First release, documentation and unit tests updated.

License

Copyright (c) 2013 Blai Pratdesaba hello@blaipratdesaba.com. Licensed under the MIT license.

Keywords

FAQs

Last updated on 23 Dec 2013

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc