Beispiel #1
0
    def __init__(self, kristy):
        self.kristy = kristy
        self.logger = log_util.init_logging(__name__)

        threading.Thread(target=self._start,
                         name="mon-capy-thread",
                         daemon=True).start()
Beispiel #2
0
    def __init__(self, kristy: Kristy):
        self.logger = log_util.init_logging(__name__)
        self.kristy: Kristy = kristy

        self.timezones: Dict[int, datetime.tzinfo] = {}
        self.class_ordinals: Dict[int, Dict[Tuple[str, str], int]] = {}
        self.classes: Dict[int, Dict[str, List[ClassData]]] = {}
        self.named_scripts: Dict[int, Dict[str, KristyScheduleScript]] = {}
        self.script_globals: Dict[int, Dict[str, object]] = {}
Beispiel #3
0
    def __init__(self, kristy):
        self.logger = log_util.init_logging(__name__)
        self.kristy = kristy

        self.logger.info('Подключение к базе данных...')
        self.client = pymongo.MongoClient(os.environ['MONGO_HOST'],
                                          int(os.environ['MONGO_PORT']))
        self.db = self.client.kristybot
        self.chats = self.db.chats
        self.logger.info('Соединение с базой данных успешно установлено')
Beispiel #4
0
def main():

    init_logging(file_name='logs/sda')

    logging.info('CA Modulus, length = %i' % len(ca_modulus_byte_list))
    logging.info(ca_modulus_hex_string)

    ca_pub_key = RSA.construct((ca_modulus, ca_exp))
    (clear_text, ) = ca_pub_key.encrypt(issuer_pub_key_cert, None)

    print('LONG - Clear Text')
    print(clear_text)
    print('HEX - Clear Text')
    s = '%02X' % clear_text
    print(s)
    print(len(s))

    dot_string = '3D.AE.88.08.1C.9E.C5.92.54.11.B3.47.E5.C4.80.31.07.0F.C4.A1.A0.10.2A.53.83.A2.94.B7.9C.4A.FA.51.FB.CF.7C.55.96.0E.B4.65.68.EF.AA.BA.D6.24.79.0A.3A.55.17.0D.80.4F.2D.6E.E2.56.AE.D6.EF.E6.8F.C1.4B.02.12.FD.98.90.8E.E4.67.A2.30.F7.BC.47.40.F2.DA.7F.F0.40.A9.18.49.E0.83.D4.77.DC.46.E8.A1.25.02.91.51.A7.2D.7C.1A.FC.88.36.FD.D9.4E.14.17.3F.0B.00.5C.EC.87.17.09.71.8F.6C.7A.88.1F.02.25.44.52.79.BA.B9.38.C8.72.89.32.6E.C7.98.15.C8.4C.D5'
    signed_data = dot_sep_hex_string_to_byte_list(dot_string)
    logging.info('Signed Static Data, length = %i' % len(signed_data))
    logging.info(signed_data)
Beispiel #5
0
def main():

    init_logging(file_name='logs/sda')

    logging.info('CA Modulus, length = %i' % len(ca_modulus_byte_list))
    logging.info(ca_modulus_hex_string)
    
    ca_pub_key = RSA.construct((ca_modulus, ca_exp))
    (clear_text,) = ca_pub_key.encrypt(issuer_pub_key_cert, None)

    
    print('LONG - Clear Text')
    print(clear_text)
    print('HEX - Clear Text')
    s = '%02X' % clear_text
    print(s)
    print(len(s))
    
    dot_string = '3D.AE.88.08.1C.9E.C5.92.54.11.B3.47.E5.C4.80.31.07.0F.C4.A1.A0.10.2A.53.83.A2.94.B7.9C.4A.FA.51.FB.CF.7C.55.96.0E.B4.65.68.EF.AA.BA.D6.24.79.0A.3A.55.17.0D.80.4F.2D.6E.E2.56.AE.D6.EF.E6.8F.C1.4B.02.12.FD.98.90.8E.E4.67.A2.30.F7.BC.47.40.F2.DA.7F.F0.40.A9.18.49.E0.83.D4.77.DC.46.E8.A1.25.02.91.51.A7.2D.7C.1A.FC.88.36.FD.D9.4E.14.17.3F.0B.00.5C.EC.87.17.09.71.8F.6C.7A.88.1F.02.25.44.52.79.BA.B9.38.C8.72.89.32.6E.C7.98.15.C8.4C.D5'
    signed_data = dot_sep_hex_string_to_byte_list(dot_string)
    logging.info('Signed Static Data, length = %i' % len(signed_data))
    logging.info(signed_data)
