Exemplo n.º 1
0
def debug_scan():
    from scanner.scanner import Scanner
    s = Scanner(debug=True,
                add_users=True,
                remove_users=True,
                add_keys=True,
                remove_keys=True)
    results = s.scan()
Exemplo n.º 2
0
 def post(self):
     """Kick off a scan manually"""
     s = Scanner(debug=False,
                 add_users=True,
                 remove_users=True,
                 add_keys=True,
                 remove_keys=True)
     results = s.scan()
     return '', HTTP_STATUS.CREATED
Exemplo n.º 3
0
    def __init__(self, filename, src):
        self.file = token.File(filename)

        self.scanner = Scanner(self.file, src)

        self.pos = None
        self.tok = None
        self.lit = None

        self.next_token()
Exemplo n.º 4
0
 def capture(self):
     self.ids['camera'].play = False
     camera = self.ids['camera']
     print(camera.size, Window.size)
     path_to_img = os.path.join(
         os.path.abspath('.'),
         "src/IMG_{}.png".format(time.strftime("%Y%m%d_%H%M%S")))
     camera.export_to_png(path_to_img)
     print("Captured", path_to_img)
     Scanner().scan(path_to_img)
     self.layout.new_page(ContourPage(self.layout, path_to_img))
Exemplo n.º 5
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-sT",
                        "--tcp",
                        action="store_true",
                        help="TCP Connect scan")
    parser.add_argument("-sS",
                        "--syn",
                        action="store_true",
                        help="TCP Syn scan")
    parser.add_argument("-sN",
                        "--null",
                        action="store_true",
                        help="TCP Null scan")
    parser.add_argument("-sF",
                        "--fin",
                        action="store_true",
                        help="TCP Fin scan")
    parser.add_argument("-sX",
                        "--xmas",
                        action="store_true",
                        help="TCP XMas scan")
    parser.add_argument("-sA",
                        "--ack",
                        action="store_true",
                        help="TCP Ack scan")
    parser.add_argument("-sU", "--udp", action="store_true", help="UDP scan")
    parser.add_argument("-p", "--ports", nargs="*")
    parser.add_argument("target")

    args = parser.parse_args(sys.argv[1:])

    if args.ports and args.ports != "top":
        ports = utils.parse_ports(args.ports)
    else:
        ports = utils.get_top_ports(1000)

    scanner = Scanner(args.target, ports)
    if args.tcp:
        scanner.scan(technique="tcp")
    elif args.syn:
        scanner.scan(technique="syn")
    elif args.null:
        scanner.scan(technique="null")
    elif args.fin:
        scanner.scan(technique="fin")
    elif args.xmas:
        scanner.scan(technique="xmas")
    elif args.ack:
        scanner.scan(technique="ack")

    if args.udp:
        scanner.scan(technique="udp")
Exemplo n.º 6
0
def build_scanner(path):
    start = DFANode(actions.error_gen)
    number_regex(start)
    id_regex(start)
    symbol_regex(start)
    comment_regex(start)
    whitespace_regex(start)

    language = Edge().include('0', '9').include('a', 'z').include('A', 'Z') \
        .include('/').include('*') \
        .include(':', '<').include(',').include('(', ')').include('[').include(']').include('{').include('}') \
        .include('+').include('-').include('=') \
        .include('\t', '\r').include(' ').include(chr(26))
    return Scanner(start, BufferReader(path, 30), language)
Exemplo n.º 7
0
def main():
    scanner = Scanner(
        dfa_file=config.DFA_JSON_FILE,
        keywords_file=config.KEYWORDS_FILE,
        input_file=config.INPUT_FILE,
        errors_file=config.LEXICAL_ERRORS_FILE,
        tokens_file=config.TOKENS_FILE,
        symbols_file=config.SYMBOL_TABLE_FILE,
    )

    parser = Parser(
        scanner=scanner,
        grammar_file=config.GRAMMAR_FILE,
        tree_file=config.TREE_FILE,
        errors_file=config.PARSER_ERRORS_FILE,
        code_file=config.INTERMEDIATE_CODE_FILE,
    )

    parser.run()
    parser.dump_data()
