Example #1
0
def patching(packages):
    '''
    Patch AppleALC for XPS15-9550 and
    Delete VoodooPS2Mouse.kext and VoodooPS2Trackpad.kext
    '''
    for package in packages:
        if 'AppleALC.kext' in package.items:  # XPS15 only
            plist = Plist(
                Path(package.folder, 'AppleALC.kext', 'Contents',
                     'Info.plist'))
            plist.plist['IOKitPersonalities']['HDA Hardware Config Resource'][
                'HDAConfigDefault'] = [
                    dict(
                        AFGLowPowerState=Plist.data('AwAAAA=='),
                        Codec=
                        'Constanta - Realtek ALC298 for Xiaomi Mi Notebook Air 13.3 Fingerprint 2018',
                        CodecID=283902616,
                        FuncGroup=1,
                        LayoutID=30,
                        WakeVerbReinit=True,
                        ConfigData=Plist.data(
                            'ASccMAEnHQABJx6gAScfkAF3HEABdx0AAXceFwF3H5ABdwwCAYcccAGHHRABhx6BAYcfAAIXHCACFx0QAhceIQIXHwA='
                        ),
                        WakeConfigData=Plist.data('AYcHIg=='))
                ]
            plist.save()
            Title('AppleALC.kext is patched')

        if package.items[0] == 'VoodooPS2Controller.kext':
            for kext in ('VoodooPS2Mouse.kext', 'VoodooPS2Trackpad.kext'):
                sh('rm -rf {}*'.format(
                    Path(package.folder, package.items[0], 'Contents',
                         'PlugIns', kext)))
            Title('VoodooPS2Mouse.kext and VoodooPS2Trackpad.kext are deleted')
Example #2
0
    def openewin(self):
        if (Settings.state1 == False):
            flag = 0
            Settings.num1 = self.textEdit.toPlainText()
            Settings.num2 = self.QLineEdit_2.text()
            h = hashlib.md5(Settings.num2.encode('cp1251')).hexdigest()
            values = (Settings.num1, h)

            if(Settings.num1 == '' or Settings.num2 == ''):
                QMessageBox.about(self, "Предупреждение", "Заполните пожалуйста поля")
                flag = 0
            else:
                flag = 1

            if (flag == 1):
                str1 = str(values[0]) + "," + str(values[1])
                Settings_host.sock.sendto(("A" + str1).encode("cp1251"),
                                          Settings_host.server)
                time.sleep(1)
                if Settings.data_From_Server[0] == "A":
                    res = Settings.data_From_Server[1:]
                if res == 'False':
                    QMessageBox.about(self, "Предупреждение", "Проверьте правильность введенных данных. Если вас нет в системе - зарегистрируйтесь.")
                    flag = 0
                elif res == 'True':
                    f = open('data.txt', 'w')
                    f.write(Settings.num1)
                    f.close()
                    self.close()
                    sh("python chatForm.py")
Example #3
0
def download_theme(theme: Path):
    if not theme.exists() or Confirm('Theme {} exists, do you want to update it'.format(theme.name)):
        Title('Downloading theme', theme.name)
        sh('cd {} && git archive --remote=git://git.code.sf.net/p/cloverefiboot/themes HEAD themes/{} | tar -x -v'.format(
            theme.parent.parent, theme.name))
        Title('Theme', theme.name, 'downloaded into', theme.parent)
        print()
Example #4
0
def patching(kexts: Path):
    Title('Set delay after typing to 50ms')
    info = Plist(kexts / 'VoodooI2CHID.kext' / 'Contents' / 'Info.plist')
    info.set('IOKitPersonalities>VoodooI2CHIDDevice Precision Touchpad HID Event Driver>QuietTimeAfterTyping', 50)
    info.save()
    Title('Delete VoodooPS2Mouse.kext and VoodooPS2Trackpad.kext')
    for kext in ('VoodooPS2Mouse.kext', 'VoodooPS2Trackpad.kext'):
        sh('rm -rf {}'.format(kexts / 'VoodooPS2Controller.kext' /
                              'Contents' / 'PlugIns' / kext))
Example #5
0
def install():
    tr = sh('rm installed')
    tr = sh('ls | grep poc >> installed')
    f = open('installed')
    if f.readline() != "poc\n":
        print("Installing and compiling dependencies...")
        sleep(3)
        tr = sh('apt install gcc g++ build-essential bluetooth libbluetooth-dev bluez -y')
        tr = sh('gcc poc.c -lbluetooth -o poc')
        tr = sh('clear')
Example #6
0
    def simulate(self):
        os.environ['EXPORT_ABNORMAL_FLOW'] = 'TRUE' if self.args.export_ano else 'FALSE'
        cd(self.ROOT + '/Simulator')
        sh('python fs.py %s -t %d' % (self.dot_file, self.sim_t))
        dir = self.args.dir
        if dir:
            if not os.path.exists(dir): os.makedirs(dir)
            sh('cp *.txt %s' % (dir))

        cd(self.ROOT)
