在爬取 91porn 的数据时,获取资源的播放地址,拿到的是一串 js 代码,执行了一个解密的方法,参数是密文
strencode 方法在这个文件中
代码是加密过得,我们可以直接执行这个方法,并不需要去明白其中的算法
解密 js 代码下载
以下是 Java 版本执行 js 方法的代码,首先把下载好的 js 文件粘贴至 src 目录下
public interface JavaScriptInterface{
//这里定义js中需要执行的方法名称及参数(方法名需要与js文件中一致)
public String strencode(String str1 , String str2 ,String str3);
}
public String strencode(String str1 , String str2 ,String str3) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
try {
InputStream stream = getClass().getClassLoader().getResourceAsStream("91pron.js");
BufferedReader br = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
engine.eval(br);
} catch (ScriptException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
if (engine instanceof Invocable) {
Invocable invocable = (Invocable) engine;
JavaScriptInterface executeMethod = invocable.getInterface(JavaScriptInterface.class);
return executeMethod.strencode(str1 , str2 , str3);
}
throw new RuntimeException("解密失敗");
}
最后的结果
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于