コード例 #1
0
ファイル: mon_capy.py プロジェクト: MeGysssTaa/kristy-bot
    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()
コード例 #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]] = {}
コード例 #3
0
ファイル: dbmgr.py プロジェクト: MeGysssTaa/kristy-bot
    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('Соединение с базой данных успешно установлено')
コード例 #4
0
ファイル: sda.py プロジェクト: sujindab/osss
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)
コード例 #5
0
ファイル: sda.py プロジェクト: davidbarkhuizen/py_emv_utils
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)
コード例 #6
0
ファイル: kristybot.py プロジェクト: MeGysssTaa/kristy-bot
    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)
コード例 #7
0
    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)


コード例 #8
0
    
    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)
コード例 #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, ''))
'''
コード例 #10
0
ファイル: vkcommands.py プロジェクト: MeGysssTaa/kristy-bot
 def __init__(self, kristy):
     self.logger = log_util.init_logging(__name__)
     self.kristy = kristy
     self.commands, self.chat_command_names = self._load_commands()
コード例 #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()
コード例 #12
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, ''))
'''
コード例 #13
0
ファイル: consolecmds.py プロジェクト: MeGysssTaa/kristy-bot
 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()
コード例 #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)
コード例 #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()
コード例 #16
0
def main():
    log_util.init_logging(file_name='logs/chip')
    try:
        locate_chips_and_interrogate()
    except CardConnectionException:
        logging.info('card connection error')
コード例 #17
0
def main():
    log_util.init_logging(file_name='logs/chip')
    try:
        locate_chips_and_interrogate()
    except CardConnectionException:
        logging.info('card connection error')
コード例 #18
0
ファイル: tlv_utils.py プロジェクト: sujindab/osss
    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)