Example #7
0
def convert_dsl_to_aml(iasl_path: str, target: str = "") -> str:
    """Convert dsl file to aml

    Args:
        iasl_path (str): iasl excec path
        target (str, optional): Path of dsl file need to be converted. Defaults to "".

    Returns:
        str: output aml path file
    """
    from os import system as sh
    sh("{} -oa {}".format(iasl_path, target))
    return str(target).replace(".dsl", ".aml")
Example #8
0
def perm_exec(path_file: str) -> bool:
    """Add exec permission to given path

    Args:
        path_file (str): file that need exec permission

    Returns:
        bool: return True
    """
    if platform.system() != "Windows":
        from os import system as sh
        sh("chmod a+x {}".format(path_file))
    return True
Example #9
0
def zip_folder(folders):
    sh('rm -rf {}/*.aml'.format(R('ACPI')))
    for folder in folders:
        set_config(
            folder / 'config.plist',
            'sn={} mlb={} smuuid={} bootarg+-v'.format(
                DEFAULT_SN, DEFAULT_MLB, DEFAULT_SMUUID).split(' '))
        sh('cd {} && zip -r {}-{}-$(date +%y%m%d).zip {} README.md update.py packages.csv {}'
           .format(root, BUILD_PREFIX, folder.name, folder.name,
                   ' '.join(SHIPPED_FOLDER)))
    # Move to build folder
    sh('mkdir -p Builds')
    sh('rm -rf  ./Builds/*')
    sh('mv {}* ./Builds'.format(BUILD_PREFIX))
 def update(self, tmp=Path(__file__).parent.joinpath('tmp')):
     tmpfile = tmp / self.rurl.split('/')[-1]
     tmpfolder = Path(tmp, tmpfile.name.split('.')[0])
     if not tmpfile.exists():
         print('Downloading', self.lurl, 'from', self.rurl)
         sh('curl -# -R -Lk {} -o {}'.format(self.rurl, tmpfile))
         if self.rurl.endswith('.zip'):
             sh('unzip -qq -o {} -d {}'.format(tmpfile, tmpfolder))
         else:
             tmpfolder.mkdir(exist_ok=True)
             sh('cp -p {} {}'.format(tmpfile, tmpfolder))
     self.folder.mkdir(exist_ok=True, parents=True)
     sh('rm -rf {}'.format(self.lurl))
     for r in tmpfolder.rglob(self.name):
         sh('cp -pr {} {}'.format(r, self.folder))
Example #11
0
def enterpassword(user):
    """enterpassword(user)"""
    from os import system as sh
    from base64 import encodestring
    from Crypto.Cipher import AES
    from hashlib import sha256
    if sys.platform.startswith('win'):
        pswd = raw_input('%s\'s password : '******'%s\'s password : '******'stty -echo')
        pswd = raw_input()
        sh('stty echo')
        print(encodestring(sha256(pswd).digest()))
    return pswd
Example #12
0
def compile_ssdts(folder: Path):
    # compile if .aml not exist
    dsls = []
    for dsl in folder.rglob('*.dsl'):
        aml = Path(dsl.parent, dsl.name.replace('.dsl', '.aml'))
        if not aml.exists():
            dsls.append((dsl, aml))
        else:
            aml_mtime = get_timestamp(aml, 'm')
            dsl_mtime = get_timestamp(dsl, 'm')
            if dsl_mtime > aml_mtime:
                dsls.append((dsl, aml))
    for (dsl, aml) in dsls:
        Title('Compiling {} to aml'.format(dsl))
        sh('{} -oa {}'.format(iasl, dsl))
    return dsls
def default(folders):
    keyword = ''
    if path.name in ('Kexts', 'kexts', 'Other'):
        keyword = 'kext'
    elif path.name in ('Drivers', 'drivers', 'UEFI'):
        keyword = 'driver'

    for folder in folders:
        name = folder.name
        mapper = mappers[name]
        other = 'CLOVER' if name == 'OC' else 'OC'
        packages = []
        with open(R('packages.csv'), 'r') as f:
            keys = f.readline()[:-1].lower().split(',')
            for x in f:
                package = Package(**dict(zip(keys, x[:-1].split(','))))
                pf = package.folder

                if pf[0] == '#':  # remove this
                    for r in folder.rglob(package.name):
                        print('Remove {}'.format(r))
                        sh('rm -rf {}'.format(r))
                    continue

                if package.name == path.name:
                    package.folder = path.parent
                    packages = [package]
                    break

                if pf.startswith(other) or keyword not in pf.lower():
                    continue

                if pf.startswith(name):
                    package.folder = R(pf)
                else:
                    package.folder = folder / mapper.get(pf, pf)

                packages.append(package)

        if packages and Confirm('Do packages update for ' + folder.name):
            update_packages(packages)

        patching(folder / mapper.get('Kexts', 'Kexts'))

    if OC in folders:
        update_oc_info(OC)
