forked from JonathanSalwan/Tigress_protection
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sample1-virt-operand-registers.py
147 lines (143 loc) · 6.16 KB
/
sample1-virt-operand-registers.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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#!/usr/bin/env python2
## -*- coding: utf-8 -*-
import sys
def sx(bits, value):
sign_bit = 1 << (bits - 1)
return (value & (sign_bit - 1)) - (value & sign_bit)
SymVar_0 = int(sys.argv[1])
ref_264 = SymVar_0
ref_279 = ref_264 # MOV operation
ref_7018 = ref_279 # MOV operation
ref_7125 = ref_7018 # MOV operation
ref_7145 = (ref_7125 >> (0x7 & 0x3F)) # SHR operation
ref_8510 = ref_279 # MOV operation
ref_8662 = ref_8510 # MOV operation
ref_8682 = ((ref_8662 << (0x39 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_8830 = ref_7145 # MOV operation
ref_8846 = ref_8682 # MOV operation
ref_8848 = (ref_8830 | ref_8846) # OR operation
ref_8982 = ref_8848 # MOV operation
ref_11446 = ref_8982 # MOV operation
ref_11605 = ref_11446 # MOV operation
ref_11607 = ((0x2D4AF89B + ref_11605) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_11754 = ref_11607 # MOV operation
ref_11756 = (0x1D5ABF66 & ref_11754) # AND operation
ref_13121 = ref_279 # MOV operation
ref_13228 = ref_13121 # MOV operation
ref_13248 = (ref_13228 >> (0xB & 0x3F)) # SHR operation
ref_14613 = ref_279 # MOV operation
ref_14765 = ref_14613 # MOV operation
ref_14785 = ((ref_14765 << (0x35 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_14933 = ref_13248 # MOV operation
ref_14949 = ref_14785 # MOV operation
ref_14951 = (ref_14933 | ref_14949) # OR operation
ref_15099 = ref_14951 # MOV operation
ref_15115 = ref_11756 # MOV operation
ref_15117 = ((ref_15099 - ref_15115) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_15252 = ref_15117 # MOV operation
ref_17626 = ref_279 # MOV operation
ref_17769 = ref_17626 # MOV operation
ref_17787 = ((ref_17769 - 0xE8D4346) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_17922 = ref_17787 # MOV operation
ref_20106 = ref_8982 # MOV operation
ref_20397 = ref_20106 # MOV operation
ref_20407 = ((ref_20397 + 0x20453EE3) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_21633 = ref_279 # MOV operation
ref_21776 = ref_21633 # MOV operation
ref_21792 = ref_20407 # MOV operation
ref_21794 = ((ref_21776 - ref_21792) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_21929 = ref_21794 # MOV operation
ref_25695 = ref_8982 # MOV operation
ref_27486 = ref_17922 # MOV operation
ref_28830 = ref_8982 # MOV operation
ref_28973 = ref_27486 # MOV operation
ref_28989 = ref_28830 # MOV operation
ref_28991 = (ref_28973 | ref_28989) # OR operation
ref_29261 = ref_28991 # MOV operation
ref_29279 = (ref_29261 & 0x3F) # AND operation
ref_29436 = ref_29279 # MOV operation
ref_29456 = ((ref_29436 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_29604 = ref_25695 # MOV operation
ref_29620 = ref_29456 # MOV operation
ref_29622 = (ref_29604 | ref_29620) # OR operation
ref_29756 = ref_29622 # MOV operation
ref_32735 = ref_29756 # MOV operation
ref_32842 = ref_32735 # MOV operation
ref_32862 = (ref_32842 >> (0x1 & 0x3F)) # SHR operation
ref_33132 = ref_32862 # MOV operation
ref_33150 = (ref_33132 & 0xF) # AND operation
ref_33438 = ref_33150 # MOV operation
ref_33456 = (ref_33438 | 0x1) # OR operation
ref_34631 = ref_15252 # MOV operation
ref_34738 = ref_34631 # MOV operation
ref_34754 = ref_33456 # MOV operation
ref_34756 = (ref_34754 & 0xFFFFFFFF) # MOV operation
ref_34758 = (ref_34738 >> ((ref_34756 & 0xFF) & 0x3F)) # SHR operation
ref_36247 = ref_29756 # MOV operation
ref_36354 = ref_36247 # MOV operation
ref_36374 = (ref_36354 >> (0x1 & 0x3F)) # SHR operation
ref_36644 = ref_36374 # MOV operation
ref_36662 = (ref_36644 & 0xF) # AND operation
ref_36950 = ref_36662 # MOV operation
ref_36968 = (ref_36950 | 0x1) # OR operation
ref_37272 = ref_36968 # MOV operation
ref_37274 = ((0x40 - ref_37272) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_38450 = ref_15252 # MOV operation
ref_38602 = ref_38450 # MOV operation
ref_38618 = ref_37274 # MOV operation
ref_38620 = (ref_38618 & 0xFFFFFFFF) # MOV operation
ref_38622 = ((ref_38602 << ((ref_38620 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_38770 = ref_34758 # MOV operation
ref_38786 = ref_38622 # MOV operation
ref_38788 = (ref_38770 | ref_38786) # OR operation
ref_38922 = ref_38788 # MOV operation
ref_41106 = ref_21929 # MOV operation
ref_42757 = ref_38922 # MOV operation
ref_42900 = ref_42757 # MOV operation
ref_42916 = ref_41106 # MOV operation
ref_42918 = ((ref_42900 - ref_42916) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_43053 = ref_42918 # MOV operation
ref_47263 = ref_43053 # MOV operation
ref_48433 = ref_21929 # MOV operation
ref_48576 = ref_47263 # MOV operation
ref_48592 = ref_48433 # MOV operation
ref_48594 = (ref_48576 | ref_48592) # OR operation
ref_48706 = ref_48594 # MOV operation
ref_48726 = (ref_48706 >> (0x1 & 0x3F)) # SHR operation
ref_48996 = ref_48726 # MOV operation
ref_49014 = (ref_48996 & 0x7) # AND operation
ref_49302 = ref_49014 # MOV operation
ref_49320 = (ref_49302 | 0x1) # OR operation
ref_50495 = ref_15252 # MOV operation
ref_50760 = ref_50495 # MOV operation
ref_50778 = (ref_50760 & 0xF) # AND operation
ref_51066 = ref_50778 # MOV operation
ref_51084 = (ref_51066 | 0x1) # OR operation
ref_52259 = ref_29756 # MOV operation
ref_52366 = ref_52259 # MOV operation
ref_52382 = ref_51084 # MOV operation
ref_52384 = (ref_52382 & 0xFFFFFFFF) # MOV operation
ref_52386 = (ref_52366 >> ((ref_52384 & 0xFF) & 0x3F)) # SHR operation
ref_53561 = ref_15252 # MOV operation
ref_53826 = ref_53561 # MOV operation
ref_53844 = (ref_53826 & 0xF) # AND operation
ref_54132 = ref_53844 # MOV operation
ref_54150 = (ref_54132 | 0x1) # OR operation
ref_54454 = ref_54150 # MOV operation
ref_54456 = ((0x40 - ref_54454) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_55632 = ref_29756 # MOV operation
ref_55784 = ref_55632 # MOV operation
ref_55800 = ref_54456 # MOV operation
ref_55802 = (ref_55800 & 0xFFFFFFFF) # MOV operation
ref_55804 = ((ref_55784 << ((ref_55802 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_55952 = ref_52386 # MOV operation
ref_55968 = ref_55804 # MOV operation
ref_55970 = (ref_55952 | ref_55968) # OR operation
ref_56127 = ref_55970 # MOV operation
ref_56143 = ref_49320 # MOV operation
ref_56145 = (ref_56143 & 0xFFFFFFFF) # MOV operation
ref_56147 = ((ref_56127 << ((ref_56145 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_56281 = ref_56147 # MOV operation
ref_56513 = ref_56281 # MOV operation
ref_56515 = ref_56513 # MOV operation
print ref_56515 & 0xffffffffffffffff