-
Notifications
You must be signed in to change notification settings - Fork 0
/
cvc_function_in_python.py
60 lines (42 loc) · 2.08 KB
/
cvc_function_in_python.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import sys
import os
from c_function_module import *
def binary(num, length=8):
return format(num, '#0{}b'.format(length + 2))
###################################################
def pre_process_input(val):
if type(val) is list:
varlist=[]
for i in range(0, len(val)):
varlist.append(binary(val[i], 8))
return varlist
else:
vardata = binary(val, 8)
return vardata
def match_predicate(predicate, args):
for k, v in args.items():
# print k
# print v
var = pre_process_input(v)
# print v
exec(k+"=var")
result=None
predicate = 'result = bool(int2(' + predicate +'))'
# predicate = 'result = ' + predicate
# predicate = '''result = bool(int2(' + predicate +'))
# print result
# with open('/home/spark/workspace/newversion', 'a') as handle:
# handle.write(str(result) + '\n')
# '''
exec(predicate)
return result
# code="print notpy(((eqpy('0b1',extractpy('0b00000001' if int2(((eqpy('0b00001101',SYMBOL_CLIENT_0x6ae64b0[int2('0b00000000000000000000000000001')])))) else '0b00000000','0b00000000','0b00000000')))))"
# match_predicate(code, SYMBOL_CLIENT_0x6ae64b0=[0x01, 0x02, 0x03 ])
#print bvsxpy('0b010', '0b111')
#
#print bvltpy('0b10', '0b00')
#print bvltpy('0b11', '0b111')
#
#print concatpy('0b1110',concatpy('0b1001', '0b0001'))
#
# print match_predicate('''(bvsxpy(SymClient_0x2eaacd0[int2('0b00000000000000000000000000000100')],'0b00100000'),'0b00000000000000000000000000000000')''', {'SERSYMIP_0x2e8c640': [192, 168, 1, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'SymClient_0x2eaacd0': [71, 69, 84, 223, 197, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'CONNECTIP_0x2ec4130': [192, 168, 1, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]})