-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathutils.py
29 lines (20 loc) · 985 Bytes
/
utils.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import os
import paramiko
import config
def copy_file_to_qsym_host(local_path, remote_path):
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=config.QSYM_HOST, username=config.QSYM_UN, key_filename=config.QSYM_KEYFILE)
ftp_client = ssh_client.open_sftp()
ftp_client.put(local_path, remote_path)
ftp_client.close()
def qsym_host_provide_permission(remote_path):
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=config.QSYM_HOST, username=config.QSYM_UN, key_filename=config.QSYM_KEYFILE)
print(f"chmod +x {remote_path}")
ssh_client.exec_command(f"chmod +x {remote_path}")
def setup():
os.system("gcc -c -g qemu_qsym_harness.c -no-pie -o driver.o")
def compile_harness(obj_loc):
os.system(f"gcc {obj_loc} driver.o -no-pie -g -o {config.LOCAL_UNINSTRUMENTED_EXEC_PATH}")