Exemplo n.º 8
0
def main():
    print("\nStarting compiler...\n\n")

    file = None

    try:
        if len(sys.argv) > 1:
            file = open(sys.argv[1], 'r')
        else:
            file = open('tests/program.po', 'r')
    except IOError:
        print("Error: File does not appear to exist.")
        return

    scanner = Scanner(file)
    scanner.scan()
    tokens = scanner.tokens_list
    print(*tokens, sep='\n')
    print("\n")
    parser = LL1(tokens)
    parser.parse()
Exemplo n.º 9
0
def run(source: str, interpreter: Interpreter) -> None:
    scanner = Scanner(source)
    scanner.scan_tokens()

    if scanner.had_error:
        print(f'Error scanning')
        return

    parser = Parser(scanner.tokens)
    statements = parser.parse()

    if parser.had_error:
        print(f'Error parsing')
        for err in parser.errors:
            parser_error_print(err, scanner.source_lines)
    else:
        resolve_statements(statements)
        try:
            interpreter.interpret(statements)
        except LoxRuntimeError as err:
            print(f'{err.msg}')
Exemplo n.º 10
0
def main(argv):
    config_file = 'config/config.yml'

    parser = argparse.ArgumentParser()
    parser.add_argument(
        "-c",
        "--config",
        help="Override the default config file. By default: config/config.yml")

    args = parser.parse_args()
    if args.config:
        if os.access(args.config, os.R_OK):
            config_file = args.config
        else:
            print("ERROR: '", args.config,
                  "' is not readable, please check the path")
            exit(0)

    # Init the scanner
    scanner = Scanner(config_path=config_file)

    # Start the scanner
    scanner.start_worker()
Exemplo n.º 11
0
 def setUp(self):
     self.file = open('tests/program-old.po', 'r')
     self.scanner = Scanner(self.file)
     self.scanner.scan()
     self.tokens = self.scanner.tokens_list
     self.parser = LL1(self.tokens)
Exemplo n.º 12
0
from scanner.scanner import Scanner

s = Scanner('/Users/amirhasan/desktop/compiler/project/compiler/input.txt')
while True:
    t = s.next()
    if t:
        print(t)
    else:
        break
Exemplo n.º 13
0
def main(location, verbose=False):
    scanner = Scanner(location, verbose=verbose)
    scanner.start()
Exemplo n.º 14
0
import sys

def merge_dicts(*dict_args):
    result = {}
    for dictionary in dict_args:
        result.update(dictionary)
    return result

if __name__ == "__main__":

    source_code_path = None
    try:
        source_code_path = sys.argv[1]
    except IndexError as ie_e:
        raise ie_e
        print('ERROR: You must provide a file to scan as an argument to the interpreter')
        sys.exit()

    scanned_program = Scanner(source_code_path)
    print('Program Scanned.')
    parser = Parser(scanned_program)
    print('Program Parsed.')
    print(parser.postfix_list)

    interpreter_dict = merge_dicts(
        dict((v,k) for k,v in scanned_program.identifier_dict.items()),
        Grammar.flattenToValueKeyed()
    )

    print(interpreter_dict)
Exemplo n.º 15
0
 def setUp(self):
     self.file = open('tests/program-old.po', 'r')
     self.scanner = Scanner(self.file)
