katana.units.esoteric.jsfuck — JSFuck

JSFuck decoder

This unit will attempt to execute JSFuck and look for flags in the result.

class katana.units.esoteric.jsfuck.Unit(*args, **kwargs)

Bases: katana.unit.NotEnglishUnit

DEPENDENCIES = ['node']

Because this requires JavaScript code, node is a necessary binary dependency.

GROUPS = ['esoteric', 'jsfuck', 'javascript']

These are “tags” for a unit. Considering it is a Esoteric unit, “esoteric” is included, as well as the unit name “jsfuck”, and the tag “javascript”.

PRIORITY = 60

Priority works with 0 being the highest priority, and 100 being the lowest priority. 50 is the default priorty. This unit has a moderately low priority because it requires an external tool.

RECURSE_SELF = False

It would not make sense to recurse into ourself. We shouldn’t get JSFuck out.

evaluate(case: Any)

Evaluate the target. Run the target as JSFuck code and return the evaluated source code to Katana.

Parameters:case – A case returned by enumerate. For this unit, the enumerate function is not used.
Returns:None. This function should not return any data.