|
14 | 14 | import me.n1ar4.jar.obfuscator.utils.*; |
15 | 15 | import me.n1ar4.log.LogManager; |
16 | 16 | import me.n1ar4.log.Logger; |
17 | | -import me.n1ar4.log.LoggingStream; |
18 | 17 |
|
19 | 18 | import java.io.File; |
20 | 19 | import java.io.IOException; |
@@ -133,44 +132,44 @@ public static void run(Path path, BaseConfig config) { |
133 | 132 | } else { |
134 | 133 | newPackageNameS = packageNameS; |
135 | 134 | } |
136 | | - |
| 135 | + |
137 | 136 | // 修复 enableClassName: false & enablePackageName: true 时混淆未正确生效 BUG |
138 | 137 | String originalName = c.getName(); |
139 | 138 | String finalName = originalName; |
140 | | - |
| 139 | + |
141 | 140 | boolean notInWhiteList = PackageUtil.notInWhiteList(packageNameS, config); |
142 | 141 | boolean inBlackClass = PackageUtil.inBlackClass(originalName, config); |
143 | 142 | boolean inRootPackage = PackageUtil.inRootPackage(originalName, config); |
144 | 143 | if (!(notInWhiteList || inBlackClass) || inRootPackage) { |
145 | | - String result = ObfEnv.classNameObfMapping.putIfAbsent(originalName, originalName); |
146 | | - if (result == null) { |
147 | | - boolean isEnablePackageName = config.isEnablePackageName(); |
148 | | - boolean isEnableClassName = config.isEnableClassName(); |
149 | | - if (!inBlackClass && (isEnablePackageName || isEnableClassName)) { |
150 | | - String finalPackageName = packageNameS; |
151 | | - if (isEnablePackageName) { |
152 | | - finalPackageName = newPackageNameS; |
153 | | - } |
154 | | - if (isEnableClassName) { |
155 | | - if (className.contains("$")) { |
156 | | - String outerClassName = originalName.split("\\$")[0]; |
157 | | - String exist = ObfEnv.classNameObfMapping.get(outerClassName); |
158 | | - if (exist == null) { |
159 | | - exist = finalPackageName + "/" + NameUtil.genNewName(); |
160 | | - ObfEnv.classNameObfMapping.put(outerClassName, exist); |
161 | | - } |
162 | | - finalName = exist + "$" + NameUtil.genNewName(); |
163 | | - } else { |
164 | | - finalName = finalPackageName + "/" + NameUtil.genNewName(); |
165 | | - } |
166 | | - } else { |
167 | | - finalName = finalPackageName + "/" + className; |
168 | | - } |
169 | | - ObfEnv.classNameObfMapping.put(originalName, finalName); |
170 | | - } |
171 | | - } |
| 144 | + String result = ObfEnv.classNameObfMapping.putIfAbsent(originalName, originalName); |
| 145 | + if (result == null) { |
| 146 | + boolean isEnablePackageName = config.isEnablePackageName(); |
| 147 | + boolean isEnableClassName = config.isEnableClassName(); |
| 148 | + if (!inBlackClass && (isEnablePackageName || isEnableClassName)) { |
| 149 | + String finalPackageName = packageNameS; |
| 150 | + if (isEnablePackageName) { |
| 151 | + finalPackageName = newPackageNameS; |
| 152 | + } |
| 153 | + if (isEnableClassName) { |
| 154 | + if (className.contains("$")) { |
| 155 | + String outerClassName = originalName.split("\\$")[0]; |
| 156 | + String exist = ObfEnv.classNameObfMapping.get(outerClassName); |
| 157 | + if (exist == null) { |
| 158 | + exist = finalPackageName + "/" + NameUtil.genNewName(); |
| 159 | + ObfEnv.classNameObfMapping.put(outerClassName, exist); |
| 160 | + } |
| 161 | + finalName = exist + "$" + NameUtil.genNewName(); |
| 162 | + } else { |
| 163 | + finalName = finalPackageName + "/" + NameUtil.genNewName(); |
| 164 | + } |
| 165 | + } else { |
| 166 | + finalName = finalPackageName + "/" + className; |
| 167 | + } |
| 168 | + ObfEnv.classNameObfMapping.put(originalName, finalName); |
| 169 | + } |
| 170 | + } |
172 | 171 | } |
173 | | - |
| 172 | + |
174 | 173 | if (originalName.equals(ObfEnv.MAIN_CLASS)) { |
175 | 174 | ObfEnv.NEW_MAIN_CLASS = finalName.replace("/", "."); |
176 | 175 | logger.info("new main: {}", ObfEnv.NEW_MAIN_CLASS); |
|
0 commit comments