mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-24 09:15:55 +00:00
26 lines
1017 B
Markdown
26 lines
1017 B
Markdown
|
# 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.
|