forked from WrBug/dumpDex
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackerInfo.java
More file actions
Latest commit
123 lines (101 loc) · 3 KB
/
Copy pathPackerInfo.java
File metadata and controls
123 lines (101 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
packagecom.wrbug.dumpdex;
importandroid.support.annotation.NonNull;
importandroid.text.TextUtils;
importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.List;
importjava.util.Map;
importde.robv.android.xposed.XposedBridge;
importde.robv.android.xposed.XposedHelpers;
importde.robv.android.xposed.callbacks.XC_LoadPackage;
/**
* PackerInfo
*
* @author WrBug
* @since 2018/3/29
* <p>
* 加壳类型
*/
publicclassPackerInfo {
privatestaticList<String> sPackageName = newArrayList<>();
privatestaticMap<String, Type> sTypeMap = newHashMap<>();
/**
* 加固应用包含的包名,如果无法脱壳,请将application的包名,加到相应数组
*/
/**
* 60加固
*/
privatestaticfinalString[] QI_HOO = {"com.stub.StubApp"};
/**
* 爱加密
*/
privatestaticfinalString[] AI_JIA_MI = {"s.h.e.l.l.S"};
/**
* 梆梆加固
*/
privatestaticfinalString[] BANG_BANG = {"com.secneo.apkwrapper.ApplicationWrapper"};
/**
* 腾讯加固
*/
privatestaticfinalString[] TENCENT = {"com.tencent.StubShell.TxAppEntry"};
/**
* 百度加固
*/
privatestaticfinalString[] BAI_DU = {"com.baidu.protect.StubApplication"};
static {
sPackageName.addAll(Arrays.asList(QI_HOO));
sPackageName.addAll(Arrays.asList(AI_JIA_MI));
sPackageName.addAll(Arrays.asList(BANG_BANG));
sPackageName.addAll(Arrays.asList(TENCENT));
sPackageName.addAll(Arrays.asList(BAI_DU));
for (Strings : QI_HOO) {
sTypeMap.put(s, Type.QI_HOO);
}
for (Strings : AI_JIA_MI) {
sTypeMap.put(s, Type.AI_JIA_MI);
}
for (Strings : BANG_BANG) {
sTypeMap.put(s, Type.BANG_BANG);
}
for (Strings : TENCENT) {
sTypeMap.put(s, Type.TENCENT);
}
for (Strings : BAI_DU) {
sTypeMap.put(s, Type.BAI_DU);
}
}
publicstaticvoidlog(Stringtxt) {
XposedBridge.log("dumpdex.PackerInfo-> " + txt);
}
publicstaticTypefind(finalXC_LoadPackage.LoadPackageParamlpparam) {
for (Strings : sPackageName) {
Classclazz = XposedHelpers.findClassIfExists(s, lpparam.classLoader);
if (clazz != null) {
log("find class:" + s);
Typetype = getType(s);
log("find packerType :" + type.getName());
returntype;
}
}
returnnull;
}
privatestaticTypegetType(StringpackageName) {
returnsTypeMap.get(packageName);
}
publicenumType {
QI_HOO("360加固"),
AI_JIA_MI("爱加密"),
BANG_BANG("梆梆加固"),
TENCENT("腾讯加固"),
BAI_DU("百度加固");
Stringname;
Type(Strings) {
name = s;
}
publicStringgetName() {
returnname;
}
}
}