Beispiel #6
0
    def __init__(self):
        sys.excepthook = log_uncaught_exceptions

        self.logger = log_util.init_logging(__name__)
        self._fetch_version()
        self._fetch_pid()
        self.logger.info('Запуск! Версия: %s, ID процесса: %s', self.version,
                         self.pid)
        self.TIMEBAN = 2  # часы
        threading.Thread(target=self._start_socket_server,
                         name='socket-server-thread',
                         daemon=True).start()

        self._login_vk()
        self.lobby = {}
        self.minigames = {}
        self.db = dbmgr.DatabaseManager(self)
        self.download_chats()
        self.game_manager = minigames_manager.MinigamesManager(self)
        self.vkcmdmgr = vkcommands.VKCommandsManager(self)
        self.vklistener = vklistener.VKEventListener(self)
        self.tt_data = timetable_parser.TimetableData(self)
        self.tt_data.load_all()

        # Эти импорты обязательно должны быть локальными. Иначе будут ImportError'ы.
        import kss_executor
        import consolecmds

        self.kss_executor = kss_executor.KSSExecutor(self)
        self.console_cmds_disp = consolecmds.ConsoleCmdsDispatcher(self)

        threading.Thread(target=self._is_it_wednesday,
                         name='wednesday-frog-thread',
                         daemon=True).start()

        self.mon_capy = mon_capy.MondayCapybara(self)
    bit_flag_list.append(BitFlag(2, 2, 'RFU'))
    bit_flag_list.append(BitFlag(2, 1, 'RFU'))
    
    return bit_flag_list

def parse_tsi(tsi_hex_string):    
    
    report = []
    for l in report_header('TSI : Transaction Status Information', '='): report.append(l)

    report.append('raw hex %s' % tsi_hex_string)
    tsi_byte_list = hex_string_to_byte_list(tsi_hex_string)
    report.append('    hex %s' % '.'.join(['%02X' % x for x in tsi_byte_list]))
    report.append('    dec %s' % '.'.join(['%i' % x for x in tsi_byte_list]))

    for l in report_header('Bit Flags', '-'): report.append(l)
    tsi_flags = construct_tsi_bit_flags()
    for flag in tsi_flags:
        if (bit_flag_is_set_in_byte_list(tsi_byte_list, flag) == True):
            report.append(flag.description)

    for line in report:
        logging.info(line)

if __name__ == '__main__':
    init_logging(file_name='/logs/tsi_parser')
    sample_tsi = 'E800'
    parse_tsi(sample_tsi)


    
    max_tag_length = 0
    max_meaning_length = 0
    for tag in tags.keys():
        if (len(tag) > max_tag_length):
            max_tag_length = len(tag) 
        meaning = tag_meanings.tags[get_unqualified_tag(tag)]
        if (len(meaning) > max_meaning_length):
            max_meaning_length = len(meaning)
    
    for tag in sorted(tags.keys()):
        left_text = tag.ljust(max_tag_length + 2) + tag_meanings.tags[get_unqualified_tag(tag)].ljust(max_meaning_length + 2) + ('(%i) ' % len(tags[tag])).ljust(10)
        report.append(left_text + 'H: ' + '.'.join(['%02X' % b for b in tags[tag]]))
        right_text = 'A: ' + ''.join([chr(b) if (b >= 31) else '-' for b in tags[tag]])
        if (len(right_text) > 0):
            report.append(' '*len(left_text) + right_text)
    return report

