论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
免杀
[1868] 2020-11-18_Windows不太常见的进程注入学习小记(一)
文档创建者:
s7ckTeam
浏览次数:
8
最后更新:
2025-01-16
免杀
8 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-58
6万
主题
-6万
回帖
-58
积分
管理员
积分
-58
发消息
2020-11-18_Windows不太常见的进程注入学习小记(一)
W
i
n
d
o
w
s
不
太
常
见
的
进
程
注
入
学
习
小
记
(
一
)
不
懂
就
不
懂
D
a
y
1
安
全
团
队
2
0
2
0
-
1
1
-
1
8
注
:
本
篇
文
章
注
:
本
篇
文
章
经
作
者
授
权
转
载
经
作
者
授
权
转
载
进
程
注
入
进
程
注
入
以
下
是
自
学
习
相
关
进
程
注
入
时
写
的
笔
记
。
H
O
O
K
C
o
n
h
o
s
t
.
e
x
e
中
保
存
的
中
保
存
的
C
o
n
s
o
l
e
W
i
n
d
o
w
C
l
a
s
s
窗
口
类
的
虚
表
窗
口
类
的
虚
表
控
制
台
应
用
程
序
窗
口
所
属
于
的
窗
口
类
为
,
窗
口
中
保
存
的
用
户
数
据
并
不
在
控
制
台
程
序
的
地
址
空
间
之
中
,
而
在
C
o
n
h
o
s
t
.
e
x
e
之
中
。
用
户
数
据
的
第
一
个
8
字
节
或
4
字
节
中
保
存
的
是
该
类
的
虚
表
地
址
。
以
修
改
C
o
n
H
o
s
t
中
对
于
消
息
处
理
的
虚
函
数
表
中
的
虚
函
数
指
针
为
手
段
,
而
C
o
n
h
o
s
t
.
e
x
e
保
存
的
用
户
数
据
在
堆
中
是
可
写
属
性
,
导
致
了
可
以
H
O
O
K
对
应
虚
函
数
指
针
。
这
个
是
C
o
n
h
o
s
t
中
保
存
的
控
制
台
窗
口
类
行
为
的
虚
表
原
型
:
C
o
n
s
o
l
e
W
i
n
d
o
w
C
l
a
s
s
t
y
p
e
d
e
f
s
t
r
u
c
t
_
v
f
t
a
b
l
e
_
t
{
U
L
O
N
G
_
P
T
R
E
n
a
b
l
e
B
o
t
h
S
c
r
o
l
l
B
a
r
s
;
U
L
O
N
G
_
P
T
R
U
p
d
a
t
e
S
c
r
o
l
l
B
a
r
;
U
L
O
N
G
_
P
T
R
I
s
I
n
F
u
l
l
s
c
r
e
e
n
;
通
过
可
以
获
取
用
户
数
据
地
址
,
然
后
通
过
常
规
的
即
可
将
对
应
的
虚
函
数
做
更
改
。
整
体
代
码
如
下
:
U
L
O
N
G
_
P
T
R
S
e
t
I
s
F
u
l
l
s
c
r
e
e
n
;
U
L
O
N
G
_
P
T
R
S
e
t
V
i
e
w
p
o
r
t
O
r
i
g
i
n
;
U
L
O
N
G
_
P
T
R
S
e
t
W
i
n
d
o
w
H
a
s
M
o
v
e
d
;
U
L
O
N
G
_
P
T
R
C
a
p
t
u
r
e
M
o
u
s
e
;
U
L
O
N
G
_
P
T
R
R
e
l
e
a
s
e
M
o
u
s
e
;
U
L
O
N
G
_
P
T
R
G
e
t
W
i
n
d
o
w
H
a
n
d
l
e
;
U
L
O
N
G
_
P
T
R
S
e
t
O
w
n
e
r
;
U
L
O
N
G
_
P
T
R
G
e
t
C
u
r
s
o
r
P
o
s
i
t
i
o
n
;
U
L
O
N
G
_
P
T
R
G
e
t
C
l
i
e
n
t
R
e
c
t
a
n
g
l
e
;
U
L
O
N
G
_
P
T
R
M
a
p
P
o
i
n
t
s
;
U
L
O
N
G
_
P
T
R
C
o
n
v
e
r
t
S
c
r
e
e
n
T
o
C
l
i
e
n
t
;
U
L
O
N
G
_
P
T
R
S
e
n
d
N
o
t
i
f
y
B
e
e
p
;
U
L
O
N
G
_
P
T
R
P
o
s
t
U
p
d
a
t
e
S
c
r
o
l
l
B
a
r
s
;
U
L
O
N
G
_
P
T
R
P
o
s
t
U
p
d
a
t
e
T
i
t
l
e
W
i
t
h
C
o
p
y
;
U
L
O
N
G
_
P
T
R
P
o
s
t
U
p
d
a
t
e
W
i
n
d
o
w
S
i
z
e
;
U
L
O
N
G
_
P
T
R
U
p
d
a
t
e
W
i
n
d
o
w
S
i
z
e
;
U
L
O
N
G
_
P
T
R
U
p
d
a
t
e
W
i
n
d
o
w
T
e
x
t
;
U
L
O
N
G
_
P
T
R
H
o
r
i
z
o
n
t
a
l
S
c
r
o
l
l
;
U
L
O
N
G
_
P
T
R
V
e
r
t
i
c
a
l
S
c
r
o
l
l
;
U
L
O
N
G
_
P
T
R
S
i
g
n
a
l
U
i
a
;
U
L
O
N
G
_
P
T
R
U
i
a
S
e
t
T
e
x
t
A
r
e
a
F
o
c
u
s
;
U
L
O
N
G
_
P
T
R
G
e
t
W
i
n
d
o
w
R
e
c
t
;
}
C
o
n
s
o
l
e
W
i
n
d
o
w
;
G
e
t
W
i
n
d
o
w
L
o
n
g
P
t
r
(
h
w
n
d
,
G
W
L
P
_
U
S
E
R
D
A
T
A
)
;
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
、
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
、
V
i
r
t
u
a
l
A
l
l
o
c
E
x
V
O
I
D
c
o
n
h
o
s
t
I
n
j
e
c
t
(
L
P
V
O
I
D
p
a
y
l
o
a
d
,
D
W
O
R
D
p
a
y
l
o
a
d
S
i
z
e
)
{
H
W
N
D
h
w
n
d
;
L
O
N
G
_
P
T
R
u
d
p
t
r
;
D
W
O
R
D
p
i
d
,
p
p
i
d
;
S
I
Z
E
_
T
w
r
;
H
A
N
D
L
E
h
p
;
C
o
n
s
o
l
e
W
i
n
d
o
w
c
w
;
L
P
V
O
I
D
c
s
,
d
s
;
U
L
O
N
G
_
P
T
R
v
T
a
b
l
e
;
/
/
1
.
找
到
具
有
C
o
n
s
o
l
e
W
i
n
d
o
w
C
l
a
s
s
窗
口
类
的
窗
口
句
柄
h
w
n
d
=
F
i
n
d
W
i
n
d
o
w
(
L
"
C
o
n
s
o
l
e
W
i
n
d
o
w
C
l
a
s
s
"
,
N
U
L
L
)
;
/
/
通
过
窗
口
句
柄
找
到
对
应
进
程
的
P
I
D
G
e
t
W
i
n
d
o
w
T
h
r
e
a
d
P
r
o
c
e
s
s
I
d
(
h
w
n
d
,
&
p
p
i
d
)
;
/
/
2
.
通
过
对
比
进
程
名
和
父
进
程
句
柄
找
到
C
o
n
h
o
s
t
进
程
的
p
i
d
p
i
d
=
c
o
n
h
o
s
t
I
d
(
p
p
i
d
)
;
i
f
(
p
i
d
=
=
0
)
{
H
O
O
K
S
h
e
l
l
_
T
r
a
y
W
n
d
窗
口
类
的
虚
表
窗
口
类
的
虚
表
可
以
看
到
e
x
p
l
o
r
e
r
.
e
x
e
之
中
具
有
窗
口
类
。
p
r
i
n
t
f
(
"
p
a
r
e
n
t
i
d
i
s
%
l
d
n
u
n
a
b
l
e
t
o
o
b
t
a
i
n
p
i
d
o
f
c
o
n
h
o
s
t
.
e
x
e
n
"
,
p
p
i
d
)
;
r
e
t
u
r
n
;
}
/
/
3
.
打
开
c
o
n
h
o
s
t
进
程
h
p
=
O
p
e
n
P
r
o
c
e
s
s
(
P
R
O
C
E
S
S
_
A
L
L
_
A
C
C
E
S
S
,
F
A
L
S
E
,
p
i
d
)
;
/
/
4
.
在
c
o
n
h
o
s
t
进
程
中
申
请
可
读
可
写
可
执
行
的
堆
空
间
用
于
保
存
自
己
的
p
a
y
l
o
a
d
c
s
=
V
i
r
t
u
a
l
A
l
l
o
c
E
x
(
h
p
,
N
U
L
L
,
p
a
y
l
o
a
d
S
i
z
e
,
M
E
M
_
C
O
M
M
I
T
|
M
E
M
_
R
E
S
E
R
V
E
,
P
A
G
E
_
E
X
E
C
U
T
E
_
R
E
A
D
W
R
I
T
E
)
;
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
c
s
,
p
a
y
l
o
a
d
,
p
a
y
l
o
a
d
S
i
z
e
,
&
w
r
)
;
/
/
5
.
找
到
C
o
n
s
o
l
e
W
i
n
d
o
w
C
l
a
s
s
窗
口
类
中
保
存
的
虚
函
数
地
址
u
d
p
t
r
=
G
e
t
W
i
n
d
o
w
L
o
n
g
P
t
r
(
h
w
n
d
,
G
W
L
P
_
U
S
E
R
D
A
T
A
)
;
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
(
L
P
V
O
I
D
)
u
d
p
t
r
,
(
L
P
V
O
I
D
)
&
v
T
a
b
l
e
,
s
i
z
e
o
f
(
U
L
O
N
G
_
P
T
R
)
,
&
w
r
)
;
/
/
6
.
获
取
原
本
的
虚
表
内
容
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
(
L
P
V
O
I
D
)
v
T
a
b
l
e
,
(
L
P
V
O
I
D
)
&
c
w
,
s
i
z
e
o
f
(
C
o
n
s
o
l
e
W
i
n
d
o
w
)
,
&
w
r
)
;
/
/
7
.
在
c
o
n
h
o
s
t
进
程
中
申
请
堆
空
间
保
存
自
定
义
的
虚
表
内
容
。
d
s
=
V
i
r
t
u
a
l
A
l
l
o
c
E
x
(
h
p
,
N
U
L
L
,
s
i
z
e
o
f
(
C
o
n
s
o
l
e
W
i
n
d
o
w
)
,
M
E
M
_
C
O
M
M
I
T
|
M
E
M
_
R
E
S
E
R
V
E
,
P
A
G
E
_
R
E
A
D
W
R
I
T
E
)
;
/
/
8
.
将
虚
表
中
保
存
的
G
e
t
W
i
n
d
o
w
H
a
n
d
l
e
更
改
为
自
己
的
p
a
y
l
o
a
d
地
址
,
然
后
将
虚
表
的
内
容
写
入
进
程
。
c
w
.
G
e
t
W
i
n
d
o
w
H
a
n
d
l
e
=
(
U
L
O
N
G
_
P
T
R
)
c
s
;
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
d
s
,
&
c
w
,
s
i
z
e
o
f
(
C
o
n
s
o
l
e
W
i
n
d
o
w
)
,
&
w
r
)
;
/
/
9
.
将
虚
表
指
针
h
o
o
k
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
(
L
P
V
O
I
D
)
u
d
p
t
r
,
&
d
s
,
s
i
z
e
o
f
(
U
L
O
N
G
_
P
T
R
)
,
&
w
r
)
;
/
/
1
0
.
发
消
息
测
试
S
e
n
d
M
e
s
s
a
g
e
(
h
w
n
d
,
W
M
_
S
E
T
F
O
C
U
S
,
0
,
0
)
;
/
/
1
1
.
更
改
为
原
来
的
虚
表
指
针
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
(
L
P
V
O
I
D
)
u
d
p
t
r
,
&
v
T
a
b
l
e
,
s
i
z
e
o
f
(
U
L
O
N
G
_
P
T
R
)
,
&
w
r
)
;
/
/
1
2
.
释
放
内
存
。
V
i
r
t
u
a
l
F
r
e
e
E
x
(
h
p
,
c
s
,
0
,
M
E
M
_
D
E
C
O
M
M
I
T
|
M
E
M
_
R
E
L
E
A
S
E
)
;
V
i
r
t
u
a
l
F
r
e
e
E
x
(
h
p
,
d
s
,
0
,
M
E
M
_
D
E
C
O
M
M
I
T
|
M
E
M
_
R
E
L
E
A
S
E
)
;
C
l
o
s
e
H
a
n
d
l
e
(
h
p
)
;
}
和
第
一
个
没
什
么
太
大
的
不
一
样
,
唯
一
的
区
别
是
该
窗
口
类
的
虚
表
常
规
的
保
存
在
创
建
窗
口
的
进
程
之
中
。
原
型
:
代
码
:
t
y
p
e
d
e
f
s
t
r
u
c
t
_
c
t
r
a
y
_
v
t
a
b
l
e
{
U
L
O
N
G
_
P
T
R
v
T
a
b
l
e
;
/
/
c
h
a
n
g
e
t
o
r
e
m
o
t
e
m
e
m
o
r
y
a
d
d
r
e
s
s
U
L
O
N
G
_
P
T
R
A
d
d
R
e
f
;
/
/
a
d
d
r
e
f
e
r
e
n
c
e
U
L
O
N
G
_
P
T
R
R
e
l
e
a
s
e
;
/
/
r
e
l
e
a
s
e
p
r
o
c
e
d
u
r
e
U
L
O
N
G
_
P
T
R
W
n
d
P
r
o
c
;
/
/
w
i
n
d
o
w
p
r
o
c
e
d
u
r
e
(
c
h
a
n
g
e
t
o
p
a
y
l
o
a
d
)
}
C
T
r
a
y
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
c
t
r
a
y
_
o
b
j
{
C
T
r
a
y
*
v
t
b
l
;
}
C
T
r
a
y
O
b
j
;
V
O
I
D
e
x
t
r
a
B
y
t
e
s
(
L
P
V
O
I
D
p
a
y
l
o
a
d
,
D
W
O
R
D
p
a
y
l
o
a
d
S
i
z
e
)
{
L
P
V
O
I
D
c
s
,
d
s
;
C
T
r
a
y
c
t
;
U
L
O
N
G
_
P
T
R
c
t
p
;
H
W
N
D
h
w
;
H
A
N
D
L
E
h
p
;
D
W
O
R
D
p
i
d
;
S
I
Z
E
_
T
w
r
;
h
w
=
F
i
n
d
W
i
n
d
o
w
(
L
"
S
h
e
l
l
_
T
r
a
y
W
n
d
"
,
N
U
L
L
)
;
G
e
t
W
i
n
d
o
w
T
h
r
e
a
d
P
r
o
c
e
s
s
I
d
(
h
w
,
&
p
i
d
)
;
h
p
=
O
p
e
n
P
r
o
c
e
s
s
(
P
R
O
C
E
S
S
_
A
L
L
_
A
C
C
E
S
S
,
F
A
L
S
E
,
p
i
d
)
;
与
窗
口
子
类
化
有
关
注
入
与
窗
口
子
类
化
有
关
注
入
—
—
P
R
O
P
a
g
a
t
e
当
窗
口
被
子
类
化
的
时
候
,
久
的
窗
口
过
程
并
不
会
被
删
除
,
而
是
被
存
储
在
后
台
隐
藏
运
行
。
存
储
的
节
点
为
或
者
的
属
性
之
中
;
命
名
名
称
是
根
据
c
o
m
c
t
l
3
2
.
d
l
l
的
版
本
来
决
定
的
。
当
使
用
S
e
t
W
i
n
d
o
w
S
u
b
c
l
a
s
s
函
数
时
,
会
调
用
S
e
t
P
r
o
p
这
个
A
P
I
会
将
旧
的
函
数
过
程
存
储
在
或
者
h
p
=
O
p
e
n
P
r
o
c
e
s
s
(
P
R
O
C
E
S
S
_
A
L
L
_
A
C
C
E
S
S
,
F
A
L
S
E
,
p
i
d
)
;
c
t
p
=
G
e
t
W
i
n
d
o
w
L
o
n
g
P
t
r
(
h
w
,
0
)
;
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
(
L
P
V
O
I
D
)
c
t
p
,
(
L
P
V
O
I
D
)
&
c
t
.
v
T
a
b
l
e
,
s
i
z
e
o
f
(
U
L
O
N
G
_
P
T
R
)
,
&
w
r
)
;
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
(
L
P
V
O
I
D
)
c
t
.
v
T
a
b
l
e
,
(
L
P
V
O
I
D
)
&
c
t
.
A
d
d
R
e
f
,
s
i
z
e
o
f
(
U
L
O
N
G
_
P
T
R
)
*
3
,
&
w
r
)
;
c
s
=
V
i
r
t
u
a
l
A
l
l
o
c
E
x
(
h
p
,
N
U
L
L
,
p
a
y
l
o
a
d
S
i
z
e
,
M
E
M
_
C
O
M
M
I
T
|
M
E
M
_
R
E
S
E
R
V
E
,
P
A
G
E
_
E
X
E
C
U
T
E
_
R
E
A
D
W
R
I
T
E
)
;
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
c
s
,
p
a
y
l
o
a
d
,
p
a
y
l
o
a
d
S
i
z
e
,
&
w
r
)
;
d
s
=
V
i
r
t
u
a
l
A
l
l
o
c
E
x
(
h
p
,
N
U
L
L
,
s
i
z
e
o
f
(
c
t
)
,
M
E
M
_
C
O
M
M
I
T
|
M
E
M
_
R
E
S
E
R
V
E
,
P
A
G
E
_
R
E
A
D
W
R
I
T
E
)
;
c
t
.
v
T
a
b
l
e
=
(
U
L
O
N
G
_
P
T
R
)
d
s
+
s
i
z
e
o
f
(
U
L
O
N
G
_
P
T
R
)
;
c
t
.
W
n
d
P
r
o
c
=
(
U
L
O
N
G
_
P
T
R
)
c
s
;
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
d
s
,
&
c
t
,
s
i
z
e
o
f
(
c
t
)
,
&
w
r
)
;
S
e
t
W
i
n
d
o
w
L
o
n
g
P
t
r
(
h
w
,
0
,
(
U
L
O
N
G
_
P
T
R
)
d
s
)
;
P
o
s
t
M
e
s
s
a
g
e
(
h
w
,
W
M
_
C
L
O
S
E
,
0
,
0
)
;
S
e
t
W
i
n
d
o
w
L
o
n
g
P
t
r
(
h
w
,
0
,
c
t
p
)
;
V
i
r
t
u
a
l
F
r
e
e
E
x
(
h
p
,
c
s
,
0
,
M
E
M
_
D
E
C
O
M
M
I
T
|
M
E
M
_
R
E
L
E
A
S
E
)
;
V
i
r
t
u
a
l
F
r
e
e
E
x
(
h
p
,
d
s
,
0
,
M
E
M
_
D
E
C
O
M
M
I
T
|
M
E
M
_
R
E
L
E
A
S
E
)
;
C
l
o
s
e
H
a
n
d
l
e
(
h
p
)
;
}
U
x
S
u
b
c
l
a
s
s
I
n
f
o
C
C
3
2
S
u
b
c
l
a
s
s
I
n
f
o
版
本
6
.
x
对
应
的
名
称
是
U
x
S
u
b
c
l
a
s
s
I
n
f
o
;
版
本
5
.
x
对
应
的
名
称
是
C
C
3
2
S
u
b
c
l
a
s
s
I
n
f
o
。
U
x
S
u
b
c
l
a
s
s
I
n
f
o
C
C
3
2
S
u
b
c
l
a
s
s
I
n
f
o
属
性
值
中
。
当
有
对
应
的
消
息
到
来
的
时
候
,
将
会
在
子
类
化
的
窗
口
调
用
G
e
t
P
r
o
p
这
个
A
P
I
获
取
旧
的
窗
口
过
程
并
执
行
。
(
P
S
:
以
上
是
看
资
料
总
结
的
,
总
感
觉
理
解
上
面
有
问
题
。
如
果
有
师
傅
比
较
较
真
的
话
,
可
以
尝
试
自
己
子
类
化
一
个
窗
口
,
通
过
其
句
柄
获
取
U
x
S
u
b
c
l
a
s
s
I
n
f
o
属
性
,
然
后
判
断
一
下
这
个
属
性
+
0
x
1
8
的
偏
移
所
保
存
的
到
底
是
旧
的
窗
口
过
程
还
是
新
的
窗
口
过
程
,
还
是
说
都
有
?
只
是
调
用
的
顺
序
不
同
?
,
如
果
有
师
傅
做
了
实
验
的
话
不
妨
在
下
面
告
诉
我
一
下
,
感
激
不
尽
)
这
个
属
性
的
结
构
主
要
如
下
:
3
2
位
系
统
下
可
以
看
到
在
偏
移
0
x
1
8
的
处
保
存
的
窗
口
过
程
。
只
需
要
在
具
有
该
窗
口
属
性
里
的
进
程
里
将
该
回
调
函
数
进
行
H
O
O
K
,
然
后
将
其
恢
复
即
可
,
在
W
i
n
7
和
部
分
W
I
n
1
0
(
最
新
版
w
i
n
1
0
里
没
有
)
里
经
常
使
用
该
窗
口
,
父
类
名
P
r
o
g
m
a
n
,
子
类
名
S
H
E
L
L
D
L
L
_
D
e
f
V
i
e
w
。
t
y
p
e
d
e
f
s
t
r
u
c
t
_
S
U
B
C
L
A
S
S
_
C
A
L
L
{
S
U
B
C
L
A
S
S
P
R
O
C
p
f
n
S
u
b
c
l
a
s
s
;
/
/
s
u
b
c
l
a
s
s
p
r
o
c
e
d
u
r
e
W
P
A
R
A
M
u
I
d
S
u
b
c
l
a
s
s
;
/
/
u
n
i
q
u
e
s
u
b
c
l
a
s
s
i
d
e
n
t
i
f
i
e
r
D
W
O
R
D
_
P
T
R
d
w
R
e
f
D
a
t
a
;
/
/
o
p
t
i
o
n
a
l
r
e
f
d
a
t
a
}
S
U
B
C
L
A
S
S
_
C
A
L
L
,
P
S
U
B
C
L
A
S
S
_
C
A
L
L
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
S
U
B
C
L
A
S
S
_
F
R
A
M
E
{
U
I
N
T
u
C
a
l
l
I
n
d
e
x
;
/
/
i
n
d
e
x
o
f
n
e
x
t
c
a
l
l
b
a
c
k
t
o
c
a
l
l
U
I
N
T
u
D
e
e
p
e
s
t
C
a
l
l
;
/
/
d
e
e
p
e
s
t
u
C
a
l
l
I
n
d
e
x
o
n
s
t
a
c
k
s
t
r
u
c
t
_
S
U
B
C
L
A
S
S
_
F
R
A
M
E
*
p
F
r
a
m
e
P
r
e
v
;
/
/
p
r
e
v
i
o
u
s
s
u
b
c
l
a
s
s
f
r
a
m
e
p
o
i
n
t
e
r
s
t
r
u
c
t
_
S
U
B
C
L
A
S
S
_
H
E
A
D
E
R
*
p
H
e
a
d
e
r
;
/
/
h
e
a
d
e
r
a
s
s
o
c
i
a
t
e
d
w
i
t
h
t
h
i
s
f
r
a
m
e
}
S
U
B
C
L
A
S
S
_
F
R
A
M
E
,
P
S
U
B
C
L
A
S
S
_
F
R
A
M
E
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
S
U
B
C
L
A
S
S
_
H
E
A
D
E
R
{
U
I
N
T
u
R
e
f
s
;
/
/
s
u
b
c
l
a
s
s
c
o
u
n
t
U
I
N
T
u
A
l
l
o
c
;
/
/
a
l
l
o
c
a
t
e
d
s
u
b
c
l
a
s
s
c
a
l
l
n
o
d
e
s
U
I
N
T
u
C
l
e
a
n
u
p
;
/
/
i
n
d
e
x
o
f
c
a
l
l
n
o
d
e
t
o
c
l
e
a
n
u
p
D
W
O
R
D
d
w
T
h
r
e
a
d
I
d
;
/
/
t
h
r
e
a
d
i
d
o
f
w
i
n
d
o
w
w
e
a
r
e
h
o
o
k
i
n
g
S
U
B
C
L
A
S
S
_
F
R
A
M
E
*
p
F
r
a
m
e
C
u
r
;
/
/
c
u
r
r
e
n
t
s
u
b
c
l
a
s
s
f
r
a
m
e
p
o
i
n
t
e
r
S
U
B
C
L
A
S
S
_
C
A
L
L
C
a
l
l
A
r
r
a
y
[
1
]
;
/
/
b
a
s
e
o
f
p
a
c
k
e
d
c
a
l
l
n
o
d
e
a
r
r
a
y
}
S
U
B
C
L
A
S
S
_
H
E
A
D
E
R
,
*
P
S
U
B
C
L
A
S
S
_
H
E
A
D
E
R
;
V
O
I
D
p
r
o
p
a
g
a
t
e
(
L
P
V
O
I
D
p
a
y
l
o
a
d
,
D
W
O
R
D
p
a
y
l
o
a
d
S
i
z
e
)
{
H
A
N
D
L
E
h
p
,
p
;
D
W
O
R
D
i
d
;
H
W
N
D
p
w
h
,
c
w
h
;
S
U
B
C
L
A
S
S
_
H
E
A
D
E
R
s
h
;
L
P
V
O
I
D
p
s
h
,
p
f
n
S
u
b
c
l
a
s
s
;
S
I
Z
E
_
T
r
d
,
w
r
;
/
/
1
.
O
b
t
a
i
n
t
h
e
p
a
r
e
n
t
w
i
n
d
o
w
h
a
n
d
l
e
p
w
h
=
F
i
n
d
W
i
n
d
o
w
(
L
"
P
r
o
g
m
a
n
"
,
N
U
L
L
)
;
/
/
2
.
O
b
t
a
i
n
t
h
e
c
h
i
l
d
w
i
n
d
o
w
h
a
n
d
l
e
c
w
h
=
F
i
n
d
W
i
n
d
o
w
E
x
(
p
w
h
,
N
U
L
L
,
L
"
S
H
E
L
L
D
L
L
_
D
e
f
V
i
e
w
"
,
N
U
L
L
)
;
/
/
3
.
O
b
t
a
i
n
t
h
e
h
a
n
d
l
e
o
f
s
u
b
c
l
a
s
s
h
e
a
d
e
r
p
=
G
e
t
P
r
o
p
(
c
w
h
,
L
"
U
x
S
u
b
c
l
a
s
s
I
n
f
o
"
)
;
/
/
G
e
t
P
r
o
c
e
s
s
H
a
n
d
l
e
F
r
o
m
H
w
n
d
/
/
4
.
O
b
t
a
i
n
t
h
e
p
r
o
c
e
s
s
i
d
f
o
r
t
h
e
e
x
p
l
o
r
e
r
.
e
x
e
G
e
t
W
i
n
d
o
w
T
h
r
e
a
d
P
r
o
c
e
s
s
I
d
(
c
w
h
,
&
i
d
)
;
/
/
5
.
O
p
e
n
e
x
p
l
o
r
e
r
.
e
x
e
h
p
=
O
p
e
n
P
r
o
c
e
s
s
(
P
R
O
C
E
S
S
_
A
L
L
_
A
C
C
E
S
S
,
F
A
L
S
E
,
i
d
)
;
/
/
6
.
R
e
a
d
t
h
e
c
o
n
t
e
n
t
s
o
f
c
u
r
r
e
n
t
s
u
b
c
l
a
s
s
h
e
a
d
e
r
R
e
a
d
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
(
L
P
V
O
I
D
)
p
,
&
s
h
,
s
i
z
e
o
f
(
s
h
)
,
&
r
d
)
;
/
/
7
.
A
l
l
o
c
a
t
e
R
W
m
e
m
o
r
y
f
o
r
a
n
e
w
s
u
b
c
l
a
s
s
h
e
a
d
e
r
通
过
通
过
H
O
O
K
服
务
的
服
务
的
I
D
E
来
实
现
进
程
注
入
来
实
现
进
程
注
入
每
个
W
i
n
d
o
w
s
服
务
都
有
一
个
“
控
制
处
理
程
序
”
以
从
操
作
系
统
接
收
控
制
代
码
。
根
据
服
务
愿
意
接
受
的
内
容
,
可
以
查
询
,
启
动
,
停
止
,
暂
停
或
恢
复
服
务
的
更
常
见
控
制
代
码
。
指
向
控
制
处
理
程
序
的
指
针
存
储
在
堆
上
的
数
据
结
构
中
,
M
i
c
r
o
s
o
f
t
将
其
称
为
“
内
部
调
度
项
”
(
I
D
E
)
。
(
P
S
:
以
上
是
谷
歌
翻
译
的
结
果
,
这
个
描
述
怎
么
这
么
像
S
C
M
?
?
?
)
W
i
n
7
的
I
D
E
结
构
/
/
7
.
A
l
l
o
c
a
t
e
R
W
m
e
m
o
r
y
f
o
r
a
n
e
w
s
u
b
c
l
a
s
s
h
e
a
d
e
r
p
s
h
=
V
i
r
t
u
a
l
A
l
l
o
c
E
x
(
h
p
,
N
U
L
L
,
s
i
z
e
o
f
(
s
h
)
,
M
E
M
_
R
E
S
E
R
V
E
|
M
E
M
_
C
O
M
M
I
T
,
P
A
G
E
_
R
E
A
D
W
R
I
T
E
)
;
/
/
8
.
A
l
l
o
c
a
t
e
R
W
X
m
e
m
o
r
y
f
o
r
t
h
e
p
a
y
l
o
a
d
p
f
n
S
u
b
c
l
a
s
s
=
V
i
r
t
u
a
l
A
l
l
o
c
E
x
(
h
p
,
N
U
L
L
,
p
a
y
l
o
a
d
S
i
z
e
,
M
E
M
_
R
E
S
E
R
V
E
|
M
E
M
_
C
O
M
M
I
T
,
P
A
G
E
_
E
X
E
C
U
T
E
_
R
E
A
D
W
R
I
T
E
)
;
/
/
9
.
W
r
i
t
e
t
h
e
p
a
y
l
o
a
d
t
o
m
e
m
o
r
y
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
p
f
n
S
u
b
c
l
a
s
s
,
p
a
y
l
o
a
d
,
p
a
y
l
o
a
d
S
i
z
e
,
&
w
r
)
;
/
/
1
0
.
S
e
t
t
h
e
p
f
n
S
u
b
c
l
a
s
s
f
i
e
l
d
t
o
p
a
y
l
o
a
d
a
d
d
r
e
s
s
,
a
n
d
w
r
i
t
e
/
/
b
a
c
k
t
o
p
r
o
c
e
s
s
i
n
n
e
w
a
r
e
a
o
f
m
e
m
o
r
y
s
h
.
C
a
l
l
A
r
r
a
y
[
0
]
.
p
f
n
S
u
b
c
l
a
s
s
=
(
S
U
B
C
L
A
S
S
P
R
O
C
)
p
f
n
S
u
b
c
l
a
s
s
;
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
p
s
h
,
&
s
h
,
s
i
z
e
o
f
(
s
h
)
,
&
w
r
)
;
/
/
1
1
.
u
p
d
a
t
e
t
h
e
s
u
b
c
l
a
s
s
p
r
o
c
e
d
u
r
e
w
i
t
h
S
e
t
P
r
o
p
S
e
t
P
r
o
p
(
c
w
h
,
L
"
U
x
S
u
b
c
l
a
s
s
I
n
f
o
"
,
p
s
h
)
;
/
/
1
2
.
T
r
i
g
g
e
r
t
h
e
p
a
y
l
o
a
d
v
i
a
a
w
i
n
d
o
w
s
m
e
s
s
a
g
e
P
o
s
t
M
e
s
s
a
g
e
(
c
w
h
,
W
M
_
C
L
O
S
E
,
0
,
0
)
;
/
/
1
3
.
R
e
s
t
o
r
e
o
r
i
g
i
n
a
l
s
u
b
c
l
a
s
s
h
e
a
d
e
r
S
e
t
P
r
o
p
(
c
w
h
,
L
"
U
x
S
u
b
c
l
a
s
s
I
n
f
o
"
,
p
)
;
/
/
1
4
.
f
r
e
e
m
e
m
o
r
y
a
n
d
c
l
o
s
e
h
a
n
d
l
e
s
V
i
r
t
u
a
l
F
r
e
e
E
x
(
h
p
,
p
s
h
,
0
,
M
E
M
_
D
E
C
O
M
M
I
T
|
M
E
M
_
R
E
L
E
A
S
E
)
;
V
i
r
t
u
a
l
F
r
e
e
E
x
(
h
p
,
p
f
n
S
u
b
c
l
a
s
s
,
0
,
M
E
M
_
D
E
C
O
M
M
I
T
|
M
E
M
_
R
E
L
E
A
S
E
)
;
C
l
o
s
e
H
a
n
d
l
e
(
h
p
)
;
}
t
y
p
e
d
e
f
s
t
r
u
c
t
_
I
N
T
E
R
N
A
L
_
D
I
S
P
A
T
C
H
_
E
N
T
R
Y
{
L
P
W
S
T
R
S
e
r
v
i
c
e
N
a
m
e
;
L
P
W
S
T
R
S
e
r
v
i
c
e
R
e
a
l
N
a
m
e
;
L
P
S
E
R
V
I
C
E
_
M
A
I
N
_
F
U
N
C
T
I
O
N
S
e
r
v
i
c
e
S
t
a
r
t
R
o
u
t
i
n
e
;
L
P
H
A
N
D
L
E
R
_
F
U
N
C
T
I
O
N
_
E
X
C
o
n
t
r
o
l
H
a
n
d
l
e
r
;
H
A
N
D
L
E
S
t
a
t
u
s
H
a
n
d
l
e
;
D
W
O
R
D
S
e
r
v
i
c
e
F
l
a
g
s
;
D
W
O
R
D
T
a
g
;
H
A
N
D
L
E
M
a
i
n
T
h
r
e
a
d
H
a
n
d
l
e
;
D
W
O
R
D
d
w
R
e
s
e
r
v
e
d
;
W
i
n
1
0
的
I
D
E
结
构
通
过
H
O
O
K
I
D
E
的
C
o
n
t
r
o
l
H
a
n
d
l
e
r
字
段
,
可
以
实
现
进
程
注
入
。
具
体
方
法
为
:
通
过
服
务
名
得
到
服
务
的
进
程
相
关
信
息
;
在
服
务
的
进
程
之
中
通
过
搜
索
内
存
比
对
I
D
E
的
S
e
r
v
i
c
e
R
e
a
l
N
a
m
e
和
传
入
的
服
务
名
参
数
来
找
到
I
D
E
;
将
I
D
E
中
的
S
e
r
v
i
c
e
F
l
a
g
s
修
改
为
S
E
R
V
I
C
E
_
C
O
N
T
R
O
L
_
I
N
T
E
R
R
O
G
A
T
E
;
然
后
H
O
O
K
I
D
E
中
的
C
o
n
t
r
o
l
H
a
n
d
l
e
r
,
通
过
S
C
M
向
其
发
送
S
E
R
V
I
C
E
_
C
O
N
T
R
O
L
_
I
N
T
E
R
R
O
G
A
T
E
的
控
制
码
,
触
发
被
H
O
O
K
的
函
数
;
然
后
恢
复
。
具
体
代
码
如
下
:
}
I
N
T
E
R
N
A
L
_
D
I
S
P
A
T
C
H
_
E
N
T
R
Y
,
*
P
I
N
T
E
R
N
A
L
_
D
I
S
P
A
T
C
H
_
E
N
T
R
Y
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
I
N
T
E
R
N
A
L
_
D
I
S
P
A
T
C
H
_
E
N
T
R
Y
{
L
P
W
S
T
R
S
e
r
v
i
c
e
N
a
m
e
;
L
P
W
S
T
R
S
e
r
v
i
c
e
R
e
a
l
N
a
m
e
;
L
P
W
S
T
R
S
e
r
v
i
c
e
N
a
m
e
2
;
/
/
W
i
n
d
o
w
s
1
0
L
P
S
E
R
V
I
C
E
_
M
A
I
N
_
F
U
N
C
T
I
O
N
S
e
r
v
i
c
e
S
t
a
r
t
R
o
u
t
i
n
e
;
L
P
H
A
N
D
L
E
R
_
F
U
N
C
T
I
O
N
_
E
X
C
o
n
t
r
o
l
H
a
n
d
l
e
r
;
H
A
N
D
L
E
S
t
a
t
u
s
H
a
n
d
l
e
;
D
W
O
R
D
6
4
S
e
r
v
i
c
e
F
l
a
g
s
;
/
/
6
4
-
b
i
t
o
n
w
i
n
d
o
w
s
1
0
D
W
O
R
D
6
4
T
a
g
;
H
A
N
D
L
E
M
a
i
n
T
h
r
e
a
d
H
a
n
d
l
e
;
D
W
O
R
D
6
4
d
w
R
e
s
e
r
v
e
d
;
D
W
O
R
D
6
4
d
w
R
e
s
e
r
v
e
d
2
;
}
I
N
T
E
R
N
A
L
_
D
I
S
P
A
T
C
H
_
E
N
T
R
Y
,
*
P
I
N
T
E
R
N
A
L
_
D
I
S
P
A
T
C
H
_
E
N
T
R
Y
;
V
O
I
D
S
v
c
C
t
r
l
I
n
j
e
c
t
(
P
S
E
R
V
I
C
E
_
E
N
T
R
Y
s
e
,
L
P
V
O
I
D
p
a
y
l
o
a
d
,
D
W
O
R
D
p
a
y
l
o
a
d
S
i
z
e
)
{
S
I
Z
E
_
T
w
r
;
S
C
_
H
A
N
D
L
E
h
m
,
h
s
;
I
N
T
E
R
N
A
L
_
D
I
S
P
A
T
C
H
_
E
N
T
R
Y
i
d
e
;
H
A
N
D
L
E
h
p
;
L
P
V
O
I
D
c
s
;
S
E
R
V
I
C
E
_
S
T
A
T
U
S
s
s
;
w
p
r
i
n
t
f
(
L
"
[
*
]
A
t
t
e
m
p
t
i
n
g
t
o
i
n
j
e
c
t
P
I
C
i
n
t
o
"
%
s
"
.
.
.
n
"
,
s
e
-
>
p
r
o
c
e
s
s
)
;
/
/
o
p
e
n
t
h
e
s
e
r
v
i
c
e
c
o
n
t
r
o
l
m
a
n
a
g
e
r
h
m
=
O
p
e
n
S
C
M
a
n
a
g
e
r
(
N
U
L
L
,
N
U
L
L
,
S
C
_
M
A
N
A
G
E
R
_
C
O
N
N
E
C
T
)
;
i
f
(
h
m
!
=
N
U
L
L
)
{
/
/
o
p
e
n
t
a
r
g
e
t
s
e
r
v
i
c
e
h
s
=
O
p
e
n
S
e
r
v
i
c
e
(
h
m
,
s
e
-
>
s
e
r
v
i
c
e
,
S
E
R
V
I
C
E
_
I
N
T
E
R
R
O
G
A
T
E
)
;
i
f
(
h
s
!
=
N
U
L
L
)
{
/
/
o
p
e
n
t
a
r
g
e
t
p
r
o
c
e
s
s
h
p
=
O
p
e
n
P
r
o
c
e
s
s
(
P
R
O
C
E
S
S
_
A
L
L
_
A
C
C
E
S
S
,
F
A
L
S
E
,
s
e
-
>
p
i
d
)
;
i
f
(
h
p
!
=
N
U
L
L
)
{
/
/
a
l
l
o
c
a
t
e
m
e
m
o
r
y
f
o
r
p
a
y
l
o
a
d
c
s
=
V
i
r
t
u
a
l
A
l
l
o
c
E
x
(
h
p
,
N
U
L
L
,
p
a
y
l
o
a
d
S
i
z
e
,
M
E
M
_
C
O
M
M
I
T
,
P
A
G
E
_
E
X
E
C
U
T
E
_
R
E
A
D
W
R
I
T
E
)
;
i
f
(
c
s
)
{
/
/
w
r
i
t
e
p
a
y
l
o
a
d
t
o
p
r
o
c
e
s
s
s
p
a
c
e
W
r
i
t
e
P
r
o
c
e
s
s
M
e
m
o
r
y
(
h
p
,
c
s
,
p
a
y
l
o
a
d
,
p
a
y
l
o
a
d
S
i
z
e
,
&
w
r
)
;
/
/
c
r
e
a
t
e
b
a
c
k
u
p
o
f
I
D
E
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页