mitmproxy/libmproxy/contrib/jsbeautifier/unpackers
2014-03-10 22:36:47 +01:00
..
__init__.py always use relative imports, fix status bar bug 2014-03-10 22:36:47 +01:00
evalbased.py Pretty view now indents Javascript. 2012-03-25 10:56:45 +13:00
javascriptobfuscator.py Pretty view now indents Javascript. 2012-03-25 10:56:45 +13:00
myobfuscate.py Pretty view now indents Javascript. 2012-03-25 10:56:45 +13:00
packer.py Pretty view now indents Javascript. 2012-03-25 10:56:45 +13:00
README.specs.mkd Pretty view now indents Javascript. 2012-03-25 10:56:45 +13:00
urlencode.py Pretty view now indents Javascript. 2012-03-25 10:56:45 +13:00

UNPACKERS SPECIFICATIONS

Nothing very difficult: an unpacker is a submodule placed in the directory where this file was found. Each unpacker must define three symbols:

  • PRIORITY : integer number expressing the priority in applying this unpacker. Lower number means higher priority. Makes sense only if a source file has been packed with more than one packer.
  • detect(source) : returns True if source is packed, otherwise, False.
  • unpack(source) : takes a source string and unpacks it. Must always return valid JavaScript. That is to say, your code should look like:
if detect(source):
    return do_your_fancy_things_with(source)
else:
    return source

You can safely define any other symbol in your module, as it will be ignored.

__init__ code will automatically load new unpackers, without any further step to be accomplished. Simply drop it in this directory.