tag_6f = [0x6f,0x19,0x84,0x0e,0x31,0x50,0x41,0x59,0x2e,0x53,0x59,0x53,0x2e,0x44,0x44,0x46,0x30,0x31,0xa5,0x07,0x88,0x01,0x01,0x9f,0x11,0x01,0x01]
tag_70_simple = [0x70,0x54,0x5F,0x25,0x03,0x11,0x12,0x01,0x5F,0x24,0x03,0x17,0x02,0x28,0x9F,0x07,0x02,0xFF,0x00,0x5A,0x08,0x52,0x22,0x50,0x24,0x60,0x90,0x28,0x81,0x5F,0x34,0x01,0x00,0x8E,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x42,0x01,0x41,0x03,0x42,0x03,0x5E,0x03,0x1F,0x03,0x9F,0x0D,0x05,0xB8,0x60,0xF4,0x80,0x00,0x9F,0x0E,0x05,0x00,0x10,0x08,0x00,0x00,0x9F,0x0F,0x05,0xB8,0x68,0xF4,0x98,0x00,0x5F,0x28,0x02,0x07,0x10,0x9F,0x4A,0x01,0x82]
tag_70_extended = [0x70,0x81,0x93,0x90,0x81,0x90,0x64,0x8A,0xBC,0x88,0xB2,0x17,0x78,0x06,0xA3,0x8E,0x14,0x78,0x6B,0xCA,0x3F,0x4A,0x66,0xBE,0x6C,0x98,0x56,0x7D,0x34,0xF4,0x6E,0x1F,0x32,0x97,0x87,0x42,0x0D,0x16,0x72,0x25,0x97,0x42,0x17,0x0D,0x2F,0x90,0x6A,0xE7,0x08,0xA1,0xF7,0xD5,0xB3,0x1E,0x55,0xC1,0xD2,0xC6,0xFA,0x33,0xF1,0x86,0xAE,0xFA,0x3F,0xEA,0xE6,0x12,0x45,0x81,0xBD,0x49,0x7E,0xBE,0x67,0xB1,0x9D,0xC2,0x10,0x8B,0xD7,0x37,0x99,0xDE,0xA2,0x61,0x5A,0x9B,0x87,0x34,0xAD,0x25,0x44,0xCF,0x2F,0xFB,0x24,0xAF,0xA9,0x10,0xAA,0x2B,0x8D,0x5A,0x7A,0x68,0x70,0xE1,0xB9,0x04,0xFC,0xBB,0x2C,0xC5,0x70,0x77,0xD0,0xBC,0xF3,0x21,0x54,0x6A,0xA4,0x62,0xCD,0xAB,0xBF,0x85,0xCC,0x97,0xA4,0xD5,0x28,0x8D,0x73,0xDE,0x30,0x86,0xD9,0xE7,0x0E,0xD7,0x1C,0xE0,0xD5,0xDE,0x2D,0x88,0xFD,0x80]


if (__name__ == '__main__'):
    log_util.init_logging(file_name='../../logs/tlv')
    logging.info('\ntag_70_simple')
    parse_and_report(tag_70_simple)
    logging.info('\ntag_70_extended')
    parse_and_report(tag_70_extended)
    logging.info('\ntag_6f')
    parse_and_report(tag_6f)
Beispiel #9
0
    cvr_sub_bytes = construct_cvr_composite_bit_flags()
    for sub_byte in cvr_sub_bytes:
        for line in sub_byte.evaluate_on_byte_list_and_report(cvr_byte_list):
            report.append(line)

    for l in report_header('Nibbles', '-'):
        report.append(l)
    cvr_nibbles = construct_cvr_nibbles()
    for nibble in cvr_nibbles:
        for line in nibble.evaluate_on_byte_list_and_report(cvr_byte_list):
            report.append(line)

    for line in report:
        logging.info(line)