def self_update(folders):
    sh('curl -# -LOk {}/archive/master.zip'.format(GITHUB_URL))
    sh('unzip {} -d {}'.format('master.zip', root))
    master = R('{}-macos-master'.format(BUILD_PREFIX.lower()))
    for folder in folders:
        config = folder / 'config.plist'
        if config.exists():
            masterconfig = Plist(master / folder.name / 'config.plist')
            Plist(config).copy(masterconfig)
            masterconfig.save()
        else:
            sh('rm -rf {}'.format(master / folder.name))
    sh('cp -pr {}/* {}'.format(master, root))
    update_acpi(R('ACPI'), folders)
    if R('OC').exists():
        update_oc_info(R('OC'))
    sh('rm -rf {} {}'.format('master.zip', master))
Example #15
0
    def openewin2(self):
        Settings.num += 1
        if(Settings.state2 == True or Settings.num == 1):
            self.pushButton.setGeometry(QtCore.QRect(80, 370, 200, 51))
            self.pushButton.setStyleSheet("background-color: rgb(104, 140, 140, 0.05);\n"
                                          "font: 75 italic 16pt \"MS Shell Dlg 2\";\n"
                                          "color: rgb(0, 0, 0);")
            self.pushButton_2.setGeometry(QtCore.QRect(70, 270, 220, 51))
            self.pushButton_2.setStyleSheet("background-color: rgb(104, 140, 140);\n"
                                            "font: 75 italic 16pt \"MS Shell Dlg 2\";\n"
                                            "color: rgb(255, 255, 255);")
            self.pushButton.hide()
            Settings.state2 == False
            self.pushButton_3.show()



        if(Settings.state2 == False or Settings.num >= 2):
            flag = 0
            Settings.num1 = self.textEdit.toPlainText()
            Settings.num2 = self.QLineEdit_2.text()
            h = hashlib.md5(Settings.num2.encode('cp1251')).hexdigest()
            values = (Settings.num1, h)
            if (Settings.num1 == '' or Settings.num2 == ''):
                QMessageBox.about(self, "Предупреждение", "Заполните пожалуйста поля")
                flag = 0
            else:
                flag = 1

            if (flag == 1):
                str1 = str(values[0]) + "," + str(values[1])
                Settings_host.sock.sendto(("R" + str1).encode("cp1251"),
                                          Settings_host.server)
                time.sleep(2)
                if Settings.data_From_Server[0] == "R":
                    res = Settings.data_From_Server[1:]
                if res == "True":
                    self.close()
                    f = open('data.txt', 'w')
                    f.write(Settings.num1)
                    f.close()
                    sh("python chatForm.py")
                elif res == "False":
                    QMessageBox.about(self, "Предупреждение",
                                      "Такое имя уже существует в системе. Если вы уже зарегистрированы, авторизуйтесь.")
Example #16
0
def scanandexploit():
    tr = sh('clear')
    print("Scanning...")
    tr = sh('hciconfig hci0 up')
    tr = sh('hcitool scan >> targets')
    global lines
    for line in open('targets'):
        lines += 1
    for i in range(1, lines):
        tr = sh('cat targets | grep : | awk \'{print "Addr(%s): "$1; print "Device: "$2; print ""}\'' % i)

    devid = int(input("Input device ID: "))
    r = 0
    btaddr = ''
    f = open('targets')
    f.readline()
    for i in range(devid):
        line = f.readline()
    for i in line:
        if i == "\n" or i == "\t":
            continue
        r += 1
        if r > 17:
            break
        btaddr += i
    tr = sh('rm targets')
    print("Addres %s added to memory" % btaddr)
    print("Exploiting...")
    sleep(3)
    sh('./poc %s' % btaddr)
Example #17
0
 def goto_board(self, board):
     #Shows Message
     sh("clear")
     self.actualboard = board
     print("Your request: " + board)
     self.__actual_url = self.__board + board
     sp = bs(r.get(self.__actual_url).content, "html.parser")
     print(sp.find("title").text + "\n" + get_meta_info("description", sp))
     if sp.find("title").text[:3] == "404":
         print("404 - back to main")
         self.main_screen()
     print("Loading threads...")
     threads = self.get_threads(self.__actual_url)
     print("Displaying threads...")
     self.display_board(threads)
     while True:
         print(
             "\n\tOptions:\n[i:download by idshort] [m:go to main] [c:change current page]\n[p:download all images of all threads in actual page]\n[v:view thread] [x:exit]"
         )
         opc = input("option: ")
         if opc == "i":
             idshort = int(input("select idshort: "))
             self.get_thread_files(threads[idshort]["post_url"],
                                   input("directory: ") + "/")
         elif opc == "m":
             self.main_screen()
         elif opc == "c":
             page = input("Enter number of page: ")
             self.goto_board(self.actualboard + page)
         elif opc == "v":
             idshort = int(input("select idshort: "))
             self.view_thread(threads[idshort]["post_url"])
         elif opc == "p":
             for idshort in list(threads.keys()):
                 #title=threads[idshort]["title"]
                 #if title==str():
                 title = threads[idshort]["post_id"].text
                 print("Downloading thread: " + title)
                 print("Downloading from: " + threads[idshort]["post_url"])
                 self.get_thread_files(threads[idshort]["post_url"],
                                       title + "/")
                 print("%i of 15 threads completed" % (idshort))
         elif opc == "x":
             exit()
