论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[14216] 2019-06-11_DEX保护之指令抽取
文档创建者:
s7ckTeam
浏览次数:
3
最后更新:
2025-01-18
IOT
3 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2019-06-11_DEX保护之指令抽取
D
E
X
保
护
之
指
令
抽
取
x
i
o
n
g
c
h
a
o
c
h
a
o
F
r
e
e
B
u
f
2
0
1
9
-
0
6
-
1
1
引
言
引
言
首
先
我
们
需
要
了
解
一
代
壳
的
原
理
,
一
代
壳
是
对
首
先
我
们
需
要
了
解
一
代
壳
的
原
理
,
一
代
壳
是
对
d
e
x
文
件
进
行
加
密
,
反
编
译
只
能
看
见
壳
程
序
的
代
码
,
只
能
通
过
文
件
进
行
加
密
,
反
编
译
只
能
看
见
壳
程
序
的
代
码
,
只
能
通
过
I
D
A
动
态
调
试
动
态
调
试
或
者
使
用
或
者
使
用
X
p
o
s
e
d
等
等
H
O
O
K
框
架
,
框
架
,
h
o
o
k
相
关
相
关
A
P
I
在
在
A
p
p
运
行
时
运
行
时
d
u
m
p
出
解
密
后
的
出
解
密
后
的
d
e
x
文
件
,
这
两
种
方
法
都
是
通
过
内
存
文
件
,
这
两
种
方
法
都
是
通
过
内
存
d
u
m
p
出
出
解
密
后
的
解
密
后
的
d
e
x
文
件
来
进
行
脱
壳
的
。
文
件
来
进
行
脱
壳
的
。
针
对
上
面
一
代
壳
的
简
单
描
述
,
我
们
引
出
二
代
壳
的
功
能
:
防
止
内
存
d
u
m
p
出
d
e
x
文
件
。
指
令
抽
取
概
念
指
令
抽
取
概
念
将
需
要
保
护
的
源
码
隐
藏
起
来
,
通
过
的
就
是
修
改
d
e
x
文
件
结
构
来
删
除
指
令
集
,
这
样
即
使
d
u
m
p
出
的
d
e
x
文
件
也
是
不
完
整
的
。
这
里
需
要
了
解
d
e
x
文
件
结
构
,
这
里
大
概
说
一
下
,
d
e
x
文
件
结
构
中
的
倒
数
第
二
个
c
l
a
s
s
d
e
f
段
存
储
着
源
码
中
类
的
各
种
详
细
信
息
,
我
们
关
注
和
修
改
的
就
是
其
中
e
n
c
o
d
e
_
m
e
t
h
o
d
结
构
体
,
这
个
结
构
体
保
存
中
类
中
方
法
的
详
细
信
息
,
也
是
源
码
的
逻
辑
结
构
,
需
要
保
护
起
来
的
,
这
个
结
构
体
里
的
的
c
o
d
e
_
i
t
e
m
就
是
这
个
方
法
中
的
代
码
信
息
,
我
们
只
要
把
指
令
集
(
指
令
集
构
成
的
每
一
行
代
码
)
置
空
,
也
就
是
删
除
了
这
个
方
法
内
部
逻
辑
代
码
,
这
个
方
法
也
就
成
了
空
方
法
,
即
使
d
u
m
p
出
来
也
没
什
么
作
用
。
具
体
实
现
具
体
实
现
指
令
抽
取
指
令
抽
取
进
行
下
面
d
e
x
文
件
格
式
解
析
过
程
,
需
要
对
d
e
x
文
件
格
式
有
一
定
的
了
解
,
可
以
看
尼
古
拉
斯
赵
四
的
d
e
x
文
件
解
析
的
博
客
。
1
、
首
先
需
要
遍
历
d
e
x
文
件
的
c
l
a
s
s
段
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
p
a
r
s
e
C
l
a
s
s
I
d
s
(
b
y
t
e
[
]
s
r
c
B
y
t
e
)
{
i
n
t
i
d
S
i
z
e
=
C
l
a
s
s
D
e
f
I
t
e
m
.
g
e
t
S
i
z
e
(
)
;
i
n
t
c
o
u
n
t
I
d
s
=
c
l
a
s
s
I
d
s
S
i
z
e
;
/
/
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
l
n
(
"
T
o
t
a
l
"
+
S
t
r
i
n
g
.
v
a
l
u
e
O
f
(
c
o
u
n
t
I
d
s
)
+
"
c
l
a
s
s
e
s
(
自
定
义
类
)
n
"
)
;
f
o
r
(
i
n
t
i
=
0
;
i
<
c
o
u
n
t
I
d
s
;
i
+
+
)
{
C
l
a
s
s
D
e
f
I
t
e
m
i
t
e
m
=
n
e
w
C
l
a
s
s
D
e
f
I
t
e
m
(
)
;
b
y
t
e
[
]
c
l
a
s
s
I
t
e
m
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
s
r
c
B
y
t
e
,
c
l
a
s
s
I
d
s
O
f
f
s
e
t
+
i
*
i
d
S
i
z
e
,
i
d
S
i
z
e
)
;
b
y
t
e
[
]
c
l
a
s
s
I
d
x
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
l
a
s
s
I
t
e
m
B
y
t
e
,
0
,
4
)
;
i
t
e
m
.
c
l
a
s
s
_
i
d
x
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
c
l
a
s
s
I
d
x
B
y
t
e
)
;
b
y
t
e
[
]
a
c
c
e
s
s
F
l
a
g
s
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
l
a
s
s
I
t
e
m
B
y
t
e
,
4
,
4
)
;
i
t
e
m
.
a
c
c
e
s
s
_
f
l
a
g
s
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
a
c
c
e
s
s
F
l
a
g
s
B
y
t
e
)
;
b
y
t
e
[
]
s
u
p
e
r
C
l
a
s
s
I
d
x
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
l
a
s
s
I
t
e
m
B
y
t
e
,
8
,
4
)
;
i
t
e
m
.
s
u
p
e
r
c
l
a
s
s
_
i
d
x
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
s
u
p
e
r
C
l
a
s
s
I
d
x
B
y
t
e
)
;
b
y
t
e
[
]
i
t
e
r
f
a
c
e
s
O
f
f
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
l
a
s
s
I
t
e
m
B
y
t
e
,
1
2
,
4
)
;
i
t
e
m
.
i
t
e
r
f
a
c
e
s
_
o
f
f
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
i
t
e
r
f
a
c
e
s
O
f
f
B
y
t
e
)
;
b
y
t
e
[
]
s
o
u
r
c
e
F
i
l
e
I
d
x
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
l
a
s
s
I
t
e
m
B
y
t
e
,
1
6
,
4
)
;
i
t
e
m
.
s
o
u
r
c
e
_
f
i
l
e
_
i
d
x
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
s
o
u
r
c
e
F
i
l
e
I
d
x
B
y
t
e
)
;
b
y
t
e
[
]
a
n
n
o
t
a
t
i
o
n
s
O
f
f
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
l
a
s
s
I
t
e
m
B
y
t
e
,
2
0
,
4
)
;
i
t
e
m
.
a
n
n
o
t
a
t
i
o
n
s
_
o
f
f
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
a
n
n
o
t
a
t
i
o
n
s
O
f
f
B
y
t
e
)
;
b
y
t
e
[
]
c
l
a
s
s
D
a
t
a
O
f
f
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
l
a
s
s
I
t
e
m
B
y
t
e
,
2
4
,
4
)
;
i
t
e
m
.
c
l
a
s
s
_
d
a
t
a
_
o
f
f
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
c
l
a
s
s
D
a
t
a
O
f
f
B
y
t
e
)
;
b
y
t
e
[
]
s
t
a
t
i
c
V
a
l
u
e
O
f
f
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
l
a
s
s
I
t
e
m
B
y
t
e
,
2
8
,
4
)
;
i
t
e
m
.
s
t
a
t
i
c
_
v
a
l
u
e
_
o
f
f
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
s
t
a
t
i
c
V
a
l
u
e
O
f
f
B
y
t
e
)
;
c
l
a
s
s
I
d
s
L
i
s
t
.
a
d
d
(
i
t
e
m
)
;
}
2
、
解
析
c
l
a
s
s
段
下
的
每
个
类
的
类
数
据
,
也
就
是
解
析
每
个
c
l
a
s
s
I
t
e
m
D
a
t
a
中
的
方
法
字
段
。
3
、
进
一
步
向
结
构
体
内
部
解
析
,
找
到
c
o
d
e
结
构
体
的
指
令
集
数
组
。
}
/
/
d
i
r
e
c
t
M
e
t
h
o
d
s
E
n
c
o
d
e
d
M
e
t
h
o
d
[
]
s
t
a
t
i
c
M
e
t
h
o
d
s
A
r
y
=
n
e
w
E
n
c
o
d
e
d
M
e
t
h
o
d
[
i
t
e
m
.
d
i
r
e
c
t
_
m
e
t
h
o
d
s
_
s
i
z
e
]
;
f
o
r
(
i
n
t
i
=
0
;
i
<
i
t
e
m
.
d
i
r
e
c
t
_
m
e
t
h
o
d
s
_
s
i
z
e
;
i
+
+
)
{
/
*
*
*
p
u
b
l
i
c
b
y
t
e
[
]
m
e
t
h
o
d
_
i
d
x
_
d
i
f
f
;
p
u
b
l
i
c
b
y
t
e
[
]
a
c
c
e
s
s
_
f
l
a
g
s
;
p
u
b
l
i
c
b
y
t
e
[
]
c
o
d
e
_
o
f
f
;
*
/
E
n
c
o
d
e
d
M
e
t
h
o
d
d
i
r
e
c
t
M
e
t
h
o
d
=
n
e
w
E
n
c
o
d
e
d
M
e
t
h
o
d
(
)
;
d
i
r
e
c
t
M
e
t
h
o
d
.
m
e
t
h
o
d
_
i
d
x
_
d
i
f
f
=
U
t
i
l
s
.
r
e
a
d
U
n
s
i
g
n
e
d
L
e
b
1
2
8
(
s
r
c
B
y
t
e
,
d
a
t
a
O
f
f
s
e
t
)
;
d
a
t
a
O
f
f
s
e
t
+
=
d
i
r
e
c
t
M
e
t
h
o
d
.
m
e
t
h
o
d
_
i
d
x
_
d
i
f
f
.
l
e
n
g
t
h
;
d
i
r
e
c
t
M
e
t
h
o
d
.
a
c
c
e
s
s
_
f
l
a
g
s
=
U
t
i
l
s
.
r
e
a
d
U
n
s
i
g
n
e
d
L
e
b
1
2
8
(
s
r
c
B
y
t
e
,
d
a
t
a
O
f
f
s
e
t
)
;
d
a
t
a
O
f
f
s
e
t
+
=
d
i
r
e
c
t
M
e
t
h
o
d
.
a
c
c
e
s
s
_
f
l
a
g
s
.
l
e
n
g
t
h
;
d
i
r
e
c
t
M
e
t
h
o
d
.
c
o
d
e
_
o
f
f
=
U
t
i
l
s
.
r
e
a
d
U
n
s
i
g
n
e
d
L
e
b
1
2
8
(
s
r
c
B
y
t
e
,
d
a
t
a
O
f
f
s
e
t
)
;
d
a
t
a
O
f
f
s
e
t
+
=
d
i
r
e
c
t
M
e
t
h
o
d
.
c
o
d
e
_
o
f
f
.
l
e
n
g
t
h
;
s
t
a
t
i
c
M
e
t
h
o
d
s
A
r
y
[
i
]
=
d
i
r
e
c
t
M
e
t
h
o
d
;
}
/
/
v
i
r
t
u
a
l
M
e
t
h
o
d
s
E
n
c
o
d
e
d
M
e
t
h
o
d
[
]
i
n
s
t
a
n
c
e
M
e
t
h
o
d
s
A
r
y
=
n
e
w
E
n
c
o
d
e
d
M
e
t
h
o
d
[
i
t
e
m
.
v
i
r
t
u
a
l
_
m
e
t
h
o
d
s
_
s
i
z
e
]
;
f
o
r
(
i
n
t
i
=
0
;
i
<
i
t
e
m
.
v
i
r
t
u
a
l
_
m
e
t
h
o
d
s
_
s
i
z
e
;
i
+
+
)
{
/
*
*
*
p
u
b
l
i
c
b
y
t
e
[
]
m
e
t
h
o
d
_
i
d
x
_
d
i
f
f
;
p
u
b
l
i
c
b
y
t
e
[
]
a
c
c
e
s
s
_
f
l
a
g
s
;
p
u
b
l
i
c
b
y
t
e
[
]
c
o
d
e
_
o
f
f
;
*
/
E
n
c
o
d
e
d
M
e
t
h
o
d
i
n
s
t
a
n
c
e
M
e
t
h
o
d
=
n
e
w
E
n
c
o
d
e
d
M
e
t
h
o
d
(
)
;
i
n
s
t
a
n
c
e
M
e
t
h
o
d
.
m
e
t
h
o
d
_
i
d
x
_
d
i
f
f
=
U
t
i
l
s
.
r
e
a
d
U
n
s
i
g
n
e
d
L
e
b
1
2
8
(
s
r
c
B
y
t
e
,
d
a
t
a
O
f
f
s
e
t
)
;
d
a
t
a
O
f
f
s
e
t
+
=
i
n
s
t
a
n
c
e
M
e
t
h
o
d
.
m
e
t
h
o
d
_
i
d
x
_
d
i
f
f
.
l
e
n
g
t
h
;
i
n
s
t
a
n
c
e
M
e
t
h
o
d
.
a
c
c
e
s
s
_
f
l
a
g
s
=
U
t
i
l
s
.
r
e
a
d
U
n
s
i
g
n
e
d
L
e
b
1
2
8
(
s
r
c
B
y
t
e
,
d
a
t
a
O
f
f
s
e
t
)
;
d
a
t
a
O
f
f
s
e
t
+
=
i
n
s
t
a
n
c
e
M
e
t
h
o
d
.
a
c
c
e
s
s
_
f
l
a
g
s
.
l
e
n
g
t
h
;
i
n
s
t
a
n
c
e
M
e
t
h
o
d
.
c
o
d
e
_
o
f
f
=
U
t
i
l
s
.
r
e
a
d
U
n
s
i
g
n
e
d
L
e
b
1
2
8
(
s
r
c
B
y
t
e
,
d
a
t
a
O
f
f
s
e
t
)
;
d
a
t
a
O
f
f
s
e
t
+
=
i
n
s
t
a
n
c
e
M
e
t
h
o
d
.
c
o
d
e
_
o
f
f
.
l
e
n
g
t
h
;
i
n
s
t
a
n
c
e
M
e
t
h
o
d
s
A
r
y
[
i
]
=
i
n
s
t
a
n
c
e
M
e
t
h
o
d
;
}
/
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
D
i
r
e
c
t
m
e
t
h
o
d
s
t
-
n
"
)
;
i
f
(
i
t
e
m
.
d
i
r
e
c
t
_
m
e
t
h
o
d
s
.
l
e
n
g
t
h
!
=
0
)
{
f
o
r
(
i
n
t
i
=
0
;
i
<
i
t
e
m
.
d
i
r
e
c
t
_
m
e
t
h
o
d
s
.
l
e
n
g
t
h
;
i
+
+
)
{
i
n
t
m
e
t
h
o
d
I
n
d
e
x
=
U
t
i
l
s
.
d
e
c
o
d
e
U
l
e
b
1
2
8
(
i
t
e
m
.
d
i
r
e
c
t
_
m
e
t
h
o
d
s
[
i
]
.
m
e
t
h
o
d
_
i
d
x
_
d
i
f
f
)
;
i
n
t
a
c
c
e
s
s
f
l
a
g
=
U
t
i
l
s
.
d
e
c
o
d
e
U
l
e
b
1
2
8
(
i
t
e
m
.
d
i
r
e
c
t
_
m
e
t
h
o
d
s
[
i
]
.
a
c
c
e
s
s
_
f
l
a
g
s
)
;
i
n
t
c
o
d
e
_
o
f
f
=
U
t
i
l
s
.
d
e
c
o
d
e
U
l
e
b
1
2
8
(
i
t
e
m
.
d
i
r
e
c
t
_
m
e
t
h
o
d
s
[
i
]
.
c
o
d
e
_
o
f
f
)
;
i
f
(
c
o
d
e
_
o
f
f
=
=
0
)
{
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
t
n
u
l
l
c
o
d
e
i
t
e
m
"
)
;
c
o
n
t
i
n
u
e
;
}
/
/
解
析
c
o
d
e
_
i
t
e
m
结
构
体
b
y
t
e
[
]
c
o
d
e
I
t
e
m
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
s
r
c
B
y
t
e
,
c
o
d
e
_
o
f
f
,
1
6
)
;
C
l
a
s
s
C
o
d
e
I
t
e
m
m
C
l
a
s
s
C
o
d
e
I
t
e
m
=
n
e
w
C
l
a
s
s
C
o
d
e
I
t
e
m
(
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
r
e
g
i
s
t
e
r
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
0
,
2
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
2
,
2
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
o
u
t
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
4
,
2
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
t
r
i
e
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
6
,
2
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
d
e
b
u
g
I
n
f
o
O
f
f
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
8
,
4
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
1
2
,
4
)
)
;
b
y
t
e
[
]
i
n
s
t
r
u
c
t
i
o
n
_
b
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
s
r
c
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
f
o
r
(
i
n
t
j
=
0
;
j
<
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
;
j
+
+
)
{
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
.
a
d
d
(
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
i
n
s
t
r
u
c
t
i
o
n
_
b
y
t
e
,
2
*
j
,
2
)
)
)
;
}
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
t
n
a
m
e
t
:
%
s
n
"
,
s
t
r
i
n
g
L
i
s
t
.
g
e
t
(
m
e
t
h
o
d
I
d
s
L
i
s
t
.
g
e
t
(
m
e
t
h
o
d
I
n
d
e
x
)
.
n
a
m
e
_
i
d
x
)
)
;
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
t
i
n
s
t
r
u
c
t
i
o
n
s
:
%
s
n
"
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
.
t
o
S
t
r
i
n
g
(
)
)
;
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
t
指
令
置
空
:
n
"
)
;
i
f
(
f
l
a
g
=
=
0
)
{
d
e
x
B
y
t
e
=
s
e
t
_
i
n
s
t
r
u
2
n
u
l
l
(
s
r
c
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
b
y
t
e
[
]
n
u
l
l
_
i
n
s
t
r
u
c
t
i
o
n
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
d
e
x
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
f
l
a
g
+
+
;
}
e
l
s
e
{
d
e
x
B
y
t
e
=
s
e
t
_
i
n
s
t
r
u
2
n
u
l
l
(
d
e
x
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
}
b
y
t
e
[
]
n
u
l
l
_
b
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
d
e
x
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
l
n
(
"
t
t
"
+
U
t
i
l
s
.
b
y
t
e
s
T
o
H
e
x
S
t
r
i
n
g
(
n
u
l
l
_
b
y
t
e
)
+
"
n
"
)
;
}
}
i
f
(
i
t
e
m
.
v
i
r
t
u
a
l
_
m
e
t
h
o
d
s
.
l
e
n
g
t
h
!
=
0
)
{
f
o
r
(
i
n
t
i
=
0
;
i
<
i
t
e
m
.
v
i
r
t
u
a
l
_
m
e
t
h
o
d
s
.
l
e
n
g
t
h
;
i
+
+
)
{
i
n
t
m
e
t
h
o
d
I
n
d
e
x
=
U
t
i
l
s
.
d
e
c
o
d
e
U
l
e
b
1
2
8
(
i
t
e
m
.
v
i
r
t
u
a
l
_
m
e
t
h
o
d
s
[
i
]
.
m
e
t
h
o
d
_
i
d
x
_
d
i
f
f
)
;
i
n
t
a
c
c
e
s
s
f
l
a
g
=
U
t
i
l
s
.
d
e
c
o
d
e
U
l
e
b
1
2
8
(
i
t
e
m
.
v
i
r
t
u
a
l
_
m
e
t
h
o
d
s
[
i
]
.
a
c
c
e
s
s
_
f
l
a
g
s
)
;
i
n
t
c
o
d
e
_
o
f
f
=
U
t
i
l
s
.
d
e
c
o
d
e
U
l
e
b
1
2
8
(
i
t
e
m
.
v
i
r
t
u
a
l
_
m
e
t
h
o
d
s
[
i
]
.
c
o
d
e
_
o
f
f
)
;
i
f
(
c
o
d
e
_
o
f
f
=
=
0
)
{
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
t
n
u
l
l
c
o
d
e
i
t
e
m
"
)
;
c
o
n
t
i
n
u
e
;
}
/
/
解
析
c
o
d
e
_
i
t
e
m
结
构
体
b
y
t
e
[
]
c
o
d
e
I
t
e
m
B
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
s
r
c
B
y
t
e
,
c
o
d
e
_
o
f
f
,
1
6
)
;
C
l
a
s
s
C
o
d
e
I
t
e
m
m
C
l
a
s
s
C
o
d
e
I
t
e
m
=
n
e
w
C
l
a
s
s
C
o
d
e
I
t
e
m
(
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
r
e
g
i
s
t
e
r
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
0
,
2
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
2
,
2
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
o
u
t
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
4
,
2
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
t
r
i
e
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
6
,
2
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
d
e
b
u
g
I
n
f
o
O
f
f
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
8
,
4
)
)
;
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
=
U
t
i
l
s
.
b
y
t
e
2
i
n
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
c
o
d
e
I
t
e
m
B
y
t
e
,
1
2
,
4
)
)
;
b
y
t
e
[
]
i
n
s
t
r
u
c
t
i
o
n
_
b
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
s
r
c
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
f
o
r
(
i
n
t
j
=
0
;
j
<
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
;
j
+
+
)
{
4
、
上
面
代
码
解
析
出
指
令
数
组
后
,
使
用
了
s
e
t
_
i
n
s
t
r
u
2
n
u
l
l
方
法
将
指
令
偏
移
处
指
定
大
小
的
字
节
流
置
0
,
来
返
回
一
个
指
令
集
为
0
的
d
e
x
文
件
的
字
节
流
。
小
结
小
结
上
面
的
代
码
主
要
都
是
对
d
e
x
文
件
格
式
的
解
析
,
需
要
对
d
e
x
文
件
格
式
有
了
解
,
可
以
参
考
我
g
i
t
h
u
b
上
的
工
具
r
e
a
d
d
e
x
.
j
a
r
。
然
后
将
下
图
中
所
示
的
指
令
集
置
0
,
也
就
隐
藏
了
代
码
。
f
o
r
(
i
n
t
j
=
0
;
j
<
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
;
j
+
+
)
{
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
.
a
d
d
(
U
t
i
l
s
.
b
y
t
e
2
S
h
o
r
t
(
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
i
n
s
t
r
u
c
t
i
o
n
_
b
y
t
e
,
2
*
j
,
2
)
)
)
;
}
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
t
n
a
m
e
t
:
%
s
n
"
,
s
t
r
i
n
g
L
i
s
t
.
g
e
t
(
m
e
t
h
o
d
I
d
s
L
i
s
t
.
g
e
t
(
m
e
t
h
o
d
I
n
d
e
x
)
.
n
a
m
e
_
i
d
x
)
)
;
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
t
i
n
s
t
r
u
c
t
i
o
n
s
:
%
s
n
"
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
.
t
o
S
t
r
i
n
g
(
)
)
;
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
f
(
"
t
t
指
令
置
空
:
n
"
)
;
i
f
(
f
l
a
g
=
=
0
)
{
d
e
x
B
y
t
e
=
s
e
t
_
i
n
s
t
r
u
2
n
u
l
l
(
s
r
c
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
f
l
a
g
+
+
;
}
e
l
s
e
{
d
e
x
B
y
t
e
=
s
e
t
_
i
n
s
t
r
u
2
n
u
l
l
(
d
e
x
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
}
b
y
t
e
[
]
n
u
l
l
_
b
y
t
e
=
U
t
i
l
s
.
c
o
p
y
B
y
t
e
(
d
e
x
B
y
t
e
,
c
o
d
e
_
o
f
f
+
1
6
,
m
C
l
a
s
s
C
o
d
e
I
t
e
m
.
i
n
s
n
s
S
i
z
e
*
2
)
;
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
l
n
(
"
t
t
"
+
U
t
i
l
s
.
b
y
t
e
s
T
o
H
e
x
S
t
r
i
n
g
(
n
u
l
l
_
b
y
t
e
)
+
"
n
"
)
;
}
}
p
u
b
l
i
c
s
t
a
t
i
c
b
y
t
e
[
]
s
e
t
_
i
n
s
t
r
u
2
n
u
l
l
(
b
y
t
e
[
]
s
r
c
,
i
n
t
s
t
a
r
t
,
i
n
t
l
e
n
)
{
i
f
(
s
r
c
=
=
n
u
l
l
)
{
r
e
t
u
r
n
n
u
l
l
;
}
i
f
(
s
t
a
r
t
>
s
r
c
.
l
e
n
g
t
h
)
{
r
e
t
u
r
n
n
u
l
l
;
}
i
f
(
(
s
t
a
r
t
+
l
e
n
)
>
s
r
c
.
l
e
n
g
t
h
)
{
r
e
t
u
r
n
n
u
l
l
;
}
i
f
(
s
t
a
r
t
<
0
)
{
r
e
t
u
r
n
n
u
l
l
;
}
i
f
(
l
e
n
<
=
0
)
{
r
e
t
u
r
n
n
u
l
l
;
}
b
y
t
e
[
]
r
e
s
u
l
t
B
y
t
e
=
n
e
w
b
y
t
e
[
s
r
c
.
l
e
n
g
t
h
]
;
f
o
r
(
i
n
t
i
=
0
;
i
<
s
r
c
.
l
e
n
g
t
h
-
1
;
i
+
+
)
{
i
f
(
i
<
s
t
a
r
t
)
{
r
e
s
u
l
t
B
y
t
e
[
i
]
=
s
r
c
[
i
]
;
}
e
l
s
e
i
f
(
(
i
-
s
t
a
r
t
)
<
l
e
n
)
{
r
e
s
u
l
t
B
y
t
e
[
i
]
=
0
;
}
e
l
s
e
{
r
e
s
u
l
t
B
y
t
e
[
i
]
=
s
r
c
[
i
]
;
}
}
r
e
t
u
r
n
r
e
s
u
l
t
B
y
t
e
;
}
下
面
通
过
J
a
d
x
打
开
经
过
更
改
的
d
e
x
文
件
的
对
比
,
可
以
从
图
中
明
显
看
出
改
过
指
令
的
d
e
x
文
件
方
法
内
部
的
代
码
全
部
被
隐
藏
了
。
重
写
校
验
重
写
校
验
d
e
x
文
件
头
中
有
两
个
字
段
,
随
着
d
e
x
文
件
格
式
的
修
改
是
要
进
行
改
变
的
,
否
则
安
装
a
p
k
的
时
候
,
会
通
不
过
系
统
校
验
。
c
h
e
c
k
s
u
m
:
文
件
校
验
码
,
除
m
a
g
i
c
和
此
字
段
之
外
的
文
件
剩
下
内
容
的
a
d
l
e
r
3
2
校
验
和
,
用
于
检
测
文
件
损
坏
情
况
;
s
i
g
n
a
t
u
r
e
:
S
H
A
-
1
签
名
,
除
m
a
g
i
c
、
c
h
e
c
k
s
u
m
和
此
字
段
之
外
的
文
件
的
内
容
的
S
H
A
-
1
签
名
(
哈
希
)
,
用
于
对
文
件
进
行
唯
一
标
识
。
也
就
需
要
写
两
个
方
法
分
别
进
行
a
d
l
e
r
3
2
校
验
和
S
H
A
1
摘
要
。
先
进
行
S
H
A
1
摘
要
,
然
后
再
进
行
C
R
C
计
算
:
/
/
替
换
校
验
值
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
r
e
s
e
t
D
e
x
C
h
e
c
k
S
u
m
(
b
y
t
e
[
]
s
r
c
)
{
b
y
t
e
[
]
S
H
A
1
b
y
t
e
=
n
e
w
b
y
t
e
[
s
r
c
.
l
e
n
g
t
h
-
3
3
]
;
S
y
s
t
e
m
.
a
r
r
a
y
c
o
p
y
(
s
r
c
,
3
2
,
S
H
A
1
b
y
t
e
,
0
,
s
r
c
.
l
e
n
g
t
h
-
3
3
)
;
b
y
t
e
[
]
s
h
a
1
=
g
e
t
S
H
A
1
(
S
H
A
1
b
y
t
e
)
;
r
e
p
l
a
c
e
B
y
t
e
(
d
e
x
B
y
t
e
,
1
2
,
s
h
a
1
)
;
b
y
t
e
[
]
c
h
e
c
k
B
y
t
e
=
c
h
e
c
k
s
u
m
_
b
i
n
(
d
e
x
B
y
t
e
,
1
2
)
;
r
e
p
l
a
c
e
B
y
t
e
(
d
e
x
B
y
t
e
,
8
,
c
h
e
c
k
B
y
t
e
)
;
}
/
/
替
换
指
定
位
置
的
字
节
数
组
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
r
e
p
l
a
c
e
B
y
t
e
(
b
y
t
e
[
]
s
r
c
,
i
n
t
o
f
f
s
e
t
,
b
y
t
e
[
]
r
e
p
B
y
t
e
)
{
f
o
r
(
i
n
t
i
=
0
;
i
<
r
e
p
B
y
t
e
.
l
e
n
g
t
h
;
i
+
+
)
{
s
r
c
[
o
f
f
s
e
t
+
i
]
=
r
e
p
B
y
t
e
[
i
]
;
}
小
结
小
结
本
文
只
是
一
种
对
类
方
法
的
一
种
隐
藏
,
如
果
你
对
d
e
x
文
件
有
一
定
了
解
的
话
还
可
以
做
到
对
类
字
段
、
静
态
字
段
隐
藏
、
类
方
法
的
重
复
定
义
。
参
考
参
考
[
1
]
A
n
d
r
o
i
d
中
实
现
「
类
方
法
指
令
抽
取
方
式
」
加
固
方
案
原
理
解
析
[
2
]
D
E
X
文
件
混
淆
加
密
*
本
文
作
者
:
x
i
o
n
g
c
h
a
o
c
h
a
o
,
本
文
属
F
r
e
e
B
u
f
原
创
奖
励
计
划
,
未
经
许
可
禁
止
转
载
。
精
彩
推
荐
精
彩
推
荐
}
/
/
获
取
S
H
A
1
值
p
u
b
l
i
c
s
t
a
t
i
c
b
y
t
e
[
]
g
e
t
S
H
A
1
(
b
y
t
e
[
]
b
t
)
{
M
e
s
s
a
g
e
D
i
g
e
s
t
m
M
e
s
s
a
g
e
D
i
g
e
s
t
;
b
y
t
e
[
]
m
e
s
s
a
g
e
D
i
g
e
s
t
=
n
u
l
l
;
t
r
y
{
m
M
e
s
s
a
g
e
D
i
g
e
s
t
=
M
e
s
s
a
g
e
D
i
g
e
s
t
.
g
e
t
I
n
s
t
a
n
c
e
(
"
S
H
A
-
1
"
)
;
m
M
e
s
s
a
g
e
D
i
g
e
s
t
.
u
p
d
a
t
e
(
b
t
)
;
m
e
s
s
a
g
e
D
i
g
e
s
t
=
m
M
e
s
s
a
g
e
D
i
g
e
s
t
.
d
i
g
e
s
t
(
)
;
S
t
r
i
n
g
B
u
f
f
e
r
h
e
x
S
t
r
i
n
g
=
n
e
w
S
t
r
i
n
g
B
u
f
f
e
r
(
)
;
f
o
r
(
i
n
t
i
=
0
;
i
<
m
e
s
s
a
g
e
D
i
g
e
s
t
.
l
e
n
g
t
h
;
i
+
+
)
{
S
t
r
i
n
g
s
h
a
H
e
x
=
I
n
t
e
g
e
r
.
t
o
H
e
x
S
t
r
i
n
g
(
m
e
s
s
a
g
e
D
i
g
e
s
t
[
i
]
&
0
x
F
F
)
;
i
f
(
s
h
a
H
e
x
.
l
e
n
g
t
h
(
)
<
2
)
{
h
e
x
S
t
r
i
n
g
.
a
p
p
e
n
d
(
0
)
;
}
h
e
x
S
t
r
i
n
g
.
a
p
p
e
n
d
(
s
h
a
H
e
x
)
;
}
}
c
a
t
c
h
(
N
o
S
u
c
h
A
l
g
o
r
i
t
h
m
E
x
c
e
p
t
i
o
n
e
)
{
/
/
T
O
D
O
A
u
t
o
-
g
e
n
e
r
a
t
e
d
c
a
t
c
h
b
l
o
c
k
e
.
p
r
i
n
t
S
t
a
c
k
T
r
a
c
e
(
)
;
}
r
e
t
u
r
n
m
e
s
s
a
g
e
D
i
g
e
s
t
;
}
/
/
计
算
c
h
e
c
k
s
u
m
p
u
b
l
i
c
s
t
a
t
i
c
b
y
t
e
[
]
c
h
e
c
k
s
u
m
_
b
i
n
(
b
y
t
e
[
]
d
a
t
a
,
i
n
t
o
f
f
)
{
i
n
t
l
e
n
=
d
a
t
a
.
l
e
n
g
t
h
-
o
f
f
;
A
d
l
e
r
3
2
a
d
l
e
r
3
2
=
n
e
w
A
d
l
e
r
3
2
(
)
;
a
d
l
e
r
3
2
.
r
e
s
e
t
(
)
;
a
d
l
e
r
3
2
.
u
p
d
a
t
e
(
d
a
t
a
,
o
f
f
,
l
e
n
)
;
l
o
n
g
c
h
e
c
k
s
u
m
=
a
d
l
e
r
3
2
.
g
e
t
V
a
l
u
e
(
)
;
b
y
t
e
[
]
c
h
e
c
k
s
u
m
b
s
=
n
e
w
b
y
t
e
[
]
{
(
b
y
t
e
)
c
h
e
c
k
s
u
m
,
(
b
y
t
e
)
(
c
h
e
c
k
s
u
m
>
>
8
)
,
(
b
y
t
e
)
(
c
h
e
c
k
s
u
m
>
>
1
6
)
,
(
b
y
t
e
)
(
c
h
e
c
k
s
u
m
>
>
2
4
)
}
;
r
e
t
u
r
n
c
h
e
c
k
s
u
m
b
s
;
}
阅
读
原
文
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页