Fix decode bug

pull/137/head
FongMi 3 years ago
parent 31d4cee853
commit 221a8d82ba
  1. 25
      app/src/main/java/com/fongmi/android/tv/api/Decoder.java
  2. 2
      app/src/main/java/com/fongmi/android/tv/api/JarLoader.java

@ -20,10 +20,27 @@ public class Decoder {
url = url.contains(";") ? url.split(";")[0] : url; url = url.contains(";") ? url.split(";")[0] : url;
String data = getData(url); String data = getData(url);
if (Json.valid(data)) return data; if (Json.valid(data)) return data;
if (key.length() > 0) return ecb(data, key);
if (data.contains("**")) data = base64(data); if (data.contains("**")) data = base64(data);
if (data.startsWith("2423")) data = cbc(data); if (data.startsWith("2423")) data = cbc(data);
return data.replace("###", ""); if (key.length() > 0) data = ecb(data, key);
return data;
}
public static String getExt(String ext) {
try {
return base64(OKHttp.newCall(ext.substring(4)).execute().body().string());
} catch (Exception ignored) {
return "";
}
}
public static void getSpider(String jar) {
try {
String data = OKHttp.newCall(jar.substring(4)).execute().body().string();
data = data.substring(data.indexOf("**") + 2);
FileUtil.write(FileUtil.getJar(jar), Base64.decode(data, Base64.DEFAULT));
} catch (Exception ignored) {
}
} }
private static String getData(String url) throws Exception { private static String getData(String url) throws Exception {
@ -64,7 +81,7 @@ public class Decoder {
return (key + "0000000000000000".substring(key.length())).getBytes(StandardCharsets.UTF_8); return (key + "0000000000000000".substring(key.length())).getBytes(StandardCharsets.UTF_8);
} }
public static byte[] decodeHex(String hexString) { public static byte[] decodeHex(String s) {
return BaseEncoding.base16().decode(hexString.toUpperCase()); return BaseEncoding.base16().decode(s.toUpperCase());
} }
} }

@ -65,7 +65,7 @@ public class JarLoader {
public void parseJar(String key, String jar) { public void parseJar(String key, String jar) {
String[] texts = jar.split(";md5;"); String[] texts = jar.split(";md5;");
String md5 = jar.startsWith("http") && texts.length > 1 ? texts[1].trim() : ""; String md5 = !jar.startsWith("file") && texts.length > 1 ? texts[1].trim() : "";
jar = texts[0]; jar = texts[0];
if (md5.length() > 0 && FileUtil.equals(jar, md5)) { if (md5.length() > 0 && FileUtil.equals(jar, md5)) {
load(key, FileUtil.getJar(jar)); load(key, FileUtil.getJar(jar));

Loading…
Cancel
Save