if __name__ == '__main__':
    init_logging(file_name='/logs/cvr_parser')
    sample_cvr = '60100322'
    parse_cvr(sample_cvr)
'''
# Byte 2
bit_flag_list.append(BitFlag(1, 1, ''))
bit_flag_list.append(BitFlag(1, 2, ''))
bit_flag_list.append(BitFlag(1, 3, ''))
bit_flag_list.append(BitFlag(1, 4, ''))
bit_flag_list.append(BitFlag(1, 5, ''))
bit_flag_list.append(BitFlag(1, 6, ''))
bit_flag_list.append(BitFlag(1, 7, ''))
bit_flag_list.append(BitFlag(1, 8, ''))
'''
Beispiel #10
0
 def __init__(self, kristy):
     self.logger = log_util.init_logging(__name__)
     self.kristy = kristy
     self.commands, self.chat_command_names = self._load_commands()
Beispiel #11
0
    def __init__(self, kristy: Kristy):
        self.logger = log_util.init_logging(__name__)
        self.kristy = kristy
        self.variables: Dict[int, Dict[str, object]] = {}

        threading.Thread(target=self._start, name='kss-executor-thread', daemon=True).start()
    cvr_sub_bytes = construct_cvr_composite_bit_flags()
    for sub_byte in cvr_sub_bytes:
        for line in sub_byte.evaluate_on_byte_list_and_report(cvr_byte_list):
            report.append(line)

    for l in report_header('Nibbles', '-'): report.append(l)
    cvr_nibbles = construct_cvr_nibbles()
    for nibble in cvr_nibbles:
        for line in nibble.evaluate_on_byte_list_and_report(cvr_byte_list):
            report.append(line)

    for line in report:
        logging.info(line)

if __name__ == '__main__':
    init_logging(file_name='/logs/cvr_parser')
    sample_cvr = '60100322'
    parse_cvr(sample_cvr)


'''
# Byte 2
bit_flag_list.append(BitFlag(1, 1, ''))
bit_flag_list.append(BitFlag(1, 2, ''))
bit_flag_list.append(BitFlag(1, 3, ''))
bit_flag_list.append(BitFlag(1, 4, ''))
bit_flag_list.append(BitFlag(1, 5, ''))
bit_flag_list.append(BitFlag(1, 6, ''))
bit_flag_list.append(BitFlag(1, 7, ''))
bit_flag_list.append(BitFlag(1, 8, ''))
'''
Beispiel #13
0
 def __init__(self, kristy: Kristy):
     self.logger = log_util.init_logging(__name__)
     self.kristy = kristy
     threading.Thread(target=self._start,
                      name='console-commands-dispatcher-thread',
                      daemon=True).start()
Beispiel #14
0
    return bit_flag_list


def parse_tsi(tsi_hex_string):

    report = []
    for l in report_header('TSI : Transaction Status Information', '='):
        report.append(l)

    report.append('raw hex %s' % tsi_hex_string)
    tsi_byte_list = hex_string_to_byte_list(tsi_hex_string)
    report.append('    hex %s' % '.'.join(['%02X' % x for x in tsi_byte_list]))
    report.append('    dec %s' % '.'.join(['%i' % x for x in tsi_byte_list]))

    for l in report_header('Bit Flags', '-'):
        report.append(l)
    tsi_flags = construct_tsi_bit_flags()
    for flag in tsi_flags:
        if (bit_flag_is_set_in_byte_list(tsi_byte_list, flag) == True):
            report.append(flag.description)

    for line in report:
        logging.info(line)


if __name__ == '__main__':
    init_logging(file_name='/logs/tsi_parser')
    sample_tsi = 'E800'
    parse_tsi(sample_tsi)