Example #18
0
def browseBoards():
    i = 0
    while True:
        sh("clear")
        check(lambda:sys.stdout.write(open(str(i)+".life").read()+EOL), "Error, no such file: ``{}\"".format(str(i)+".life"))
        print("File: "+str(i)+".life")
        inp = check(lambda: raw_input("?> "), "\n", errfunc=lambda: exit(1)).split(" ")
        cmd = inp[0]
        if cmd in ["help", "?", "h"]:
            print(__BROWSE_DOC__)
            raw_input("Enter...")
        elif cmd in ["f", ""]:
            i += 1
        elif cmd == "b":
            i -= 1
        elif cmd == "go":
            i = check(lambda:int(inp[1]), "Error, not enough arguments, or invalid argument recieved"+EOL)
        elif cmd == "exit":
            return 0
Example #19
0
def run(name, args, idx):
    l = idx[0]
    if len(idx) == 2:
        r = idx[1]
    else:
        r = idx[0]

    for i in range(l, r + 1):
        print "(info) Generating 'night%s.in'..." % i
        sh("./%s-gen.py %s > night%s.in" % (name, " ".join(map(str, args)), i))
        sh("./encoder < night%s.in > night%s.out" % (i, i))
        sh("mv night%s.out night%s.in" % (i, i))
        sh("./std < night%s.in > night%s.ans" % (i, i))
Example #20
0
    def update(self):
        def hook(count, block, total):
            percent, width = min(count * block / total, 1), 25
            length = int(percent * width)
            print("{:<32} {:>8.1f}K [{}{}] {:.0%}".format(
                self.name, total / 1024, '#' * length, ' ' * (width - length),
                percent),
                  end='\r' if percent < 1 else '\n')

        tmpfile = self.rurl.split('/')[-1]  # with ext
        filename = tmpfile.split('.')[0]
        tmpfolder = tmp.joinpath(filename)
        tmpfolder.mkdir(exist_ok=True)
        tmpfile = tmpfolder.joinpath(tmpfile)
        if not tmpfile.exists():
            tmpfile, message = urlretrieve(self.rurl, tmpfile, reporthook=hook)
            if self.rurl.endswith('.zip'):
                sh('unzip -qq -o {} -d {}'.format(tmpfile, tmpfolder))

        self.folder.mkdir(exist_ok=True, parents=True)
        for item in self.items:
            itempath = self.folder.joinpath(item)
            sh('rm -rf {}'.format(itempath))
            sh(' '.join(
                ('find', str(tmpfolder), '-name', item, '-type', 'd' if
                 item.endswith('.kext') or item in ('OC', 'CLOVER') else 'f',
                 "| xargs -I '{}'", 'cp -r {}', str(self.folder))))
Example #21
0
 def compile_ssdts(folder: Path):
     # compile if .aml not exist
     ssdts = []
     for dsl in folder.rglob('SSDT-*.dsl'):
         aml = Path(dsl.parent, dsl.name.replace('.dsl', '.aml'))
         if not aml.exists() or get_timestamp(dsl, 'm') > get_timestamp(aml, 'm'):
             ssdts.append((dsl, aml))
     iasl = folder / 'iasl'
     if not iasl.exists():
         Title('Downloading iasl...')
         sh('curl -# -R -LOk https://bitbucket.org/RehabMan/acpica/downloads/iasl.zip')
         sh('unzip iasl.zip iasl -d {} && rm iasl.zip'.format(iasl.parent))
         sh('chmod a+x {}'.format(iasl))
     for (dsl, aml) in ssdts:
         sh('{} -oa {}'.format(iasl, dsl))
     return ssdts
Example #22
0
def clean():
    garbage_patterns = [
        "*/__pycache__",
        "**/*.pyc",
        "*.sqlite",
        "./*egg-info",
        "./build",
        "./dist",
    ]
    paths = set()

    for root, dirs, files in walk("."):
        for dir_ in dirs:
            paths.add(join(root, dir_))
            for file in files:
                paths.add(join(root, dir_, file))
        else:
            for file in files:
                paths.add(join(root, file))

    for pattern in garbage_patterns:
        for path in paths:
            if fnmatch(path, pattern):
                sh("rm -rvf %s" % path)
