Esempio n. 1
0
def get_dots(n, s, e):
    captions = ['', 'First dots', 'Second dots']
    dots = pcutils.get_string_from_page('return/',
                                        'good',
                                        start=s,
                                        end=e,
                                        un='huge',
                                        pw='file')
    pcutils.print_lines(dots.split(pcutils.NEWLINE), captions[n])
    dots = list(map(int, ''.join(dots.splitlines()).split(',')))
    print()
    return list(zip(dots[0::2], dots[1::2]))
def get_zip_archive():
    archive = zipfile.ZipFile('channel.zip', 'r')
    readme = archive.read('readme.txt').decode('ascii')
    pcutils.print_lines(readme.split(pcutils.NEWLINE), 'readme')
    return archive
        return 'a'
    if ch == 'z':
        return 'b'
    return chr(ord(ch) + 2)


def shift_all(sentences):
    return [
        ''.join(shift2(ch) if 'a' <= ch <= 'z' else ch for ch in sentence)
        for sentence in sentences
    ]


if __name__ == '__main__':
    pcutils.try_page('def/', 'map', caption='Challenge page')

    print()

    encoded = pcutils.get_string_from_page('def/',
                                           'map',
                                           start='<font color="#f000f0">',
                                           end='</tr></td>')
    pcutils.print_lines(encoded.split('. '), 'Message to decode')

    pcutils.print_lines(''.join(shift_all(encoded)).split('. '),
                        'Decoded message')

    page = ''.join(shift2(ch) for ch in 'map')
    print(f'map shifted: {page}')
    pcutils.try_page('def/', page, '.html', caption='Next challenge page')
Esempio n. 4
0
def get_message(s):
    lines = s.split('. ')
    pcutils.print_lines(lines, 'Message from the bar')
    print()
    message = list(map(int, lines[1].split('[')[1][0:-1].split(', ')))
    return ''.join(map(chr, message))
Esempio n. 5
0
import os

def create_pickle_info():
    pickle_data = pcutils.get_bytes_from_page('def/', 'banner', '.p')
    outfile = open('pickle.dat', 'wb')
    outfile.write(pickle_data)
    outfile.close()

    infile = open('pickle.dat', 'rb')
    pickle_table = pickle.load(infile)
    infile.close()

    os.remove('pickle.dat')
    return pickle_table

if __name__ == '__main__':
    pcutils.try_page('def/', 'peak', caption='Challenge page')

    print()

    pickle_table = create_pickle_info()
    pcutils.print_lines(pickle_table, 'Pickle table')

    print()

    print(f'Printing banner...')
    for line in pickle_table:
        print(''.join(ch * w for ch, w in line))

    pcutils.try_page('def/', 'channel', caption='Next challenge page')
Esempio n. 6
0
'''
the python challenge 3
'''
import pcutils
import re

if __name__ == '__main__':
    pcutils.try_page('def/', 'equality', caption='Challenge page')

    print()

    mess_below = pcutils.get_string_from_page('def/',
                                              'equality',
                                              start='<!--',
                                              end='-->')
    pcutils.print_lines(
        mess_below.split(pcutils.NEWLINE)[0:10], 'Mess below from web page')
    print('...')

    print()

    pattern = '[a-z]{1}[A-Z]{3}[a-z]{1}[A-Z]{3}[a-z]{1}'
    matches = re.findall(pattern, mess_below)
    pcutils.print_lines(matches, 'Matches')

    print()

    page = ''.join(s[4] for s in matches)
    pcutils.try_page('def/', page, caption='Trying page in url...')
    message = pcutils.get_string_from_page(
        'def/',
        page,
import pcutils
import collections

if __name__ == '__main__':
    pcutils.try_page('def/', 'ocr', caption='Challenge page')

    print()

    s = pcutils.get_string_from_page(
        'def/',
        'ocr',
        start='<!--',
        end='-->',
    )
    mess_below = s[s.index('%'):]
    pcutils.print_lines(
        mess_below.split(pcutils.NEWLINE)[0:10], 'Mess below from web page')
    print('...')

    print()

    frequencies = collections.defaultdict(lambda: 0)
    for ch in mess_below:
        if ch.isalnum():
            frequencies[ch] += 1
    pcutils.print_lines(frequencies.items(),
                        'Frequencies of characters in mess')

    print()

    page = ''.join(ch for ch, f in frequencies.items() if f == 1)
    pcutils.try_page('def/', page, caption='Next challenge page')