#!/usr/bin/python3 import yara import sys # The callback function, implementing comparable # logic to yara_chat.c def mycallback(data): if data['matches']: if data['rule'] == 'yes_rule': print('How nice of you!!') elif data['rule'] == 'no_rule': print('Well, nevermind then...') elif data['rule'] == 'hello_rule': print('Hello back') return yara.CALLBACK_CONTINUE # Initialization of yara done in one step rules = yara.compile(filepath="yara_chat.yar") # Loop over the input, scanning each for input_line in sys.stdin: matches = rules.match(data=input_line, callback=mycallback)