Example #23
0
    def log_in(self):
        user_name = self.lineEdit.text()
        password = self.lineEdit_2.text()

        self.db = sqlite3.connect('data_managers.db')
        self.cur = self.db.cursor()

        self.cur.execute('SELECT * FROM managers WHERE manager_user_name = ?',
                         (user_name, ))
        data = self.cur.fetchone()

        self.db.close()

        if data == None:
            QMessageBox.critical(self, 'خطا',
                                 'نام کاربری یا رمز عبور وارد شده صحیح نیست')

        elif user_name == data[1] and password == data[2]:
            self.close()
            sh("python manager_page.py")

        else:
            QMessageBox.critical(self, 'خطا',
                                 'نام کاربری یا رمز عبور وارد شده صحیح نیست')
Example #24
0
def browseEvolutionsDirectly():
    i = 0
    evolutions = []
    while True:
        sh("clear")
        check(lambda:sys.stdout.write(open(str(i)+".life").read()+EOL), "Error, no such file: ``{}\"".format(str(i)+".life"))
        print("File: "+str(i)+".life")
        inp = check(lambda: raw_input("?> "), "\n", errfunc=lambda: exit(1)).split(" ")
        cmd = inp[0]
        if cmd in ["help", "?", "h"]:
            print(__BROWSE_DOC__)
            raw_input("Enter...")
        elif cmd in ["f", ""]:
            updateBoard()
            evolutions.append(_board_)
            i += 1
        elif cmd == "b":
            i -= 1
        elif cmd == "go":
            if int(inp[1]) > len(evolutions):
                while len(inp[1]) > len(evolutions):
                    evolutions.append(_board_)
        elif cmd == "exit":
            return 0
Example #25
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

if sh("g++ main.cpp -std=c++11 -O3 -o main.exec"):
    exit(-1)
if sh("g++ center.cpp -std=c++11 -O3 -o brute.exec"):
    exit(-1)

