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;
String data = getData(url);
if (Json.valid(data)) return data;
if (key.length() > 0) return ecb(data, key);
if (data.contains("**")) data = base64(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 {
@ -64,7 +81,7 @@ public class Decoder {
return (key + "0000000000000000".substring(key.length())).getBytes(StandardCharsets.UTF_8);
}
public static byte[] decodeHex(String hexString) {
return BaseEncoding.base16().decode(hexString.toUpperCase());
public static byte[] decodeHex(String s) {
return BaseEncoding.base16().decode(s.toUpperCase());
}
}

@ -65,7 +65,7 @@ public class JarLoader {
public void parseJar(String key, String jar) {
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];
if (md5.length() > 0 && FileUtil.equals(jar, md5)) {
load(key, FileUtil.getJar(jar));

Loading…
Cancel
Save