Options

Command line arguments (options) can be:

* `–compress` or `-c`

Choose the compressor to use. This option is definitely subject to future changes as it works like a numeric “selector”. There are currently four compressors which can be chosen by repeatedly giving the `c` option. Compressor #4 (RLE encoding and Huffman table compression) is activated like so: `-cccc`.

* `–debug` or `-d`

Takes a hexadecimal number as value to activate debugging output. Flags can be `OR`ed together from these:

* `0x01` — Token reading
* `0x02` — States information
* `0x04` — Driver actions (shifts, reduces, accept…)
* `0x08` — Parse Stack dump
* `0x10` — Error Recovery tracing
* `0x20` — Identifier mapping (obfuscate stage)
* `0x40` — General information

* `–no-encode` or `-E`

String encoding will be turned off. See [the features page](/projects/yasco/features) for details.

* `–file` or `-f`

Read input from a given file rather than from STDIN.

* `–hash-encrypt` or `-H`

Turn on obfuscation of hashes. See [the features page](/projects/yasco/features) for details.

* `–no-auto-insert` or `-I`

Turn off automatic semicolon insertion.

* `–no-logo` or `-L`

Suppress the “a general eyesore” message and copyright information in the output.

* `–no-mapping` or `-M`

Variable and function name substitution will not take place. See [the features page](/projects/yasco/features) for details.

* `–map-from-scope` or `-m`

Begin variable and function name substitution at a certain scope level. Argument is numeric and indicates the depth of scope beginning at level zero.

* `–newlines` or `-n`

By default, the generated output is a one-liner. Passing this numeric option enables insertion of newline characters under certain conditions:

* `0x01` — newline after ‘;’ (“one statement per line”)
* `0x02` — newline after scope-closing brace ‘}’
* `0x04` — newline after `ASSIGN` operations
* `0x08` — newline after `RETURN` statements

* `–output` or `-o`

Write output to file specified through this option instead of STDOUT.

* `–option` or `-O`

Pass options to modules like the compressor. Value should be `=` where `` could be `Yaso::Filter::Compress4` and options are passed as a comma delimited key-value list: `verbose:1,debug:0`.

Leave a Reply

Your email address will not be published. Required fields are marked *