mythril.interfaces package

Submodules

mythril.interfaces.cli module

mythril.py: Bug hunting on the Ethereum blockchain

http://www.github.com/ConsenSys/mythril

mythril.interfaces.cli.add_analysis_args(options)[source]

Adds arguments for analysis

Parameters:options – Analysis Options
mythril.interfaces.cli.add_graph_commands(parser: argparse.ArgumentParser)[source]
mythril.interfaces.cli.contract_hash_to_address(args: argparse.Namespace)[source]

prints the hash from function signature :param args: :return:

mythril.interfaces.cli.create_analyzer_parser(analyzer_parser: argparse.ArgumentParser)[source]

Modify parser to handle analyze command :param analyzer_parser: :return:

mythril.interfaces.cli.create_concolic_parser(parser: argparse.ArgumentParser) → argparse.ArgumentParser[source]

Get parser which handles arguments for concolic branch flipping

mythril.interfaces.cli.create_disassemble_parser(parser: argparse.ArgumentParser)[source]

Modify parser to handle disassembly :param parser: :return:

mythril.interfaces.cli.create_func_to_hash_parser(parser: argparse.ArgumentParser)[source]

Modify parser to handle func_to_hash command :param parser: :return:

mythril.interfaces.cli.create_hash_to_addr_parser(hash_parser: argparse.ArgumentParser)[source]

Modify parser to handle hash_to_addr command :param hash_parser: :return:

mythril.interfaces.cli.create_read_storage_parser(read_storage_parser: argparse.ArgumentParser)[source]

Modify parser to handle storage slots :param read_storage_parser: :return:

mythril.interfaces.cli.create_safe_functions_parser(parser: argparse.ArgumentParser)[source]

The duplication exists between safe-functions and analyze as some of them have different default values. :param parser: Parser

mythril.interfaces.cli.execute_command(disassembler: mythril.mythril.mythril_disassembler.MythrilDisassembler, address: str, parser: argparse.ArgumentParser, args: argparse.Namespace)[source]

Execute command :param disassembler: :param address: :param parser: :param args: :return:

mythril.interfaces.cli.exit_with_error(format_, message)[source]

Exits with error :param format_: The format of the message :param message: message

mythril.interfaces.cli.get_creation_input_parser() → argparse.ArgumentParser[source]

Returns Parser which handles input :return: Parser which handles input

mythril.interfaces.cli.get_output_parser() → argparse.ArgumentParser[source]

Get parser which handles output :return: Parser which handles output

mythril.interfaces.cli.get_rpc_parser() → argparse.ArgumentParser[source]

Get parser which handles RPC flags :return: Parser which handles rpc inputs

mythril.interfaces.cli.get_runtime_input_parser() → argparse.ArgumentParser[source]

Returns Parser which handles input :return: Parser which handles input

mythril.interfaces.cli.get_safe_functions_parser() → argparse.ArgumentParser[source]

Returns Parser which handles checking for safe functions :return: Parser which handles checking for safe functions

mythril.interfaces.cli.get_utilities_parser() → argparse.ArgumentParser[source]

Get parser which handles utilities flags :return: Parser which handles utility flags

mythril.interfaces.cli.load_code(disassembler: mythril.mythril.mythril_disassembler.MythrilDisassembler, args: argparse.Namespace)[source]

Loads code into disassembly and returns address :param disassembler: :param args: :return: Address

mythril.interfaces.cli.main() → None[source]

The main CLI interface entry point.

mythril.interfaces.cli.parse_args_and_execute(parser: argparse.ArgumentParser, args: argparse.Namespace) → None[source]

Parses the arguments :param parser: The parser :param args: The args

mythril.interfaces.cli.print_function_report(myth_disassembler: mythril.mythril.mythril_disassembler.MythrilDisassembler, report: mythril.analysis.report.Report)[source]

Prints the function report :param report: Mythril’s report :return:

mythril.interfaces.cli.set_config(args: argparse.Namespace)[source]

Set config based on args :param args: :return: modified config

mythril.interfaces.cli.validate_args(args: argparse.Namespace)[source]

Validate cli args :param args: :return:

mythril.interfaces.epic module

Don’t ask.

class mythril.interfaces.epic.LolCat(mode=256, output=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)[source]

Bases: object

Cats lel.

ansi(rgb)[source]
Parameters:rgb
Returns:
cat(fd, options)[source]
Parameters:
  • fd
  • options
println(s, options)[source]
Parameters:
  • s
  • options
println_ani(s, options)[source]
Parameters:
  • s
  • options
Returns:

println_plain(s, options)[source]
Parameters:
  • s
  • options
rainbow(freq, i)[source]
Parameters:
  • freq
  • i
Returns:

wrap(*codes)[source]
Parameters:codes
Returns:
mythril.interfaces.epic.detect_mode(term_hint='xterm-256color')[source]

Poor-mans color mode detection.

mythril.interfaces.epic.reset()[source]
mythril.interfaces.epic.run()[source]

Main entry point.

Module contents