cnt = 1
while True:
    sh("./gen.py 7 10 > data.in")
    sh("./main.exec < data.in > data.out")
    sh("./brute.exec < data.in > data.ans")

    if sh("diff -Bb data.out data.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
def Done(msg: str = 'Done'):
    print(msg)
    sh('rm -rf {}'.format(tmp))
    exit()
def replace_with_release(folder: Path, version='latest'):
    '''folder is CLOVER/OC
    '''
    # backup your config
    originconfig = folder / 'config.plist'
    backupconfig = R(folder.name + '.plist')
    originthemes = folder / 'themes'
    backupthemes = R('themes')
    if originconfig.exists():
        sh('mv {} {}'.format(originconfig, backupconfig))
    if originthemes.exists():
        sh('mv {} {}'.format(originthemes, backupthemes))

    sh('rm -rf {}'.format(folder))
    if update_packages([
            Package(name=folder.name,
                    folder=root,
                    url=GITHUB_URL,
                    description=folder.name + ' ' + GITHUB_DESCRIPTION,
                    version=version,
                    pattern='.*-' + folder.name)
    ]):
        if backupconfig.exists():
            originconfig = Plist(originconfig)
            Plist(backupconfig).copy(originconfig)
            originconfig.save()
        if backupthemes.exists():
            sh('rm -rf {}'.format(originthemes))
            sh('mv {} {}'.format(backupthemes, originthemes))

    sh('rm -f {}'.format(backupconfig))
    sh('rm -f {}'.format(backupthemes))
Example #28
0
#!/usr/bin/env pypy

import sys
from os import system as sh

if len(sys.argv) < 6:
    print "Usage: %s [N] [Q] [T] [G] [ID]" % sys.argv[0]
    exit(-1)

n = sys.argv[1]
q = sys.argv[2]
t = sys.argv[3]
generator = sys.argv[4]
idx = sys.argv[5]

print "Generating origin data..."
sh("./gen-%s.py %s %s 0 > bipartite.in" % (generator, n, q))

print "Getting answer..."
sh("./a.out < bipartite.in > bipartite.out")

if t == '1':
    print "Encrypting..."
    sh("./encrypt.py bipartite.in bipartite.out > bipartite%s.in" % idx)
else:
    sh("cp bipartite.in bipartite%s.in" % idx)

sh("cp bipartite.out bipartite%s.ans" % idx)

print "Finished!"
Example #29
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

sh('g++ grader.cpp rts.cpp -g')

cnt = 0
while True:
    cnt += 1
    print cnt

    sh('./gen.py 7 > data.in')
    sh('./a.out < data.in > data.out')

    with open('data.out', 'r') as reader:
        l = reader.readline()
        if l.strip() != 'Correct':
            print 'Hacked!'
            break;
Example #30
0
#!/usr/bin/env pypy

from os import system as sh

sh("g++ seer.cpp -O3")

cnt = 1
while True:
    sh("./seer-gen.py 100000 250000 1000 > seer.in")
    sh("./a.out < seer.in > seer.out")

    with open("seer.out", "r") as reader:
        ans = int(reader.readline())

    if ans == -1:
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #31
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

sh("g++ main.cpp -std=c++11 -O3 -o mine.out")
sh("g++ std.cpp -O3 -o std.out")

cnt = 1
while True:
    sh("./gen.py 4 4 2 > data.in")
    sh("./mine.out < data.in > data.out")
    sh("./std.out < data.in > data.ans")

    if sh("diff -Bb data.out data.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #32
0
#!/usr/bin/env pypy

from os import system as sh

cnt = 0
while True:
    cnt += 1
    print cnt
    sh("./gen.py > data.in")
    if sh("./a.out < data.in > /dev/null"):
        print "RE"
        break
Example #33
0
def test():
    sh("coverage run --source=%s -m unittest discover -v" % PROJECT)
Example #34
0
def version():
    print("%s %s" % (PROJECT, VERSION))
    sh("python --version")
Example #35
0
#!/usr/bin/env pypy

from os import system as sh

if sh("g++ ticket.cpp -std=c++11 -o ticket.exec"):
    exit(-1)
if sh("g++ ticket-brute.cpp -O3 -o ticket-brute.exec"):
    exit(-1)

cnt = 1
while True:
    sh("./ticket-gen.py 5000 > ticket.in")
    sh("./ticket.exec < ticket.in > ticket.out")
    sh("./ticket-brute.exec < ticket.in > ticket.ans")

    if sh("diff -Bb ticket.out ticket.ans"):
        print("Hacked!")
        break
    else:
        print(cnt)
        cnt += 1
Example #36
0
#!/usr/bin/env pypy

from os import system as sh

sh("g++ bracket.cpp -g")

cnt = 1
while True:
    sh("./bracket-gen.py 6 > data.in")
    if sh("./a.out < data.in > /dev/null"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #37
0
from os import system as sh


def gen(idx, n):
    print "(info) Generating 'spiral%s.in'..." % idx
    sh("./gen.py %s > spiral%s.in" % (n, idx))
    print "(info) Generating 'spiral%s.ans'..." % idx
    sh("./a.out < spiral%s.in > spiral%s.ans" % (idx, idx))


gen(1, 4)
gen(2, 9)
gen(3, 9)
gen(4, 100)
gen(5, 998)
gen(6, 1000)
gen(7, 89999)
gen(8, 100000)
gen(9, 1000000)

print "(info) Generating 'spiral10.in'..."
with open("spiral10.in", "w") as writer:
    writer.write("1000000\n")
    writer.write("2 1 ")
    for i in xrange(3, 10**6 + 1):
        writer.write(str(i) + " ")

print "(info) Generating 'spiral10.ans'..."
sh("./a.out < spiral10.in > spiral10.ans")
Example #38
0
def uninstall():
    sh("sudo -H pip -q uninstall -y %s" % PROJECT)
Example #39
0
#!/usr/bin/env pypy

from os import system as sh

sh("g++ merchant.cpp -std=c++11 -O3 -o merchant.out")
sh("g++ merchant-brute.cpp -std=c++11 -O3 -o brute.out")

cnt = 1
while True:
    sh("./merchant-gen.py 100 1000 1000 1000000 > data.in")
    sh("./merchant.out < data.in > data.out")
    sh("./brute.out < data.in > data.ans")

    if sh("diff -Bb data.out data.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #40
0
def install_deps():
    sh("pip install -q -U requirements-dev.txt")
Example #41
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from sys import *
from os import system as sh

a, b, n, q = argv[1:]
n, q = map(int, (n, q))

sh("g++ %s -std=c++11 -O3 -o /tmp/a.out" % a)
sh("g++ %s -std=c++11 -O3 -o /tmp/b.out" % b)

cnt = 1
while True:
    sh("./gen.py %s %s > /tmp/data.in" % (n, q))
    sh("/tmp/a.out < /tmp/data.in > /tmp/a.ans")
    sh("/tmp/b.out < /tmp/data.in > /tmp/b.ans")

    if sh("diff -Bb /tmp/a.ans /tmp/b.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #42
0
#!/usr/bin/env pypy

from os import system as sh

sh("g++ love.cpp -O3")
sh("g++ love-brute.cpp -O3 -o brute.out")

cnt = 1
while True:
    sh("./love-gen.py 10 1000000 > love.in")
    sh("./a.out < love.in > love.out")
    sh("./brute.out < love.in > love.ans")

    if sh("diff -Bb love.out love.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #43
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

sh("g++ simplex.cpp -O3 -o simplex.out")
sh("g++ std.cpp -O3 -o std.out")

cnt = 1
while True:
    sh("./gen.py 20 20 > data.in")
    sh("./simplex.out < data.in > data.out")
    sh("./std.out < data.in > data.ans")

    with open("data.ans", "r") as reader:
        std = reader.readline().strip()
    with open("data.out", "r") as reader:
        usr = reader.readline().strip()

    if std == "Infeasible" or std == "Unbounded":
        if usr != std:
            print "Hacked!"
            break
    elif abs(float(std) - float(usr)) >= 1e-4:
        print "Hacked!"
        break

    print cnt
    cnt += 1
Example #44
0
def install():
    sh("pip install -q .")
Example #45
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

sh("g++ brute.cpp -O3 -o brute.exec")
sh("g++ main.cpp -g")

cnt = 1
while True:
    sh("./gen.py 100 100 2147483647 > data.in")
    sh("./a.out < data.in > data.out")
    sh("./brute.exec < data.in > data.ans")

    if sh("diff -Bb data.out data.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #46
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

sh("g++ forest.cpp -std=c++11 -o forest.exec")
sh("g++ forest-brute.cpp -O3 -o brute.exec")

cnt = 1
while True:
    sh("./gen.py 2 5 > forest.in")
    sh("./forest.exec < forest.in > forest.out")
    sh("./brute.exec < forest.in > forest.ans")

    if sh("diff -Bb forest.out forest.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #47
0
#!/usr/bin/env pypy

from os import system as sh

if sh("g++ c-brute.cpp -O3 -o brute.exec"):
    exit(-1)
if sh("g++ c.cpp -O3 -o c.exec"):
    exit(-1)

cnt = 1
while True:
    sh("./c-gen.py 1000 100 1000000000 > c.in")
    sh("./c.exec < c.in > c.out")
    sh("./brute.exec < c.in > c.ans")

    if sh("diff -Bb c.out c.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #48
0
#!/usr/bin/env pypy

from os import system as sh

sh("g++ C.cpp -O3")
sh("g++ C-brute.cpp -O3 -o b.out")

cnt = 1
while True:
    sh("./C-gen.py 10 30 2 > C.in")
    sh("./a.out < C.in > C.out")
    sh("./b.out < C.in > C.ans")

    if sh("diff -Bb C.out C.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
def update_acpi(ACPI: Path, folders):
    def compile_ssdts(folder: Path):
        # compile if .aml not exist
        ssdts = []
        for dsl in folder.rglob('SSDT-*.dsl'):
            aml = Path(dsl.parent, dsl.name.replace('.dsl', '.aml'))
            if not aml.exists() or get_timestamp(dsl, 'm') > get_timestamp(
                    aml, 'm'):
                ssdts.append((dsl, aml))
        iasl = folder / 'iasl'
        if not iasl.exists():
            Title('Downloading iasl...')
            sh('curl -# -R -LOk https://bitbucket.org/RehabMan/acpica/downloads/iasl.zip'
               )
            sh('unzip iasl.zip iasl -d {} && rm iasl.zip'.format(iasl.parent))
            sh('chmod a+x {}'.format(iasl))
        for (dsl, aml) in ssdts:
            sh('{} -oa {}'.format(iasl, dsl))
        return ssdts

    def get_patches(ACPI: Path):
        '''Get patches from dsl files
        // Patch: xxx
        // Find: ABC
        // Replace: DEF
        '''
        patches = []
        for dsl in Path(ACPI).rglob('SSDT-*.dsl'):
            with open(dsl, 'r') as f:
                while True:
                    line = f.readline()
                    if line.startswith('// Patch:'):
                        patches.append({
                            'Comment':
                            line[9:].strip(),
                            'Find':
                            Plist.data(f.readline()[8:].strip()),
                            'Replace':
                            Plist.data(f.readline()[11:].strip())
                        })
                    elif not line:
                        break
        return patches

    patches = sorted(get_patches(ACPI), key=lambda x: x['Comment'])

    Title('Updating SSDTs')
    if ACPI == root:  # do a full update
        sh('rm -rf {}/*.aml'.format(ACPI))
    ssdts = compile_ssdts(ACPI)  # [(dsl, aml), ...]
    for folder in folders:
        if not folder.exists():
            continue
        patches = get_patches(ACPI)
        acpi = folder / mappers[folder.name].get('ACPI', 'ACPI')
        sh('rm -rf {}'.format(acpi))
        acpi.mkdir(exist_ok=True, parents=True)
        sh('cp -p {}/SSDT-*.aml {}'.format(ACPI, acpi))
        config = Plist(folder / 'config.plist')
        if folder == CLOVER:
            for patch in patches:
                patch['Disabled'] = False
            config.plist['ACPI']['DSDT']['Patches'] = patches
        else:
            for patch in patches:
                patch['Enabled'] = True
            config.plist['ACPI']['Patch'] = patches
            config.plist['ACPI']['Add'] = [{
                'Enabled': True,
                'Path': aml.name
            } for aml in sorted((folder / 'ACPI').glob('SSDT-*.aml'))]
        config.save()
        print(folder, 'patches updated')
Example #50
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

sh("g++ random.cpp -O3 -o random.out")
sh("g++ brute.cpp -O3 -o brute.out")

for i in xrange(1, 10**9):
    sh("./random-gen.py 40 600 1000000007 > data.in")
    sh("./random.out < data.in > data.out")
    sh("./brute.out < data.in > data.ans")

    if sh("diff -Bb data.out data.ans"):
        print "Hacked!"
        break
    else:
        print i
def post_install():
    fix_sleep()
    sh('sudo bash ./PostInstall/CombojackFix/install.sh')
Example #52
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

sh("g++ main.cpp -g")

cnt = 1
while True:
    sh("./gen.py 100 > data.in")
    sh("./a.out < data.in > data.out")

    mat = []
    with open("data.in", "r") as reader:
        T = reader.readline()
        n, m = map(int, reader.readline().split())
        for i in xrange(n):
            mat.append(map(int, reader.readline().split()))

    with open("data.out", "r") as reader:
        perm = map(int, reader.readline().split())

        for i in xrange(n):
            assert 1 <= perm[i] <= n

            j = 0
            while mat[i][j] != perm[i]:
                j += 1

            while j < m:
                mat[i][j] = perm[i]
                j += 1
Example #53
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh
from random import *

sh("g++ network.cpp -g -std=c++11 -o a.out")
sh("g++ brute.cpp -O2 -o brute")

def random_string(n):
    return "".join([chr(randint(ord('a'), ord('z'))) for i in range(0, n)])

while True:
    sh("./datagen.py 1000 2000 1000000000 > network.in")
    sh("./a.out")
    sh("./brute")

    if sh("diff -b -B network.out brute.out"):
        print("Hacked!")
        exit(0)
    else:
        print(random_string(7))
Example #54
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

if sh("g++ monument.cpp -O3 -o monument.exec"):
    exit(-1)
if sh("g++ brute.cpp -O3 -o brute.exec"):
    exit(-1)

cnt = 1
while True:
    sh("./gen.py 500 1000000000 > monument.in")
    sh("./monument.exec < monument.in > monument.out")
    sh("./brute.exec < monument.in > monument.ans")

    if sh("diff -Bb monument.out monument.ans"):
        print "Hacked!"
        break
    else:
        print cnt
        cnt += 1
Example #55
0
def gen(idx, n):
    print "(info) Generating 'spiral%s.in'..." % idx
    sh("./gen.py %s > spiral%s.in" % (n, idx))
    print "(info) Generating 'spiral%s.ans'..." % idx
    sh("./a.out < spiral%s.in > spiral%s.ans" % (idx, idx))
Example #56
0
File: hack.py Project: riteme/test
#!/usr/bin/env pypy

from os import system as sh

cnt = 1
while True:
    sh("./gen.py 499 757 > data.in")
    if sh("./a.out < data.in > data.out"):
        print "Hacked!"
        break

    print cnt
    cnt += 1
Example #57
0
                # if dt_tmp1 <= now and now < dt_tmp2:
                # if str_run != "":
                # print("{} - {}: {}".format(titem[0], titem[1], str_run[0]))
                # elif now <= dt_tmp1:
                # print("{} - {}: {}".format(titem[0], titem[1], lst_queue[i][0]))
                # i += 1
                i += 1
        has_opt = True
    if args.add:
        add_start = input("start date -> ")
        add_end = input("end date -> ")
        if add_start == "" and add_end == "":
            add_start = now
            add_end = now + oneday
        add_title = input("title -> ")
        f = open(dir_script + '/sche.csv', "a")
        f.write(
            add_start.strftime("%Y-%m-%d %H:%M") + ',' +
            add_end.strftime("%Y-%m-%d %H:%M") + ',' + add_title + "\n")
        f.close()
        has_opt = True
    if args.edit:
        sh('vim {0}/proj.csv {0}/ttable.csv'.format(os.path.dirname(__file__)))
        has_opt = True
    if not has_opt:
        print_items(list_today)
except Exception as e:
    print(RED + "*** Error occured in parsing csv file! ***" + ENDC)
    print(e)
    print(line)
Example #58
0
def _bump(increment):
    new_version = "%0.1f" % (VERSION + increment)
    response = input("Bump from %s to %s? (y/n) " % (VERSION, new_version))
    if not response.lower().strip().startswith("y"):
        print("aborting")
        return
    install_deps()

    with open(VERSION_PATH, "w") as version_txt:
        version_txt.write("VERSION = %s\n" % new_version)
    sh("git reset HEAD -- .")  # unstage all changes
    sh("git add %s/__version__.py" % PROJECT)
    sh('git commit -m "Version bump"')
    sh("git tag %s" % new_version)
    sh("git push")
    sh("git push --tags")
    sh("./setup.py sdist bdist_wheel")
    sh("python -m twine upload dist/%s-%s*" % (PROJECT, new_version))
    clean()