-
Notifications
You must be signed in to change notification settings - Fork 144
/
sample1-virt-random-opcodes-false.py
157 lines (153 loc) · 6.47 KB
/
sample1-virt-random-opcodes-false.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
148
149
150
151
152
153
154
155
156
157
#!/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_5449 = ref_279 # MOV operation
ref_5509 = ref_5449 # MOV operation
ref_5523 = ((ref_5509 << (0x39 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_6233 = ref_279 # MOV operation
ref_6401 = ref_6233 # MOV operation
ref_6409 = (ref_6401 >> (0x7 & 0x3F)) # SHR operation
ref_6416 = ref_6409 # MOV operation
ref_6496 = ref_6416 # MOV operation
ref_6508 = ref_5523 # MOV operation
ref_6510 = (ref_6508 | ref_6496) # OR operation
ref_7313 = ref_6510 # MOV operation
ref_8118 = ref_279 # MOV operation
ref_8178 = ref_8118 # MOV operation
ref_8192 = ((ref_8178 << (0x35 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_8902 = ref_279 # MOV operation
ref_9070 = ref_8902 # MOV operation
ref_9078 = (ref_9070 >> (0xB & 0x3F)) # SHR operation
ref_9085 = ref_9078 # MOV operation
ref_9165 = ref_9085 # MOV operation
ref_9177 = ref_8192 # MOV operation
ref_9179 = (ref_9177 | ref_9165) # OR operation
ref_10074 = ref_7313 # MOV operation
ref_10146 = ref_10074 # MOV operation
ref_10148 = ((ref_10146 + 0x2D4AF89B) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_10346 = ref_10148 # MOV operation
ref_10348 = (ref_10346 & 0x1D5ABF66) # AND operation
ref_10441 = ref_9179 # MOV operation
ref_10445 = ref_10348 # MOV operation
ref_10447 = ((ref_10441 - ref_10445) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_10455 = ref_10447 # MOV operation
ref_11253 = ref_10455 # MOV operation
ref_11958 = ref_279 # MOV operation
ref_12126 = ref_11958 # MOV operation
ref_12132 = ((ref_12126 - 0xE8D4346) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_12140 = ref_12132 # MOV operation
ref_12938 = ref_12140 # MOV operation
ref_13643 = ref_279 # MOV operation
ref_14413 = ref_7313 # MOV operation
ref_14581 = ref_14413 # MOV operation
ref_14587 = ((0x20453EE3 + ref_14581) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_14681 = ref_13643 # MOV operation
ref_14685 = ref_14587 # MOV operation
ref_14687 = ((ref_14681 - ref_14685) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_14695 = ref_14687 # MOV operation
ref_15493 = ref_14695 # MOV operation
ref_17396 = ref_7313 # MOV operation
ref_18438 = ref_12938 # MOV operation
ref_18498 = ref_18438 # MOV operation
ref_18510 = ref_17396 # MOV operation
ref_18512 = (ref_18510 | ref_18498) # OR operation
ref_18597 = ref_18512 # MOV operation
ref_18611 = (0x3F & ref_18597) # AND operation
ref_18696 = ref_18611 # MOV operation
ref_18710 = ((ref_18696 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_19577 = ref_7313 # MOV operation
ref_19637 = ref_19577 # MOV operation
ref_19649 = ref_18710 # MOV operation
ref_19651 = (ref_19649 | ref_19637) # OR operation
ref_20526 = ref_19651 # MOV operation
ref_21688 = ref_20526 # MOV operation
ref_21856 = ref_21688 # MOV operation
ref_21864 = (ref_21856 >> (0x1 & 0x3F)) # SHR operation
ref_21871 = ref_21864 # MOV operation
ref_21951 = ref_21871 # MOV operation
ref_21965 = (0xF & ref_21951) # AND operation
ref_22050 = ref_21965 # MOV operation
ref_22064 = (0x1 | ref_22050) # OR operation
ref_22161 = ref_22064 # MOV operation
ref_22163 = ((0x40 - ref_22161) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_22171 = ref_22163 # MOV operation
ref_22961 = ref_11253 # MOV operation
ref_23021 = ref_22961 # MOV operation
ref_23033 = ref_22171 # MOV operation
ref_23035 = ((ref_23021 << ((ref_23033 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_23830 = ref_11253 # MOV operation
ref_24872 = ref_20526 # MOV operation
ref_25040 = ref_24872 # MOV operation
ref_25048 = (ref_25040 >> (0x1 & 0x3F)) # SHR operation
ref_25055 = ref_25048 # MOV operation
ref_25135 = ref_25055 # MOV operation
ref_25149 = (0xF & ref_25135) # AND operation
ref_25234 = ref_25149 # MOV operation
ref_25248 = (0x1 | ref_25234) # OR operation
ref_25341 = ref_23830 # MOV operation
ref_25345 = ref_25248 # MOV operation
ref_25347 = (ref_25345 & 0xFFFFFFFF) # MOV operation
ref_25349 = (ref_25341 >> ((ref_25347 & 0xFF) & 0x3F)) # SHR operation
ref_25356 = ref_25349 # MOV operation
ref_25436 = ref_25356 # MOV operation
ref_25448 = ref_23035 # MOV operation
ref_25450 = (ref_25448 | ref_25436) # OR operation
ref_26525 = ref_25450 # MOV operation
ref_27587 = ref_26525 # MOV operation
ref_28357 = ref_15493 # MOV operation
ref_28425 = ref_27587 # MOV operation
ref_28429 = ref_28357 # MOV operation
ref_28431 = ((ref_28425 - ref_28429) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_28439 = ref_28431 # MOV operation
ref_29237 = ref_28439 # MOV operation
ref_31469 = ref_15493 # MOV operation
ref_32239 = ref_29237 # MOV operation
ref_32299 = ref_32239 # MOV operation
ref_32311 = ref_31469 # MOV operation
ref_32313 = (ref_32311 | ref_32299) # OR operation
ref_32506 = ref_32313 # MOV operation
ref_32514 = (ref_32506 >> (0x1 & 0x3F)) # SHR operation
ref_32521 = ref_32514 # MOV operation
ref_32601 = ref_32521 # MOV operation
ref_32615 = (0x7 & ref_32601) # AND operation
ref_32700 = ref_32615 # MOV operation
ref_32714 = (0x1 | ref_32700) # OR operation
ref_33809 = ref_11253 # MOV operation
ref_33869 = ref_33809 # MOV operation
ref_33883 = (0xF & ref_33869) # AND operation
ref_33968 = ref_33883 # MOV operation
ref_33982 = (0x1 | ref_33968) # OR operation
ref_34079 = ref_33982 # MOV operation
ref_34081 = ((0x40 - ref_34079) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_34089 = ref_34081 # MOV operation
ref_34879 = ref_20526 # MOV operation
ref_34939 = ref_34879 # MOV operation
ref_34951 = ref_34089 # MOV operation
ref_34953 = ((ref_34939 << ((ref_34951 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_35748 = ref_20526 # MOV operation
ref_36718 = ref_11253 # MOV operation
ref_36778 = ref_36718 # MOV operation
ref_36792 = (0xF & ref_36778) # AND operation
ref_36877 = ref_36792 # MOV operation
ref_36891 = (0x1 | ref_36877) # OR operation
ref_36984 = ref_35748 # MOV operation
ref_36988 = ref_36891 # MOV operation
ref_36990 = (ref_36988 & 0xFFFFFFFF) # MOV operation
ref_36992 = (ref_36984 >> ((ref_36990 & 0xFF) & 0x3F)) # SHR operation
ref_36999 = ref_36992 # MOV operation
ref_37079 = ref_36999 # MOV operation
ref_37091 = ref_34953 # MOV operation
ref_37093 = (ref_37091 | ref_37079) # OR operation
ref_37178 = ref_37093 # MOV operation
ref_37190 = ref_32714 # MOV operation
ref_37192 = ((ref_37178 << ((ref_37190 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_37919 = ref_37192 # MOV operation
ref_38098 = ref_37919 # MOV operation
ref_38100 = ref_38098 # MOV operation
print ref_38100 & 0xffffffffffffffff