katana.units.raw.strings — Find plaintext strings

Parse plaintext strings from a file with the strings command-line tool.

You can supply a minimum length of the data that strings will return as an argument length. The syntax of the command being run is:

strings <target_path> -n <length_argument>

The unit inherits from katana.unit.FileUnit to ensure the target is a file.

class katana.units.raw.strings.Unit(manager: katana.manager.Manager, target: katana.target.Target, keywords=None)

Bases: katana.unit.FileUnit

BLOCKED_GROUPS = ['decode']

THis unit does not recurse to “decode” units, since they are capable of finding their targets within a file by regular expression

DEPENDENCIES = ['strings']

Required depenencies for this unit “strings”

GROUPS = ['raw', 'strings']

These are “tags” for a unit. Considering it is a Raw unit, “raw” is included, and the name of this unit itself “strings”.

PRIORITY = 50

Priority works with 0 being the highest priority, and 100 being the lowest priority. 50 is the default priorty. This unit has a moderately high priority due to speed and broadness of applicability

evaluate(case: Any)

Evaluate the target. Run strings on the target and recurse on any newfound information.

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.