Exemplo n.º 16
0
 def setUp(self) -> None:
     script = open(os.path.join("sample_lox", "every_symbol.lox"), 'r')
     self.scanner = Scanner(script.read())
     script.close()
     self.expected_tokens = []
     self.expected_tokens.append(Token(TokenType.FUN, "fun", None, 1))
     self.expected_tokens.append(
         Token(TokenType.IDENTIFIER, "funcTest", None, 1))
     self.expected_tokens.append(Token(TokenType.LEFT_PAREN, "(", None, 1))
     self.expected_tokens.append(Token(TokenType.IDENTIFIER, "arg", None,
                                       1))
     self.expected_tokens.append(Token(TokenType.RIGHT_PAREN, ")", None, 1))
     self.expected_tokens.append(Token(TokenType.LEFT_BRACE, "{", None, 1))
     self.expected_tokens.append(
         Token(TokenType.IDENTIFIER, "math", None, 2))
     self.expected_tokens.append(Token(TokenType.EQUAL, "=", None, 2))
     self.expected_tokens.append(Token(TokenType.NUMBER, "5", 5, 2))
     self.expected_tokens.append(Token(TokenType.MINUS, "-", None, 2))
     self.expected_tokens.append(Token(TokenType.NUMBER, "5", 5, 2))
     self.expected_tokens.append(Token(TokenType.PLUS, "+", None, 2))
     self.expected_tokens.append(Token(TokenType.NUMBER, "5", 5, 2))
     self.expected_tokens.append(Token(TokenType.STAR, "*", None, 2))
     self.expected_tokens.append(Token(TokenType.NUMBER, "5", 5, 2))
     self.expected_tokens.append(Token(TokenType.SLASH, "/", None, 2))
     self.expected_tokens.append(Token(TokenType.NUMBER, "5", 5, 2))
     self.expected_tokens.append(Token(TokenType.SEMICOLON, ";", None, 2))
     self.expected_tokens.append(Token(TokenType.CLASS, "class", None, 3))
     self.expected_tokens.append(Token(TokenType.IDENTIFIER, "c", None, 3))
     self.expected_tokens.append(Token(TokenType.DOT, ".", None, 3))
     self.expected_tokens.append(
         Token(TokenType.IDENTIFIER, "func", None, 3))
     self.expected_tokens.append(Token(TokenType.NUMBER, "5", 5, 4))
     self.expected_tokens.append(Token(TokenType.EQUAL, "=", None, 4))
     self.expected_tokens.append(Token(TokenType.NUMBER, "5", 5, 4))
     self.expected_tokens.append(Token(TokenType.BANG_EQUAL, "!=", None, 4))
     self.expected_tokens.append(Token(TokenType.NUMBER, "6", 6, 4))
     self.expected_tokens.append(Token(TokenType.EQUAL_EQUAL, "==", None,
                                       4))
     self.expected_tokens.append(Token(TokenType.NUMBER, "6", 6, 4))
     self.expected_tokens.append(Token(TokenType.GREATER, ">", None, 4))
     self.expected_tokens.append(Token(TokenType.NUMBER, "4", 4, 4))
     self.expected_tokens.append(
         Token(TokenType.GREATER_EQUAL, ">=", None, 4))
     self.expected_tokens.append(Token(TokenType.NUMBER, "4", 4, 4))
     self.expected_tokens.append(Token(TokenType.LESS, "<", None, 4))
     self.expected_tokens.append(Token(TokenType.NUMBER, "10", 10, 4))
     self.expected_tokens.append(Token(TokenType.LESS_EQUAL, "<=", None, 4))
     self.expected_tokens.append(Token(TokenType.NUMBER, "10", 10, 4))
     self.expected_tokens.append(Token(TokenType.STRING, '"Str"', "Str", 5))
     self.expected_tokens.append(Token(TokenType.AND, "and", None, 6))
     self.expected_tokens.append(Token(TokenType.ELSE, "else", None, 6))
     self.expected_tokens.append(Token(TokenType.FALSE, "false", None, 6))
     self.expected_tokens.append(Token(TokenType.FOR, "for", None, 6))
     self.expected_tokens.append(Token(TokenType.IF, "if", None, 6))
     self.expected_tokens.append(Token(TokenType.NIL, "nil", None, 6))
     self.expected_tokens.append(Token(TokenType.OR, "or", None, 6))
     self.expected_tokens.append(Token(TokenType.PRINT, "print", None, 6))
     self.expected_tokens.append(Token(TokenType.SUPER, "super", None, 6))
     self.expected_tokens.append(Token(TokenType.THIS, "this", None, 6))
     self.expected_tokens.append(Token(TokenType.TRUE, "true", None, 6))
     self.expected_tokens.append(Token(TokenType.WHILE, "while", None, 6))
     self.expected_tokens.append(Token(TokenType.RETURN, "return", None, 8))
     self.expected_tokens.append(Token(TokenType.RIGHT_BRACE, "}", None, 9))
     self.expected_tokens.append(Token(TokenType.EOF, "", None, 9))
Exemplo n.º 17
0
import os
import sys

sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "lib"))

from scanner.scanner import Scanner

SPLUNK_HOME = os.environ.get('SPLUNK_HOME', '')
LOG_PATH = os.path.join(SPLUNK_HOME, 'var', 'log', 'vulners-lookup')

s = Scanner(log_level="DEBUG", log_path=LOG_PATH)
s.run()