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 ORed 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 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 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 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 <Module>=<Options> where <Module> 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 *