|
11 | 11 | import java.io.InputStreamReader; |
12 | 12 | import java.io.UnsupportedEncodingException; |
13 | 13 | import java.nio.file.Files; |
| 14 | +import java.util.ArrayList; |
14 | 15 | import java.util.Map; |
15 | 16 |
|
16 | 17 | public class Core { |
17 | 18 |
|
18 | 19 | static BufferedWriter writer = null; |
| 20 | + static String module = null; |
| 21 | + static String variant = null; |
| 22 | + |
| 23 | + final String TAG = "obfuscator-script"; |
19 | 24 |
|
20 | 25 | public static void main(String[] args) { |
21 | 26 |
|
22 | 27 | String xml = ""; |
23 | 28 | System.out.println(":obfuscator-script: -----------------------------------------------------------------------------"); |
24 | 29 | System.out.println(":obfuscator-script: v0.4 --- bugs or improvements to https://github.com/efraespada/AndroidStringObfuscator/issues"); |
25 | 30 | System.out.println(":obfuscator-script: -----------------------------------------------------------------------------"); |
26 | | - |
27 | 31 |
|
28 | | - |
29 | | - try { |
30 | | - |
31 | | - Runtime.getRuntime().exec("chmod +x ../gradlew"); |
32 | | - |
33 | | - // or gradlew.bat assembleDebug (windows) |
34 | | - |
35 | | - InputStream is = Runtime.getRuntime().exec("../gradlew signingReport").getInputStream(); |
36 | | - InputStreamReader isr = new InputStreamReader(is); |
37 | | - BufferedReader buff = new BufferedReader (isr); |
38 | | - |
39 | | - String line; |
40 | | - String trace = ""; |
41 | | - while((line = buff.readLine()) != null) { |
42 | | - trace += line + "\n"; |
43 | | - System.out.println(line); |
44 | | - } |
45 | | - |
46 | | - System.out.println(trace); |
47 | | - } catch (IOException e2) { |
48 | | - e2.printStackTrace(); |
49 | | - } |
50 | | - |
51 | | - if (args.length != 2) { |
52 | | - System.out.println(":obfuscator-script: -> params [xml_file_name] [SHA1_fingerprint_app]"); |
| 32 | + if (args.length != 3) { |
| 33 | + System.out.println(":obfuscator-script: -> params [xml_file_name] [variant] [module]"); |
53 | 34 | System.exit(0); |
54 | 35 | return; |
55 | 36 | } |
56 | | - String key = ""; |
| 37 | + |
57 | 38 | String file = ""; |
58 | 39 |
|
59 | 40 | for (int i = 0; i < args.length; i++) { |
60 | | - if (i == 0) file = args[i]; |
61 | | - if (i == 1) key = args[i]; |
| 41 | + if (i == 0) |
| 42 | + file = args[i]; |
| 43 | + else if (i == 1) |
| 44 | + variant = args[i]; |
| 45 | + else if (i == 2) |
| 46 | + module = args[i]; |
62 | 47 | } |
63 | 48 |
|
| 49 | + String key = getKey(variant, module); |
| 50 | + |
64 | 51 | File jarFile = new File("."); |
65 | 52 |
|
66 | 53 | String inputFilePath = jarFile.getAbsolutePath().replace(".", "") + file; |
@@ -183,4 +170,62 @@ public static String extrac(String val) { |
183 | 170 | val = val.substring(0, val.indexOf("</string>")); |
184 | 171 | return val; |
185 | 172 | } |
| 173 | + |
| 174 | + public static String getKey(String variant, String module) { |
| 175 | + String key = null; |
| 176 | + |
| 177 | + try { |
| 178 | + |
| 179 | + String cmd = ""; |
| 180 | + if (System.getProperty("os.name").contains("windows")) { |
| 181 | + cmd = "gradlew.bat"; |
| 182 | + } else { |
| 183 | + cmd = "gradlew"; |
| 184 | + Runtime.getRuntime().exec("chmod +x ../" + cmd); |
| 185 | + } |
| 186 | + |
| 187 | + InputStream is = Runtime.getRuntime().exec("../" + cmd + " signingReport").getInputStream(); |
| 188 | + InputStreamReader isr = new InputStreamReader(is); |
| 189 | + BufferedReader buff = new BufferedReader (isr); |
| 190 | + |
| 191 | + String line; |
| 192 | + String trace = ""; |
| 193 | + ArrayList<String> traces = new ArrayList<>() |
| 194 | + while((line = buff.readLine()) != null) { |
| 195 | + boolean result = parseTrace(module, variant, line); |
| 196 | + |
| 197 | + traces.add(e) |
| 198 | + trace += line + "\n"; |
| 199 | + System.out.println(line); |
| 200 | + } |
| 201 | + |
| 202 | + System.out.println(trace); |
| 203 | + } catch (IOException e2) { |
| 204 | + e2.printStackTrace(); |
| 205 | + return null; |
| 206 | + } |
| 207 | + |
| 208 | + return key; |
| 209 | + } |
| 210 | + |
| 211 | + /** |
| 212 | + * returns true if |
| 213 | + * @param moduleName |
| 214 | + * @param traces |
| 215 | + * @param variant |
| 216 | + * @return boolean |
| 217 | + */ |
| 218 | + public static boolean parseTrace(String moduleName, String variant, String line) { |
| 219 | + |
| 220 | + return false; |
| 221 | + } |
| 222 | + |
| 223 | + private static void print() { |
| 224 | + String var = ":undefined"; |
| 225 | + |
| 226 | + if (variant != null) |
| 227 | + var = variant; |
| 228 | + |
| 229 | + var += "" |
| 230 | + } |
186 | 231 | } |
0 commit comments