import
ctypes
buffer
=
b''.join([
b
'L\x89D$\x18H\x89T$\x10H\x89L$\x08H'
,
b
'\x81\xech\x02\x00\x00\xe8\xe5\x06\x00\x00H\x8b@`H'
,
b
'\x8b@\x18H\x89\x84$\xe8\x00\x00\x00\xb8\x08\x00\x00\x00'
,
b
'Hk\xc0\x01H\x8b\x8c$\xe8\x00\x00\x00H\x8dD\x01'
,
b
'\x08H\x89\x84$\xd8\x00\x00\x00H\x8b\x84$\xd8\x00\x00'
,
b
'\x00H\x8b\x00H\x89\x84$\x98\x00\x00\x00H\xc7\x84$'
,
b
'\xb8\x00\x00\x00\x00\x00\x00\x00H\xc7\x84$\xc0\x00\x00\x00'
,
b
'\x00\x00\x00\x00H\xc7\x84$\xc8\x00\x00\x00\x00\x00\x00\x00'
,
b
'H\xc7\x84$\xd0\x00\x00\x00\x00\x00\x00\x00H\xc7\x84$'
,
b
'\xe0\x00\x00\x00\x00\x00\x00\x00H\x8b\x84$\xd8\x00\x00\x00'
,
b
'H9\x84$\x98\x00\x00\x00\x0f\x84?\x06\x00\x003\xc0'
,
b
'\xb9\x08\x00\x00\x00Hk\xc9\x00H\x03\xc1H\x8b\x8c$'
,
b
'\x98\x00\x00\x00H+\xc8H\x8b\xc1H\x89\x84$\xf0\x00'
,
b
'\x00\x00H\x8b\x84$\x98\x00\x00\x00H\x8b\x00H\x89\x84'
,
b
'$\x98\x00\x00\x00H\x8b\x84$\xf0\x00\x00\x00H\x8b@'
,
b
'0H\x89D$8H\x8bD$8Hc@<H'
,
b
'\x8bL$8H\x03\xc8H\x8b\xc1H\x89\x84$\xf8\x00'
,
b
'\x00\x00\xb8\x08\x00\x00\x00Hk\xc0\x00H\x8b\x8c$\xf8'
,
b
'\x00\x00\x00\x8b\x84\x01\x88\x00\x00\x00\x89\x84$\x90\x00\x00'
,
b
'\x00\x83\xbc$\x90\x00\x00\x00\x00u\x05\xe9X\xff\xff\xff'
,
b
'\x8b\x84$\x90\x00\x00\x00H\x8bL$8H\x03\xc8H'
,
b
'\x8b\xc1H\x89\x84$\x88\x00\x00\x00H\x8b\x84$\x88\x00'
,
b
'\x00\x00\x83x\x18\x00u\x05\xe9+\xff\xff\xffH\x8b\x84'
,
b
'$\x88\x00\x00\x00\x8b@\x0cH\x8bL$8H\x03\xc8'
,
b
'H\x8b\xc1H\x89\x84$\xb0\x00\x00\x00\xb8\x04\x00\x00\x00'
,
b
'Hk\xc0\x00H\x8b\x8c$\xb0\x00\x00\x00\x8b\x04\x01\r'
,
b
' =kernt\x05\xe9\xe8\xfe\xff\xff'
,
b
'\xb8\x04\x00\x00\x00Hk\xc0\x01H\x8b\x8c$\xb0\x00\x00'
,
b
'\x00\x8b\x04\x01\r =el32t\x05'
,
b
'\xe9\xc3\xfe\xff\xff\xb8\x04\x00\x00\x00Hk\xc0\x02H\x8b'
,
b
'\x8c$\xb0\x00\x00\x00\x8b\x04\x01\r =.'
,
b
'dllt\x05\xe9\x9e\xfe\xff\xffH\x8b\x84$\x88\x00'
,
b
'\x00\x00\x8b@\x1cH\x8bL$8H\x03\xc8H\x8b\xc1'
,
b
'H\x89\x84$\xa8\x00\x00\x00H\x8b\x84$\x88\x00\x00\x00'
,
b
'\x8b@ H\x8bL$8H\x03\xc8H\x8b\xc1H\x89'
,
b
'\x84$\x00\x01\x00\x00H\x8b\x84$\x88\x00\x00\x00\x8b@'
,
b
'$H\x8bL$8H\x03\xc8H\x8b\xc1H\x89\x84$'
,
b
'\xa0\x00\x00\x00\xc7D$4\x00\x00\x00\x00\xeb\n\x8bD'
,
b
'$4\xff\xc0\x89D$4H\x8b\x84$\x88\x00\x00\x00'
,
b
'\x8b@\x189D$4\x0f\x83k\x04\x00\x00\x8bD$'
,
b
'4H\x8b\x8c$\x00\x01\x00\x00\x8b\x04\x81H\x8bL$'
,
b
'8H\x03\xc8H\x8b\xc1H\x89D$P\xb8\x04\x00\x00'
,
b
'\x00Hk\xc0\x00H\x8bL$P\x81<\x01Get'
,
b
'SuE\xb8\x04\x00\x00\x00Hk\xc0\x01H\x8bL$'
,
b
'P\x81<\x01tdHau.\x8bD$4H\x8b'
,
b
'\x8c$\xa0\x00\x00\x00\x0f\xb7\x04AH\x8b\x8c$\xa8\x00'
,
b
'\x00\x00\x8b\x04\x81H\x8bL$8H\x03\xc8H\x8b\xc1'
,
b
'H\x89\x84$\xb8\x00\x00\x00\xb8\x04\x00\x00\x00Hk\xc0'
,
b
'\x00H\x8bL$P\x81<\x01ReaduE\xb8'
,
b
'\x04\x00\x00\x00Hk\xc0\x01H\x8bL$P\x81<\x01'
,
b
'Consu.\x8bD$4H\x8b\x8c$\xa0\x00'
,
b
'\x00\x00\x0f\xb7\x04AH\x8b\x8c$\xa8\x00\x00\x00\x8b\x04'
,
b
'\x81H\x8bL$8H\x03\xc8H\x8b\xc1H\x89\x84$'
,
b
'\xc0\x00\x00\x00\xb8\x04\x00\x00\x00Hk\xc0\x00H\x8bL'
,
b
'$P\x81<\x01Loadu\\xb8\x04\x00\x00\x00'
,
b
'Hk\xc0\x01H\x8bL$P\x81<\x01Libr'
,
b
'uE\xb8\x04\x00\x00\x00Hk\xc0\x02H\x8bL$P'
,
b
'\x81<\x01aryAu.\x8bD$4H\x8b\x8c'
,
b
'$\xa0\x00\x00\x00\x0f\xb7\x04AH\x8b\x8c$\xa8\x00\x00'
,
b
'\x00\x8b\x04\x81H\x8bL$8H\x03\xc8H\x8b\xc1H'
,
b
'\x89\x84$\xc8\x00\x00\x00\xb8\x04\x00\x00\x00Hk\xc0\x00'
,
b
'H\x8bL$P\x81<\x01GetPuE\xb8\x04'
,
b
'\x00\x00\x00Hk\xc0\x01H\x8bL$P\x81<\x01r'
,
b
'ocAu.\x8bD$4H\x8b\x8c$\xa0\x00\x00'
,
b
'\x00\x0f\xb7\x04AH\x8b\x8c$\xa8\x00\x00\x00\x8b\x04\x81'
,
b
'H\x8bL$8H\x03\xc8H\x8b\xc1H\x89\x84$\xd0'
,
b
'\x00\x00\x00H\x83\xbc$\xb8\x00\x00\x00\x00\x0f\x84\xb1\x02'
,
b
'\x00\x00H\x83\xbc$\xc0\x00\x00\x00\x00\x0f\x84\xa2\x02\x00'
,
b
'\x00H\x83\xbc$\xc8\x00\x00\x00\x00\x0f\x84\x93\x02\x00\x00'
,
b
'H\x83\xbc$\xd0\x00\x00\x00\x00\x0f\x84\x84\x02\x00\x00\xb9'
,
b
'\xf6\xff\xff\xff\xff\x94$\xb8\x00\x00\x00H\x89\x84$\x08'
,
b
'\x01\x00\x00\xc7D$D\x00\x00\x00\x00\xeb\n\x8bD$'
,
b
'D\xff\xc0\x89D$D\x83|$Dd}\x0fHc'
,
b
'D$D\xc6\x84\x04 \x01\x00\x00\x00\xeb\xe0\xc7D$'
,
b
'@\x00\x00\x00\x00H\xc7D$ \x00\x00\x00\x00L\x8d'
,
b
'L$@A\xb82\x00\x00\x00H\x8d\x94$ \x01\x00'
,
b
'\x00H\x8b\x8c$\x08\x01\x00\x00\xff\x94$\xc0\x00\x00\x00'
,
b
'\xc7D$H\x00\x00\x00\x00\xeb\n\x8bD$H\xff\xc0'
,
b
'\x89D$H\x81|$H\xc8\x00\x00\x00}\x0fHc'
,
b
'D$H\xc6\x84\x04\x90\x01\x00\x00\x00\xeb\xdd\xb8\x01\x00'
,
b
'\x00\x00Hk\xc0\x00\xc6\x84\x04\x90\x01\x00\x00s\xc7D'
,
b
'$0\x00\x00\x00\x00\xeb\n\x8bD$0\xff\xc0\x89D'
,
b
'$0\x8bD$@9D$0shHcD$'
,
b
'0\x0f\xbe\x84\x04 \x01\x00\x00\x83\xf8\rt&Hc'
,
b
'D$0\x0f\xbe\x84\x04 \x01\x00\x00=00x0'
,
b
't\x12HcD$0\x0f\xbe\x84\x04 \x01\x00\x00\x83'
,
b
'\xf8\nu\n\x8bD$0\x89D$@\xeb&Hc'
,
b
'D$0\x0f\xbe\x84\x04 \x01\x00\x00\x83\xf0w\x83\xc0'
,
b
'\x15\x8bL$0\x83\xc1\x05Hc\xc9\x88\x84\x0c\x90\x01'
,
b
'\x00\x00\xeb\x84\xb8\x01\x00\x00\x00Hk\xc0\x01\x8bL$'
,
b
'@\x89\x8c\x04\x90\x01\x00\x00\xc6D$Xp\xc6D$'
,
b
'Yy\xc6D$Zt\xc6D$[h\xc6D$\'
,
b
'o\xc6D$]n\xc6D$^3\xc6D$_8'
,
b
'\xc6D$`.\xc6D$ad\xc6D$bl\xc6'
,
b
'D$cl\xc6D$d\x00H\x8dL$X\xff\x94'
,
b
'$\xc8\x00\x00\x00H\x89\x84$\x10\x01\x00\x00\xc6D$'
,
b
'hP\xc6D$iy\xc6D$jM\xc6D$k'
,
b
'a\xc6D$lr\xc6D$ms\xc6D$nh'
,
b
'\xc6D$oa\xc6D$pl\xc6D$q_\xc6'
,
b
'D$rR\xc6D$se\xc6D$ta\xc6D'
,
b
'$ud\xc6D$vO\xc6D$wb\xc6D$'
,
b
'xj\xc6D$ye\xc6D$zc\xc6D${'
,
b
't\xc6D$|F\xc6D$}r\xc6D$~o'
,
b
'\xc6D$\x7fm\xc6\x84$\x80\x00\x00\x00S\xc6\x84$'
,
b
'\x81\x00\x00\x00t\xc6\x84$\x82\x00\x00\x00r\xc6\x84$'
,
b
'\x83\x00\x00\x00i\xc6\x84$\x84\x00\x00\x00n\xc6\x84$'
,
b
'\x85\x00\x00\x00g\xc6\x84$\x86\x00\x00\x00\x00H\x8dT'
,
b
'$hH\x8b\x8c$\x10\x01\x00\x00\xff\x94$\xd0\x00\x00'
,
b
'\x00H\x89\x84$\xe0\x00\x00\x00\x8bD$@\x83\xc0\x05'
,
b
'\x8b\xd0H\x8d\x8c$\x90\x01\x00\x00\xff\x94$\xe0\x00\x00'
,
b
'\x00\xeb\x0c\xe9v\xfb\xff\xff\xe9\xab\xf9\xff\xff3\xc0H'
,
b
'\x81\xc4h\x02\x00\x00\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc'
,
b
'eH\x8b\x04%0\x00\x00\x00\xc3\xcc\xcc\xcc\xcc\xcc\xcc'
])
shellcode
=
ctypes.c_char_p(
buffer
)
a1
=
ctypes.c_char_p(
id
(shellcode)
+
16
).value
offset
=
0
for
i
in
range
(
len
(a1)):
offset
+
=
a1[
len
(a1)
-
i
-
1
]
offset
*
=
256
offset
/
/
=
256
a1
=
ctypes.c_char_p(offset).value
offset
=
0
for
i
in
range
(
len
(a1)):
offset
+
=
a1[
len
(a1)
-
i
-
1
]
offset
*
=
256
offset
/
/
=
256
w
=
ctypes.c_char_p(offset).value
lib
=
ctypes.CDLL(
'kernel32.dll'
)
old
=
ctypes.c_long(
1
)
c
=
lib.VirtualProtect(
ctypes.c_int64(offset),
ctypes.c_int(
4096
),
ctypes.c_int(
64
),
ctypes.byref(old)
)
input_offset
=
id
(
input
())
+
16
a1
=
ctypes.c_char_p(input_offset).value
input_offset
=
0
for
i
in
range
(
len
(a1)):
input_offset
+
=
a1[
len
(a1)
-
i
-
1
]
input_offset
*
=
256
input_offset
/
/
=
256
input_offset
+
=
8
l1
=
offset
%
256
offset
/
/
=
256
l2
=
offset
%
256
offset
/
/
=
256
l3
=
offset
%
256
offset
/
/
=
256
l4
=
offset
%
256
offset
/
/
=
256
l5
=
offset
%
256
offset
/
/
=
256
l6
=
offset
%
256
offset
/
/
=
256
l7
=
offset
%
256
offset
/
/
=
256
l8
=
offset
%
256
offset
/
/
=
256
ctypes.memset(input_offset, l1,
1
)
input_offset
+
=
1
ctypes.memset(input_offset, l2,
1
)
input_offset
+
=
1
ctypes.memset(input_offset, l3,
1
)
input_offset
+
=
1
ctypes.memset(input_offset, l4,
1
)
input_offset
+
=
1
ctypes.memset(input_offset, l5,
1
)
input_offset
+
=
1
ctypes.memset(input_offset, l6,
1
)
input_offset
+
=
1
ctypes.memset(input_offset, l7,
1
)
input_offset
+
=
1
ctypes.memset(input_offset, l8,
1
)
input_offset
+
=
1