Beispiel #15
0
    def __init__(self, kristy):
        self.logger = log_util.init_logging(__name__)
        self.kristy = kristy

        threading.Thread(target=self._start, name='vk-event-listener-thread').start()
def main():
    log_util.init_logging(file_name='logs/chip')
    try:
        locate_chips_and_interrogate()
    except CardConnectionException:
        logging.info('card connection error')
Beispiel #17
0
def main():
    log_util.init_logging(file_name='logs/chip')
    try:
        locate_chips_and_interrogate()
    except CardConnectionException:
        logging.info('card connection error')
Beispiel #18
0
    0x24, 0x60, 0x90, 0x28, 0x81, 0x5F, 0x34, 0x01, 0x00, 0x8E, 0x12, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x01, 0x41, 0x03, 0x42,
    0x03, 0x5E, 0x03, 0x1F, 0x03, 0x9F, 0x0D, 0x05, 0xB8, 0x60, 0xF4, 0x80,
    0x00, 0x9F, 0x0E, 0x05, 0x00, 0x10, 0x08, 0x00, 0x00, 0x9F, 0x0F, 0x05,
    0xB8, 0x68, 0xF4, 0x98, 0x00, 0x5F, 0x28, 0x02, 0x07, 0x10, 0x9F, 0x4A,
    0x01, 0x82
]
tag_70_extended = [
    0x70, 0x81, 0x93, 0x90, 0x81, 0x90, 0x64, 0x8A, 0xBC, 0x88, 0xB2, 0x17,
    0x78, 0x06, 0xA3, 0x8E, 0x14, 0x78, 0x6B, 0xCA, 0x3F, 0x4A, 0x66, 0xBE,
    0x6C, 0x98, 0x56, 0x7D, 0x34, 0xF4, 0x6E, 0x1F, 0x32, 0x97, 0x87, 0x42,
    0x0D, 0x16, 0x72, 0x25, 0x97, 0x42, 0x17, 0x0D, 0x2F, 0x90, 0x6A, 0xE7,
    0x08, 0xA1, 0xF7, 0xD5, 0xB3, 0x1E, 0x55, 0xC1, 0xD2, 0xC6, 0xFA, 0x33,
    0xF1, 0x86, 0xAE, 0xFA, 0x3F, 0xEA, 0xE6, 0x12, 0x45, 0x81, 0xBD, 0x49,
    0x7E, 0xBE, 0x67, 0xB1, 0x9D, 0xC2, 0x10, 0x8B, 0xD7, 0x37, 0x99, 0xDE,
    0xA2, 0x61, 0x5A, 0x9B, 0x87, 0x34, 0xAD, 0x25, 0x44, 0xCF, 0x2F, 0xFB,
    0x24, 0xAF, 0xA9, 0x10, 0xAA, 0x2B, 0x8D, 0x5A, 0x7A, 0x68, 0x70, 0xE1,
    0xB9, 0x04, 0xFC, 0xBB, 0x2C, 0xC5, 0x70, 0x77, 0xD0, 0xBC, 0xF3, 0x21,
    0x54, 0x6A, 0xA4, 0x62, 0xCD, 0xAB, 0xBF, 0x85, 0xCC, 0x97, 0xA4, 0xD5,
    0x28, 0x8D, 0x73, 0xDE, 0x30, 0x86, 0xD9, 0xE7, 0x0E, 0xD7, 0x1C, 0xE0,
    0xD5, 0xDE, 0x2D, 0x88, 0xFD, 0x80
]

if (__name__ == '__main__'):
    log_util.init_logging(file_name='../../logs/tlv')
    logging.info('\ntag_70_simple')
    parse_and_report(tag_70_simple)
    logging.info('\ntag_70_extended')
    parse_and_report(tag_70_extended)
    logging.info('\ntag_6f')
    parse_and_report(tag_6f)