-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpayload.py
More file actions
29 lines (21 loc) · 993 Bytes
/
payload.py
File metadata and controls
29 lines (21 loc) · 993 Bytes
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 subprocess
import importlib
packages = ['sentence_transformers', 'pickle', 'termcolor', 'Pyfiglet']
for package in packages:
try:
importlib.import_module(package)
except ImportError:
subprocess.run(['python', '-m', 'pip', 'install', package, '-q', '--no-input', '--no-python-version-warning'])
import pyfiglet
pyfiglet.print_figlet("Byte", font="poison",colors="red", justify="center")
pyfiglet.print_figlet("Viper", font="poison",colors="green", justify="center")
from sentence_transformers import SentenceTransformer, util
import pickle
model_name = 'nq-distilbert-base-v1'
model = SentenceTransformer(model_name)
with open('opcode_embeddings.pkl', 'rb') as pkl:
df_trained = pickle.load(pkl)
def getopcode(opcode):
saved_embeddings = list(df_trained['embedding'])
hits = util.semantic_search(model.encode(opcode, convert_to_tensor=True), saved_embeddings, top_k=1)
return str(df_trained.at[hits[0][0]['corpus_id'], 'Opcode']).replace(',','|')