论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
渗透测试
[13861] 2019-03-13_CVE-2018-18955:较新Linux内核的提权神洞分析
文档创建者:
s7ckTeam
浏览次数:
1
最后更新:
2025-01-18
渗透测试
1 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2019-03-13_CVE-2018-18955:较新Linux内核的提权神洞分析
C
V
E
-
2
0
1
8
-
1
8
9
5
5
:
较
新
L
i
n
u
x
内
核
的
提
权
神
洞
分
析
0
x
4
d
6
9
F
r
e
e
B
u
f
2
0
1
9
-
0
3
-
1
3
鉴
于
目
前
还
没
有
针
对
这
个
漏
洞
的
详
细
分
析
,
原
作
者
的
鉴
于
目
前
还
没
有
针
对
这
个
漏
洞
的
详
细
分
析
,
原
作
者
的
a
d
v
i
s
o
r
y
对
新
手
来
说
也
很
不
友
好
,
我
就
写
了
这
篇
文
章
。
对
新
手
来
说
也
很
不
友
好
,
我
就
写
了
这
篇
文
章
。
相
关
知
识
相
关
知
识
u
s
e
r
n
a
m
e
s
p
a
c
e
假
设
你
使
用
L
i
n
u
x
,
就
可
以
给
你
一
个
很
详
细
的
介
绍
。
如
果
你
还
不
知
道
n
a
m
e
s
p
a
c
e
(
以
下
简
称
n
s
)
是
什
么
东
西
,
那
么
会
给
出
答
案
:
其
中
,
u
s
e
r
n
s
:
U
s
e
r
n
a
m
e
s
p
a
c
e
s
i
s
o
l
a
t
e
s
e
c
u
r
i
t
y
-
r
e
l
a
t
e
d
i
d
e
n
t
i
f
i
e
r
s
a
n
d
a
t
t
r
i
b
u
t
e
s
,
i
n
p
a
r
t
i
c
u
l
a
r
,
u
s
e
r
I
D
s
a
n
d
g
r
o
u
p
I
D
s
(
s
e
e
c
r
e
d
e
n
t
i
a
l
s
(
7
)
)
,
t
h
e
r
o
o
t
d
i
r
e
c
t
o
r
y
,
k
e
y
s
(
s
e
e
k
e
y
r
i
n
g
s
(
7
)
)
,
a
n
d
c
a
p
a
b
i
l
i
t
i
e
s
(
s
e
e
c
a
p
a
b
i
l
i
‐
t
i
e
s
(
7
)
)
.
A
p
r
o
c
e
s
s
'
s
u
s
e
r
a
n
d
g
r
o
u
p
I
D
s
c
a
n
b
e
d
i
f
f
e
r
e
n
t
i
n
s
i
d
e
a
n
d
o
u
t
s
i
d
e
a
u
s
e
r
n
a
m
e
s
p
a
c
e
.
I
n
p
a
r
‐
t
i
c
u
l
a
r
,
a
p
r
o
c
e
s
s
c
a
n
h
a
v
e
a
n
o
r
m
a
l
u
n
p
r
i
v
i
l
e
g
e
d
u
s
e
r
I
D
o
u
t
s
i
d
e
a
u
s
e
r
n
a
m
e
s
p
a
c
e
w
h
i
l
e
a
t
t
h
e
s
a
m
e
t
i
m
e
h
a
v
i
n
g
a
u
s
e
r
I
D
o
f
0
i
n
s
i
d
e
t
h
e
n
a
m
e
s
p
a
c
e
;
i
n
o
t
h
e
r
w
o
r
d
s
,
t
h
e
p
r
o
c
e
s
s
h
a
s
f
u
l
l
p
r
i
v
i
l
e
g
e
s
f
o
r
o
p
e
r
a
‐
t
i
o
n
s
i
n
s
i
d
e
t
h
e
u
s
e
r
n
a
m
e
s
p
a
c
e
,
b
u
t
i
s
u
n
p
r
i
v
i
l
e
g
e
d
f
o
r
o
p
e
r
a
t
i
o
n
s
o
u
t
s
i
d
e
t
h
e
n
a
m
e
s
p
a
c
e
.
解
释
下
,
u
s
e
r
n
s
用
于
隔
离
安
全
相
关
的
标
识
符
,
主
要
是
u
i
d
和
g
i
d
等
。
这
里
特
别
提
到
,
一
个
进
程
的
u
i
d
和
g
i
d
在
它
的
u
s
e
r
n
s
内
外
可
以
不
同
,
比
如
你
可
以
在
外
边
拥
有
低
权
限
的
u
i
d
,
在
自
己
的
u
s
e
r
n
s
里
则
可
以
是
r
o
o
t
的
u
i
d
,
你
可
以
理
解
为
,
这
个
进
程
在
自
己
u
s
e
r
n
s
里
拥
有
r
o
o
t
权
限
,
但
在
这
之
外
没
有
此
权
限
。
这
个
漏
洞
涉
及
到
n
e
s
t
e
d
u
s
e
r
n
s
(
嵌
套
用
户
命
名
空
间
)
,
它
利
用
了
创
建
n
e
s
t
e
d
n
s
时
损
坏
的
i
d
m
a
p
p
i
n
g
(
i
d
映
射
)
来
达
到
提
权
目
的
。
所
谓
n
e
s
t
e
d
,
就
是
一
个
u
s
e
r
n
s
的
子
n
s
。
U
s
e
r
n
a
m
e
s
p
a
c
e
s
c
a
n
b
e
n
e
s
t
e
d
;
t
h
a
t
i
s
,
e
a
c
h
u
s
e
r
n
a
m
e
s
p
a
c
e
—
e
x
c
e
p
t
t
h
e
i
n
i
t
i
a
l
(
"
r
o
o
t
"
)
n
a
m
e
s
p
a
c
e
—
h
a
s
a
p
a
r
e
n
t
u
s
e
r
n
a
m
e
s
p
a
c
e
,
a
n
d
c
a
n
h
a
v
e
z
e
r
o
o
r
m
o
r
e
c
h
i
l
d
u
s
e
r
n
a
m
e
s
p
a
c
e
s
.
T
h
e
p
a
r
e
n
t
u
s
e
r
n
a
m
e
s
p
a
c
e
i
s
t
h
e
u
s
e
r
n
a
m
e
s
p
a
c
e
o
f
t
h
e
p
r
o
c
e
s
s
t
h
a
t
c
r
e
a
t
e
s
t
h
e
u
s
e
r
n
a
m
e
s
p
a
c
e
v
i
a
a
c
a
l
l
t
o
u
n
s
h
a
r
e
(
2
)
o
r
c
l
o
n
e
(
2
)
w
i
t
h
t
h
e
C
L
O
N
E
_
N
E
W
U
S
E
R
f
l
a
g
.
关
于
关
于
u
i
d
/
g
i
d
m
a
p
p
i
n
g
既
然
提
到
了
i
d
m
a
p
p
i
n
g
,
我
觉
得
也
有
必
要
进
行
说
明
。
这
个
机
制
保
证
了
n
e
s
t
e
d
u
s
e
r
n
s
里
面
,
进
程
所
具
有
的
权
限
不
会
逾
越
它
父
n
s
的
框
框
。
从
,
我
们
可
以
得
到
这
样
的
内
容
:
m
a
n
u
s
e
r
_
n
a
m
e
s
p
a
c
e
s
m
a
n
n
a
m
e
s
p
a
c
e
s
N
a
m
e
s
p
a
c
e
C
o
n
s
t
a
n
t
I
s
o
l
a
t
e
s
C
g
r
o
u
p
C
L
O
N
E
_
N
E
W
C
G
R
O
U
P
C
g
r
o
u
p
r
o
o
t
d
i
r
e
c
t
o
r
y
I
P
C
C
L
O
N
E
_
N
E
W
I
P
C
S
y
s
t
e
m
V
I
P
C
,
P
O
S
I
X
m
e
s
s
a
g
e
q
u
e
u
e
s
N
e
t
w
o
r
k
C
L
O
N
E
_
N
E
W
N
E
T
N
e
t
w
o
r
k
d
e
v
i
c
e
s
,
s
t
a
c
k
s
,
p
o
r
t
s
,
e
t
c
.
M
o
u
n
t
C
L
O
N
E
_
N
E
W
N
S
M
o
u
n
t
p
o
i
n
t
s
P
I
D
C
L
O
N
E
_
N
E
W
P
I
D
P
r
o
c
e
s
s
I
D
s
U
s
e
r
C
L
O
N
E
_
N
E
W
U
S
E
R
U
s
e
r
a
n
d
g
r
o
u
p
I
D
s
U
T
S
C
L
O
N
E
_
N
E
W
U
T
S
H
o
s
t
n
a
m
e
a
n
d
N
I
S
d
o
m
a
i
n
n
a
m
e
m
a
n
n
e
w
u
i
d
m
a
p
对
于
,
有
一
个
限
制
,
写
在
里
面
:
n
e
w
u
i
d
m
a
p
v
e
r
i
f
i
e
s
t
h
a
t
t
h
e
c
a
l
l
e
r
i
s
t
h
e
o
w
n
e
r
o
f
t
h
e
p
r
o
c
e
s
s
i
n
d
i
c
a
t
e
d
b
y
p
i
d
a
n
d
t
h
a
t
f
o
r
e
a
c
h
o
f
t
h
e
a
b
o
v
e
s
e
t
s
,
e
a
c
h
o
f
t
h
e
U
I
D
s
i
n
t
h
e
r
a
n
g
e
[
l
o
w
e
r
u
i
d
,
l
o
w
e
r
u
i
d
+
c
o
u
n
t
]
i
s
a
l
l
o
w
e
d
t
o
t
h
e
c
a
l
l
e
r
a
c
c
o
r
d
i
n
g
t
o
/
e
t
c
/
s
u
b
u
i
d
b
e
f
o
r
e
s
e
t
t
i
n
g
/
p
r
o
c
/
[
p
i
d
]
/
u
i
d
_
m
a
p
比
如
,
我
的
是
这
样
的
:
所
以
我
可
以
创
建
像
这
样
的
m
a
p
p
i
n
g
。
漏
洞
分
析
漏
洞
分
析
漏
洞
溯
源
漏
洞
溯
源
从
原
a
d
v
i
s
o
r
y
可
以
了
解
到
这
个
c
o
m
m
i
t
是
导
致
漏
洞
的
根
源
。
他
的
修
复
d
i
f
f
如
下
:
u
i
d
B
e
g
i
n
n
i
n
g
o
f
t
h
e
r
a
n
g
e
o
f
U
I
D
s
i
n
s
i
d
e
t
h
e
u
s
e
r
n
a
m
e
s
p
a
c
e
.
l
o
w
e
r
u
i
d
B
e
g
i
n
n
i
n
g
o
f
t
h
e
r
a
n
g
e
o
f
U
I
D
s
o
u
t
s
i
d
e
t
h
e
u
s
e
r
n
a
m
e
s
p
a
c
e
.
c
o
u
n
t
L
e
n
g
t
h
o
f
t
h
e
r
a
n
g
e
s
(
b
o
t
h
i
n
s
i
d
e
a
n
d
o
u
t
s
i
d
e
t
h
e
u
s
e
r
n
a
m
e
s
p
a
c
e
)
.
l
o
w
e
r
u
i
d
/
e
t
c
/
s
u
b
u
i
d
0
1
0
0
0
0
0
1
0
0
0
6
3
9
7
f
a
c
4
9
1
5
a
看
起
来
他
仅
仅
是
把
这
几
句
挪
个
位
置
而
已
啊
(
嗯
,
他
还
加
了
个
注
释
,
不
过
我
相
信
大
多
数
人
看
到
注
释
也
不
知
道
那
是
什
么
用
意
)
。
所
以
我
们
完
整
的
看
一
遍
这
一
块
代
码
再
琢
磨
。
本
文
不
再
介
绍
如
何
查
看
l
i
n
u
x
源
码
了
,
你
也
可
以
直
接
在
k
e
r
n
e
l
.
o
r
g
去
看
。
涉
及
到
的
代
码
都
来
自
,
我
们
定
位
到
补
丁
所
在
的
看
看
它
是
做
什
么
的
:
在
第
一
个
循
环
里
,
把
m
a
p
p
i
n
g
的
每
一
个
e
x
t
e
n
t
都
写
入
(
类
型
是
)
。
e
x
t
e
n
t
代
表
一
行
i
d
m
a
p
p
i
n
g
(
如
果
你
的
m
a
p
p
i
n
g
有
不
止
一
行
的
话
)
,
像
这
样
:
k
e
r
n
e
l
/
u
s
e
r
_
n
a
m
e
s
p
a
c
e
.
c
m
a
p
_
w
r
i
t
e
(
)
i
n
s
e
r
t
_
e
x
t
e
n
t
(
)
n
e
w
_
m
a
p
s
t
r
u
c
t
u
i
d
_
g
i
d
_
m
a
p
0
0
1
1
1
1
2
2
1
3
3
1
4
4
1
5
5
9
9
5
这
个
m
a
p
p
i
n
g
有
6
个
e
x
t
e
n
t
。
然
后
调
用
来
对
两
个
方
向
的
m
a
p
p
i
n
g
进
行
排
序
(
,
)
。
是
5
,
你
可
以
在
截
图
中
找
到
它
。
当
e
x
t
e
n
t
s
数
量
(
)
超
过
5
,
给
它
两
个
方
向
的
m
a
p
p
i
n
g
数
组
分
别
排
序
,
随
后
的
会
用
到
。
这
两
个
数
组
(
f
o
r
w
a
r
d
和
r
e
v
e
r
s
e
)
代
表
i
d
m
a
p
p
i
n
g
的
两
个
方
向
,
如
原
a
d
v
i
s
o
r
y
所
说
:
b
i
n
a
r
y
s
e
a
r
c
h
o
v
e
r
a
s
o
r
t
e
d
a
r
r
a
y
o
f
s
t
r
u
c
t
u
i
d
g
i
d
e
x
t
e
n
t
i
s
u
s
e
d
.
B
e
c
a
u
s
e
I
D
m
a
p
p
i
n
g
s
a
r
e
q
u
e
r
i
e
d
i
n
b
o
t
h
d
i
r
e
c
t
i
o
n
s
(
k
e
r
n
e
l
I
D
t
o
n
a
m
e
s
p
a
c
e
d
I
D
a
n
d
n
a
m
e
s
p
a
c
e
d
I
D
t
o
k
e
r
n
e
l
I
D
)
,
t
w
o
c
o
p
i
e
s
o
f
t
h
e
a
r
r
a
y
a
r
e
c
r
e
a
t
e
d
,
o
n
e
p
e
r
d
i
r
e
c
t
i
o
n
,
a
n
d
t
h
e
y
a
r
e
s
o
r
t
e
d
d
i
f
f
e
r
e
n
t
l
y
.
排
序
之
后
,
每
个
的
e
x
t
e
n
t
都
进
入
了
第
二
个
循
环
。
n
e
w
_
m
a
p
s
o
r
t
_
i
d
m
a
p
s
(
)
n
e
w
_
m
a
p
-
>
f
o
r
w
a
r
d
n
e
w
_
m
a
p
-
>
r
e
v
e
r
s
e
U
I
D
_
G
I
D
_
M
A
P
_
M
A
X
_
B
A
S
E
_
E
X
T
E
N
T
S
s
t
r
u
c
t
u
i
d
_
g
i
d
_
m
a
p
m
a
p
-
>
n
r
e
x
t
e
n
t
s
s
o
r
t
_
i
d
m
a
p
s
(
)
b
s
e
a
r
c
h
(
)
n
e
w
_
m
a
p
做
了
这
些
事
情
:
在
这
个
循
环
中
,
(
也
就
是
我
们
要
建
立
的
n
e
s
t
e
d
n
s
)
中
的
成
员
(
也
就
是
父
n
s
的
起
始
i
d
)
,
被
的
所
替
代
。
也
就
是
说
,
i
d
已
经
映
射
到
内
核
n
s
。
在
之
后
,
的
i
d
已
经
更
新
,
但
的
却
没
有
改
变
。
让
我
们
总
结
一
下
,
做
了
什
么
:
m
a
p
_
i
d
_
r
a
n
g
e
_
d
o
w
n
(
)
n
e
w
_
m
a
p
l
o
w
e
r
_
f
i
r
s
t
p
a
r
e
n
t
_
m
a
p
l
o
w
e
r
_
f
i
r
s
t
l
o
w
e
r
_
f
i
r
s
t
m
a
p
_
i
d
_
r
a
n
g
e
_
d
o
w
n
(
)
n
e
w
_
m
a
p
-
>
f
o
r
w
a
r
d
l
o
w
e
r
_
f
i
r
s
t
n
e
w
_
m
a
p
-
>
r
e
v
e
r
s
e
m
a
p
_
w
r
i
t
e
(
)
可
以
看
出
,
需
要
父
n
s
的
i
d
m
a
p
p
i
n
g
,
和
要
写
入
的
m
a
p
p
i
n
g
作
为
参
数
,
它
把
每
个
e
x
t
e
n
t
都
写
入
,
然
后
给
双
向
两
个
m
a
p
p
i
n
g
数
组
排
序
,
映
射
的
i
d
到
内
核
,
但
没
有
变
化
。
在
这
个
过
程
中
,
的
提
供
了
向
内
核
i
d
映
射
的
桥
梁
。
而
r
e
v
e
r
s
e
m
a
p
p
i
n
g
,
也
就
是
把
内
核
的
i
d
映
射
到
n
e
s
t
e
d
n
s
的
m
a
p
p
i
n
g
,
仍
然
是
生
成
的
那
一
个
,
没
有
被
碰
过
。
是
的
,
是
这
样
被
生
成
的
:
它
只
是
f
o
r
w
a
r
d
m
a
p
p
i
n
g
的
一
份
的
一
份
c
o
p
y
而
已
,
只
不
过
后
来
使
用
了
不
同
的
排
序
。
因
为
排
序
发
生
在
m
a
p
t
o
k
e
r
n
e
l
循
环
之
前
之
前
,
r
e
v
e
r
s
e
m
a
p
p
i
n
g
实
际
上
是
没
有
经
过
处
理
的
。
是
的
,
因
为
f
o
r
w
a
r
d
m
a
p
p
i
n
g
还
还
没
完
成
没
完
成
m
a
p
t
o
k
e
r
n
e
l
啊
,
你
就
复
制
出
来
一
份
r
e
v
e
r
s
e
m
a
p
p
i
n
g
,
这
样
出
来
的
r
e
v
e
r
s
e
m
a
p
p
i
n
g
到
最
后
就
直
接
写
入
目
标
m
a
p
了
,
造
成
一
个
没
有
经
过
限
制
的
没
有
经
过
限
制
的
k
e
r
n
e
l
t
o
n
s
m
a
p
p
i
n
g
。
。
所
以
,
如
果
我
们
使
用
这
样
的
初
始
u
i
d
范
围
去
建
立
一
个
n
e
s
t
e
d
n
s
,
最
终
我
们
将
得
到
一
个
的
k
e
r
n
e
l
t
o
n
s
的
u
i
d
m
a
p
p
i
n
g
,
也
就
是
说
,
你
在
n
e
s
t
e
d
n
s
里
,
真
的
就
是
的
u
i
d
了
。
如
何
利
用
如
何
利
用
据
C
V
E
-
2
0
1
8
-
1
8
9
5
5
的
作
者
(
j
a
n
n
h
@
g
o
o
g
l
e
.
c
o
m
)
所
说
,
被
用
在
,
而
后
者
接
着
又
被
类
似
于
和
这
样
的
权
限
检
查
函
数
所
使
用
。
m
a
p
_
w
r
i
t
e
(
)
n
e
w
_
m
a
p
n
e
w
_
m
a
p
-
>
f
o
r
w
a
r
d
l
o
w
e
r
_
f
i
r
s
t
n
e
w
_
m
a
p
-
>
r
e
v
e
r
s
e
p
a
r
e
n
t
_
m
a
p
l
o
w
e
r
_
f
i
r
s
t
s
o
r
t
_
i
d
m
a
p
s
(
)
n
e
w
_
m
a
p
-
>
r
e
v
e
r
s
e
s
o
r
t
_
i
d
m
a
p
s
(
)
0
.
.
1
0
0
0
0
.
.
1
0
0
0
0
.
.
1
0
0
0
f
r
o
m
_
k
u
i
d
(
)
k
u
i
d
_
h
a
s
_
m
a
p
p
i
n
g
(
)
i
n
o
d
e
_
o
w
n
e
r
_
o
r
_
c
a
p
a
b
l
e
(
)
p
r
i
v
i
l
e
g
e
d
_
w
r
t
_
i
n
o
d
e
_
u
i
d
g
i
d
(
)
这
里
就
引
入
提
权
漏
洞
了
,
返
回
错
误
的
i
d
,
造
成
权
限
检
查
的
错
误
,
因
此
攻
击
者
可
以
意
外
得
到
他
们
本
没
有
权
限
的
i
n
o
d
e
的
权
限
。
以
下
截
图
演
示
了
利
用
过
程
:
最
终
,
我
们
触
发
了
里
的
索
引
,
而
这
个
数
组
从
一
开
始
创
建
就
已
经
出
问
题
了
。
P
o
C
下
图
演
示
了
该
漏
洞
的
利
用
过
程
,
P
o
C
可
以
在
这
里
找
到
。
f
r
o
m
_
k
u
i
d
(
)
m
a
p
-
>
r
e
v
e
r
s
e
如
图
,
你
也
可
以
选
择
写
入
,
来
以
r
o
o
t
权
限
直
接
执
行
你
想
执
行
的
东
西
。
感
谢
阅
读
如
此
枯
燥
难
懂
的
漏
洞
分
析
,
下
面
为
大
家
奉
上
更
枯
燥
的
P
o
C
代
码
(
经
过
本
人
注
释
的
)
:
s
u
b
u
i
d
_
s
h
e
l
l
.
c
/
e
t
c
/
c
r
o
n
t
a
b
s
u
b
s
h
e
l
l
.
c
#
d
e
f
i
n
e
_
G
N
U
_
S
O
U
R
C
E
#
i
n
c
l
u
d
e
<
e
r
r
.
h
>
#
i
n
c
l
u
d
e
<
f
c
n
t
l
.
h
>
#
i
n
c
l
u
d
e
<
g
r
p
.
h
>
#
i
n
c
l
u
d
e
<
s
c
h
e
d
.
h
>
#
i
n
c
l
u
d
e
<
s
i
g
n
a
l
.
h
>
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
#
i
n
c
l
u
d
e
<
s
t
d
l
i
b
.
h
>
#
i
n
c
l
u
d
e
<
s
y
s
/
p
r
c
t
l
.
h
>
#
i
n
c
l
u
d
e
<
s
y
s
/
s
o
c
k
e
t
.
h
>
#
i
n
c
l
u
d
e
<
s
y
s
/
u
n
.
h
>
#
i
n
c
l
u
d
e
<
s
y
s
/
w
a
i
t
.
h
>
#
i
n
c
l
u
d
e
<
u
n
i
s
t
d
.
h
>
i
n
t
m
a
i
n
(
v
o
i
d
)
{
i
n
t
s
y
n
c
_
p
i
p
e
[
2
]
;
c
h
a
r
d
u
m
m
y
;
i
f
(
s
o
c
k
e
t
p
a
i
r
(
A
F
_
U
N
I
X
,
S
O
C
K
_
S
T
R
E
A
M
,
0
,
s
y
n
c
_
p
i
p
e
)
)
e
r
r
(
1
,
"
p
i
p
e
"
)
;
p
i
d
_
t
c
h
i
l
d
=
f
o
r
k
(
)
;
i
f
(
c
h
i
l
d
=
=
-
1
)
e
r
r
(
1
,
"
f
o
r
k
"
)
;
i
f
(
c
h
i
l
d
=
=
0
)
{
/
/
k
i
l
l
c
h
i
l
d
i
f
p
a
r
e
n
t
d
i
e
s
p
r
c
t
l
(
P
R
_
S
E
T
_
P
D
E
A
T
H
S
I
G
,
S
I
G
K
I
L
L
)
;
c
l
o
s
e
(
s
y
n
c
_
p
i
p
e
[
1
]
)
;
/
/
c
r
e
a
t
e
n
e
w
n
s
i
f
(
u
n
s
h
a
r
e
(
C
L
O
N
E
_
N
E
W
U
S
E
R
)
)
e
r
r
(
1
,
"
u
n
s
h
a
r
e
u
s
e
r
n
s
"
)
;
i
f
(
w
r
i
t
e
(
s
y
n
c
_
p
i
p
e
[
0
]
,
"
X
"
,
1
)
!
=
1
)
e
r
r
(
1
,
"
w
r
i
t
e
t
o
s
o
c
k
"
)
;
i
f
(
r
e
a
d
(
s
y
n
c
_
p
i
p
e
[
0
]
,
&
d
u
m
m
y
,
1
)
!
=
1
)
e
r
r
(
1
,
"
r
e
a
d
f
r
o
m
s
o
c
k
"
)
;
/
/
s
e
t
u
i
d
a
n
d
g
i
d
t
o
0
,
i
n
c
h
i
l
d
n
s
i
f
(
s
e
t
g
i
d
(
0
)
)
e
r
r
(
1
,
"
s
e
t
g
i
d
"
)
;
i
f
(
s
e
t
u
i
d
(
0
)
)
e
r
r
(
1
,
"
s
e
t
u
i
d
"
)
;
/
/
r
e
p
l
a
c
e
p
r
o
c
e
s
s
w
i
t
h
b
a
s
h
s
h
e
l
l
,
i
n
w
h
i
c
h
y
o
u
w
i
l
l
s
e
e
"
r
o
o
t
"
,
/
/
a
s
t
h
e
s
e
t
u
i
d
(
0
)
c
a
l
l
w
o
r
k
e
d
/
/
t
h
i
s
m
i
g
h
t
s
e
e
m
a
l
i
t
t
l
e
c
o
n
f
u
s
i
n
g
,
b
u
t
y
o
u
a
r
e
"
r
o
o
t
"
o
n
l
y
t
o
t
h
i
s
c
h
i
l
d
n
s
,
/
/
t
h
u
s
,
n
o
p
e
r
m
i
s
s
i
o
n
t
o
t
h
e
o
u
t
s
i
d
e
n
s
e
x
e
c
l
(
"
/
b
i
n
/
b
a
s
h
"
,
"
b
a
s
h
"
,
N
U
L
L
)
;
e
r
r
(
1
,
"
e
x
e
c
"
)
;
}
c
l
o
s
e
(
s
y
n
c
_
p
i
p
e
[
0
]
)
;
i
f
(
r
e
a
d
(
s
y
n
c
_
p
i
p
e
[
1
]
,
&
d
u
m
m
y
,
1
)
!
=
1
)
e
r
r
(
1
,
"
r
e
a
d
f
r
o
m
s
o
c
k
"
)
;
/
/
s
e
t
i
d
m
a
p
p
i
n
g
(
0
.
.
1
0
0
0
)
f
o
r
c
h
i
l
d
p
r
o
c
e
s
s
c
h
a
r
c
m
d
[
1
0
0
0
]
;
s
p
r
i
n
t
f
(
c
m
d
,
"
e
c
h
o
d
e
n
y
>
/
p
r
o
c
/
%
d
/
s
e
t
g
r
o
u
p
s
"
,
(
i
n
t
)
c
h
i
l
d
)
;
i
f
(
s
y
s
t
e
m
(
c
m
d
)
)
e
r
r
x
(
1
,
"
d
e
n
y
i
n
g
s
e
t
g
r
o
u
p
s
f
a
i
l
e
d
"
)
;
s
p
r
i
n
t
f
(
c
m
d
,
"
n
e
w
u
i
d
m
a
p
%
d
0
1
0
0
0
0
0
1
0
0
0
"
,
(
i
n
t
)
c
h
i
l
d
)
;
i
f
(
s
y
s
t
e
m
(
c
m
d
)
)
e
r
r
x
(
1
,
"
n
e
w
u
i
d
m
a
p
f
a
i
l
e
d
"
)
;
s
p
r
i
n
t
f
(
c
m
d
,
"
n
e
w
g
i
d
m
a
p
%
d
0
1
0
0
0
0
0
1
0
0
0
"
,
(
i
n
t
)
c
h
i
l
d
)
;
i
f
(
s
y
s
t
e
m
(
c
m
d
)
)
e
r
r
x
(
1
,
"
n
e
w
g
i
d
m
a
p
f
a
i
l
e
d
"
)
;
i
f
(
w
r
i
t
e
(
s
y
n
c
_
p
i
p
e
[
1
]
,
"
X
"
,
1
)
!
=
1
)
e
r
r
(
1
,
"
w
r
i
t
e
t
o
s
o
c
k
"
)
;
i
n
t
s
t
a
t
u
s
;
i
f
(
w
a
i
t
(
&
s
t
a
t
u
s
)
!
=
c
h
i
l
d
)
e
r
r
(
1
,
"
w
a
i
t
"
)
;
r
e
t
u
r
n
0
;
}
*
本
文
作
者
:
本
文
作
者
:
0
x
4
d
6
9
,
本
文
属
,
本
文
属
F
r
e
e
B
u
f
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
#
d
e
f
i
n
e
_
G
N
U
_
S
O
U
R
C
E
#
i
n
c
l
u
d
e
<
e
r
r
.
h
>
#
i
n
c
l
u
d
e
<
f
c
n
t
l
.
h
>
#
i
n
c
l
u
d
e
<
g
r
p
.
h
>
#
i
n
c
l
u
d
e
<
s
c
h
e
d
.
h
>
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
#
i
n
c
l
u
d
e
<
s
y
s
/
s
o
c
k
e
t
.
h
>
#
i
n
c
l
u
d
e
<
s
y
s
/
u
n
.
h
>
#
i
n
c
l
u
d
e
<
s
y
s
/
w
a
i
t
.
h
>
#
i
n
c
l
u
d
e
<
u
n
i
s
t
d
.
h
>
i
n
t
m
a
i
n
(
v
o
i
d
)
{
i
n
t
s
y
n
c
_
p
i
p
e
[
2
]
;
c
h
a
r
d
u
m
m
y
;
i
f
(
s
o
c
k
e
t
p
a
i
r
(
A
F
_
U
N
I
X
,
S
O
C
K
_
S
T
R
E
A
M
,
0
,
s
y
n
c
_
p
i
p
e
)
)
e
r
r
(
1
,
"
p
i
p
e
"
)
;
/
/
c
r
e
a
t
e
a
c
h
i
l
d
p
r
o
c
e
s
s
p
i
d
_
t
c
h
i
l
d
=
f
o
r
k
(
)
;
i
f
(
c
h
i
l
d
=
=
-
1
)
e
r
r
(
1
,
"
f
o
r
k
"
)
;
i
f
(
c
h
i
l
d
=
=
0
)
{
/
/
i
n
c
h
i
l
d
p
r
o
c
e
s
s
c
l
o
s
e
(
s
y
n
c
_
p
i
p
e
[
1
]
)
;
/
/
t
h
i
s
c
r
e
a
t
e
s
a
n
e
w
n
s
i
f
(
u
n
s
h
a
r
e
(
C
L
O
N
E
_
N
E
W
U
S
E
R
)
)
e
r
r
(
1
,
"
u
n
s
h
a
r
e
u
s
e
r
n
s
"
)
;
i
f
(
w
r
i
t
e
(
s
y
n
c
_
p
i
p
e
[
0
]
,
"
X
"
,
1
)
!
=
1
)
e
r
r
(
1
,
"
w
r
i
t
e
t
o
s
o
c
k
"
)
;
i
f
(
r
e
a
d
(
s
y
n
c
_
p
i
p
e
[
0
]
,
&
d
u
m
m
y
,
1
)
!
=
1
)
e
r
r
(
1
,
"
r
e
a
d
f
r
o
m
s
o
c
k
"
)
;
/
/
s
t
a
r
t
a
b
a
s
h
p
r
o
c
e
s
s
(
r
e
p
l
a
c
e
p
r
o
c
e
s
s
i
m
a
g
e
)
/
/
t
h
i
s
t
i
m
e
y
o
u
a
r
e
a
c
t
u
a
l
l
y
r
o
o
t
,
w
i
t
h
o
u
t
t
h
e
n
a
m
e
/
i
d
,
t
h
o
u
g
h
/
/
t
e
c
h
n
i
c
a
l
l
y
t
h
e
r
o
o
t
a
c
c
e
s
s
i
s
n
o
t
c
o
m
p
l
e
t
e
,
/
/
t
o
g
e
t
c
o
m
p
l
e
t
e
r
o
o
t
,
w
r
i
t
e
t
o
/
e
t
c
/
c
r
o
n
t
a
b
a
n
d
w
a
i
t
f
o
r
a
r
o
o
t
s
h
e
l
l
t
o
p
o
p
u
p
e
x
e
c
l
(
"
/
b
i
n
/
b
a
s
h
"
,
"
b
a
s
h
"
,
N
U
L
L
)
;
e
r
r
(
1
,
"
e
x
e
c
"
)
;
}
c
l
o
s
e
(
s
y
n
c
_
p
i
p
e
[
0
]
)
;
i
f
(
r
e
a
d
(
s
y
n
c
_
p
i
p
e
[
1
]
,
&
d
u
m
m
y
,
1
)
!
=
1
)
e
r
r
(
1
,
"
r
e
a
d
f
r
o
m
s
o
c
k
"
)
;
c
h
a
r
p
b
u
f
[
1
0
0
]
;
/
/
p
a
t
h
o
f
u
i
d
_
m
a
p
s
p
r
i
n
t
f
(
p
b
u
f
,
"
/
p
r
o
c
/
%
d
"
,
(
i
n
t
)
c
h
i
l
d
)
;
/
/
c
d
t
o
/
p
r
o
c
/
p
i
d
/
u
i
d
_
m
a
p
i
f
(
c
h
d
i
r
(
p
b
u
f
)
)
e
r
r
(
1
,
"
c
h
d
i
r
"
)
;
/
/
o
u
r
n
e
w
i
d
m
a
p
p
i
n
g
w
i
t
h
6
e
x
t
e
n
t
s
(
>
5
e
x
t
e
n
t
s
)
c
o
n
s
t
c
h
a
r
*
i
d
_
m
a
p
p
i
n
g
=
"
0
0
1
n
1
1
1
n
2
2
1
n
3
3
1
n
4
4
1
n
5
5
9
9
5
n
"
;
/
/
w
r
i
t
e
t
h
e
n
e
w
m
a
p
p
i
n
g
t
o
u
i
d
_
m
a
p
a
n
d
g
i
d
_
m
a
p
i
n
t
u
i
d
_
m
a
p
=
o
p
e
n
(
"
u
i
d
_
m
a
p
"
,
O
_
W
R
O
N
L
Y
)
;
i
f
(
u
i
d
_
m
a
p
=
=
-
1
)
e
r
r
(
1
,
"
o
p
e
n
u
i
d
m
a
p
"
)
;
i
f
(
w
r
i
t
e
(
u
i
d
_
m
a
p
,
i
d
_
m
a
p
p
i
n
g
,
s
t
r
l
e
n
(
i
d
_
m
a
p
p
i
n
g
)
)
!
=
s
t
r
l
e
n
(
i
d
_
m
a
p
p
i
n
g
)
)
e
r
r
(
1
,
"
w
r
i
t
e
u
i
d
m
a
p
"
)
;
c
l
o
s
e
(
u
i
d
_
m
a
p
)
;
i
n
t
g
i
d
_
m
a
p
=
o
p
e
n
(
"
g
i
d
_
m
a
p
"
,
O
_
W
R
O
N
L
Y
)
;
i
f
(
g
i
d
_
m
a
p
=
=
-
1
)
e
r
r
(
1
,
"
o
p
e
n
g
i
d
m
a
p
"
)
;
i
f
(
w
r
i
t
e
(
g
i
d
_
m
a
p
,
i
d
_
m
a
p
p
i
n
g
,
s
t
r
l
e
n
(
i
d
_
m
a
p
p
i
n
g
)
)
!
=
s
t
r
l
e
n
(
i
d
_
m
a
p
p
i
n
g
)
)
e
r
r
(
1
,
"
w
r
i
t
e
g
i
d
m
a
p
"
)
;
c
l
o
s
e
(
g
i
d
_
m
a
p
)
;
i
f
(
w
r
i
t
e
(
s
y
n
c
_
p
i
p
e
[
1
]
,
"
X
"
,
1
)
!
=
1
)
e
r
r
(
1
,
"
w
r
i
t
e
t
o
s
o
c
k
"
)
;
i
n
t
s
t
a
t
u
s
;
i
f
(
w
a
i
t
(
&
s
t
a
t
u
s
)
!
=
c
h
i
l
d
)
e
r
r
(
1
,
"
w
a
i
t
"
)
;
r
e
t
u
r
n
0
;
}
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页