def main_entry(): parser = argparse.ArgumentParser() parser.add_argument('-l', help='the qq numbers list you want to lookup', dest='qq_list', default=None, required=True) parser.add_argument('-s', help='the start timestamp you want to spider', dest='start_date', default=settings.default_end_time) parser.add_argument('-F', help='whether the data is forced updated', dest='force_update', action='store_true', default=False) args = parser.parse_args() qq_list = [] for qq in open(args.qq_list): qq = qq.replace('\n', '') if qq is not '': qq_list.append(qq) bar_list = tqdm(total=len(qq_list), position=1) i = 1 for qq in qq_list: find.qzonesecret(qq, over_time=args.start_date, force_update=(args.force_update is True)) bar_list.update(1) bar_list.set_description("Item %i" % i) i += 1 bar_list.close() db.db_close()
def plot_view_tstatistic(tid): """ Render a the plot.html template for viewing a single t-statistic trace. """ db = db_connect() ttest = db.getTTraceSetsById(tid) target = ttest.target experiment = ttest.experiment stid = ttest.ttraceId pbin = db.getProgramBinaryByTargetAndExperiment(target.id, experiment.id) disasm = getExperimentPayloadFromProgramBinary(pbin) template = render_template("plot.html", plotType="TTest", ttest=ttest, target=target, experiment=experiment, stid=stid, pbin=pbin, disasm=disasm) db_close() return template
def plot_view_corrolation_statistic(tid): """ Render a the plot.html template for viewing a single corrolation-statistic trace. """ db = db_connect() corr = db.getCorrolationTraceById(tid) target = corr.target experiment = corr.experiment stid = corr.statisticTraceid pbin = db.getProgramBinaryByTargetAndExperiment(target.id, experiment.id) disasm = getExperimentPayloadFromProgramBinary(pbin) template = render_template("plot.html", plotType="Corrolation", corr=corr, target=target, experiment=experiment, stid=stid, pbin=pbin, disasm=disasm) db_close() return template
def list_targets(): """ Shows the page which lists all of the available target platforms. """ db = db_connect() targets = db.getAllTargets().all() devices = db.getAllDevices().all() cores = db.getAllCores().all() boards = db.getAllBoards().all() targets.sort(key = lambda x : x.core.name) cores.sort(key = lambda x : x.name) template = render_template( "targets/list.html", targets = targets, devices = devices, cores = cores, boards = boards ) db_close() return template
def render_selection(tids): """ Plot a set of traces over one-another. """ sel = [int(i) for i in tids.split(",")] db = db_connect() traces = [] labels = [] for tid in sel: stat_trace = db.getStatisticTraceById(tid) traces.append(stat_trace.getValuesAsNdArray()) labels.append(stat_trace.name) figure = makePlotFigure(traces, slabels=labels, xlabel="Sample", width_in=15, height_in=8) rsp = makePlotResponse(figure) db_close() return rsp
def show_results(eid, tid): """ Render page showing experiment results for a particular target and experiment combination. """ db = db_connect() experiment = db.getExperimentById(eid) target = db.getTargetById(tid) ttests = db.getTTraceSetsByTargetAndExperiment(target.id, experiment.id).all() blobs = db.getTraceSetBlobByTargetAndExperiment( target.id, experiment.id, ).all() corrs = db.getCorrolationTraceByTargetAndExperiment( target.id, experiment.id).all() pbin = db.getProgramBinaryByTargetAndExperiment(target.id, experiment.id) template = render_template("experiments/results.html", target=target, experiment=experiment, blobs=blobs, ttests=ttests, corrs=corrs, pbin=pbin) db_close() return template
def plot_statistic_trace(eid, tid, stid): """ Render a the plot.html template for viewing a single statistic trace. """ db = db_connect() pbin = None disasm = None target = db.getTargetById(tid) experiment = db.getExperimentById(eid) pbin = db.getProgramBinaryByTargetAndExperiment(target.id, experiment.id) disasm = getExperimentPayloadFromProgramBinary(pbin) trace = db.getStatisticTraceById(stid) template = render_template("plot.html", plotType=str(trace.stat_type), target=target, experiment=experiment, stid=trace.id, strace=trace, pbin=pbin, disasm=disasm) db_close() return template
def route_jinja(path): t_wordcloud = [] db_connection, db_cursor = db.db_connect() if db_cursor: t_wordcloud = db.db_select_word_cloud(db_cursor) db.db_close(db_connection, db_cursor) return render_template('jinja.html', t_wordcloud=t_wordcloud)
def route_device(p_address=None, p_address_type=None, p_limit=100): time_now = time.strftime("%H:%M", time.localtime()) t_device = [] db_connection, db_cursor = db.db_connect() if db_cursor: t_device = db.db_select_device(db_cursor, p_address, p_address_type, p_limit) db.db_close(db_connection, db_cursor) return render_template('device.html', date=time_now, t_device=t_device)
def route_scan_data_car(): time_now = time.strftime("%H:%M", time.localtime()) t_scan_data_car = [] db_connection, db_cursor = db.db_connect() if db_cursor: t_scan_data_car = db.db_select_scan_data_car(db_cursor) db.db_close(db_connection, db_cursor) return render_template('scan_data_car.html', date=time_now, t_scan_data_car=t_scan_data_car)
def list_experiments(): """ Shows the page which lists all of the available target platforms. """ db = db_connect() experiments = db.getAllExperiments() template = render_template("experiments/list.html", experiments=experiments) db_close() return template
def render_statistic_trace(tid): """ Render a single statistic trace using matplotlib. """ db = db_connect() strace = db.getStatisticTraceById(tid) nptrace = strace.getValuesAsNdArray() tgtId = request.args.get("tgtid", None) expId = request.args.get("eid", None) ttestId = request.args.get("ttid", None) corrId = request.args.get("corrId", None) title = "" xlabel = "Trace Sample" ylabel = "" ylines = [] if (ttestId): ttest = db.getTTraceSetsById(ttestId) title += "TTest: " + str(ttest.parameterDict) + " " ylabel = "T-Statistic Value" ylines.append(4.5) ylines.append(-4.5) if (corrId): corr = db.getCorrolationTraceById(corrId) title += corr.corrType + ": " + ttest.randomTraceSet.parameters + " " if (expId): title += db.getExperimentById(expId).fullname + " " if (tgtId): title += db.getTargetById(tgtId).name + " " figure = makePlotFigure([nptrace], [], title, xlabel=xlabel, ylabel=ylabel, ylines=ylines) rsp = makePlotResponse(figure) db_close() return rsp
def parse_file_infite(): filename = FILE while True: timeBefore = time.time() newName = filename + 'stat' + str(int(time.time())) if path.isfile(filename): conn, curr = db.db_connect() rename(filename, newName) mainlog = open(newName, 'a+') mainlog.write('\nFrom MAILER-DAEMON') mainlog.close() mainlog = open(newName, 'a+') process_file(mainlog, conn, curr) db.db_close(conn, curr) if time.time() - timeBefore < 60: time.sleep(60)
def parse_file_infite(): filename = FILE while True: timeBefore = time.time() newName = filename + 'stat' + str(int(time.time())) if path.isfile(filename): conn,curr = db.db_connect() rename(filename, newName) mainlog = open(newName,'a+') mainlog.write('\nFrom MAILER-DAEMON'); mainlog.close() mainlog = open(newName, 'a+') process_file(mainlog, conn, curr) db.db_close(conn, curr) if time.time() - timeBefore < 60: time.sleep(60)
def show_device(id): """ Renders a page which lists all the information on a particular device. """ db = db_connect() device = db.getDeviceById(id) targets = db.getTargetsByDevice(device.id) template = render_template( "targets/device.html", device = device, targets = targets ) db_close() return template
def show_experiment(id): """ Render page showing all information on a particular experiment. """ db = db_connect() experiment = db.getExperimentById(id) targets = db.getTargetsByExperiment(experiment.id).all() targets.sort(key=lambda x: x.core.name) template = render_template("experiments/show.html", targets=targets, experiment=experiment) db_close() return template
def show_target(id): """ Renders a page which lists all the information on a particular target. """ db = db_connect() target = db.getTargetById(id) experiments = db.getExperimentsByTarget(target.id) template = render_template( "targets/target.html", target = target, experiments = experiments ) db_close() return template
def show_board(id): """ Renders a page which lists all the information on a particular board. """ db = db_connect() board = db.getBoardById(id) targets = db.getTargetsByBoard(board.id) template = render_template( "targets/board.html", board = board, targets = targets ) db_close() return template
def show_core(id): """ Renders a page which lists all the information on a particular core. """ db = db_connect() core = db.getCoreById(id) targets = db.getTargetsByCore(core.id) template = render_template( "targets/core.html", core = core, targets = targets ) db_close() return template
def download_binary(pid): """ Download a program binary. """ db = db_connect() pbin = db.getProgramBinaryById(pid) rsp = make_response(pbin.binary) rsp.headers.set("Content-Type", "application/octet-stream") rsp.headers.set("Content-Disposition", "attachment", filename="%s-%s-program.elf" % (pbin.target.name, pbin.experiment.name)) db_close() return rsp
def download_disassembly(pid): """ Download a program disassembly. """ db = db_connect() pbin = db.getProgramBinaryById(pid) rsp = make_response(pbin.disasm) rsp.headers.set("Content-Type", "text/plain") rsp.headers.set("Content-Disposition", "attachment", filename="%s-%s-program.dis" % (pbin.target.name, pbin.experiment.name)) db_close() return rsp
def main(): parser = argparse.ArgumentParser() parser.add_argument('-q', help='the qq number you want to lookup', dest='qq_num', default=None, required=True) parser.add_argument('-s', help='the start timestamp you want to spider', dest='start_date', default=settings.default_end_time) parser.add_argument('-F', help='whether the data is forced updated', dest='force_update', action='store_true', default=False) args = parser.parse_args() qzonesecret(args.qq_num, over_time=args.start_date, force_update=(args.force_update is True)) db.db_close()
def route_ajax_db(): time_now = time.strftime("%H:%M:%S", time.localtime()) if request.method == "GET": restrict = request.args.getlist('restrict') query = request.args.get('query') elif request.method == "POST": restrict = request.form.getlist('restrict') query = request.form.get('query') else: restrict = [] query = "" t_result = [] db_connection, db_cursor = db.db_connect() if db_cursor: if query == "db_select_scan_bucket": t_result = db.db_select_scan_bucket(db_cursor) elif query == "db_select_recap": t_result = db.db_select_recap(db_cursor, restrict) db.db_close(db_connection, db_cursor) return jsonify(time=time_now, result=t_result)
def _stop_db(_): db_close()
#!/usr/bin/python # BLE V2: Collect of BLE import db import os.path import time from bluepy.btle import Scanner if __name__ == '__main__': scanner = Scanner() while not os.path.exists('stop'): time.sleep(1) devices = scanner.scan(5) ts = int(time.time()) db_connection, db_cursor = db.db_connect() for dev in devices: db.db_insert_device(db_cursor, dev.addr, dev.addrType, dev.rssi, ts) for (adtype, name, value) in dev.getScanData(): db.db_insert_scan_data(db_cursor, dev.addr, dev.addrType, adtype, name, value, ts) db.db_close(db_connection, db_cursor)
try: # Set up DB connection, table, and load data engine = db.db_connect(args.user, args.password, args.db_url) char_table = db.create_char_table(engine) for char in characters: db.insert_character(engine, char_table, characters[char]) # Pull names and films from DB characters = engine.execute( "SELECT name, films from characters").fetchall() print(len(characters)) # Prep and print to console films = set( reduce(lambda x, y: x + y, [c.films.split("|") for c in characters])) characters_by_film = [{ "film": f, "character": [c.name for c in characters if f in c.films] } for f in films] print(json.dumps(characters_by_film, indent=2)) db.db_close(engine) except Exception as e: print(e) finally: db.db_close(engine)
create_history(crs, data) ######### # Example ######## # db connection con = sql_connect(DBNAME) crs = con.cursor() # setup db, load balance init_profile(con) init_balance(crs) # buying test_buy = buy_trade(crs, 'btc_idr', '124833800', '2000000') tr_status_done(crs, TR_TYPE[0], test_buy) # sell sell_trade(crs, test_buy, '144833800') tr_status_done(crs, TR_TYPE[1], test_buy) # move to history table check_trade(crs, test_buy) # close connection db_close(con)