admin管理员组

文章数量:1534194

网站破解方法(三种)

说实在的,其实就是一种方法嘛

  • 第一种:找到登录触发或者加密入口,直接在console控制台,直接执行这个函数把响应的参数传进去。
  • 第二种:同上找出对应签名加密的方法,把对应的JS抽取出来,封装一个入口函数。
  • 第三种:直接把混淆的JS全部按照自己的java、python代码写出来,整合到自己的爬虫项目中

利用JAVA的JS引擎去执行js代码(适用于没有浏览器对象的如Window等)

伪代码

ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
FileReader reader = new FileReader("解密或签名js路径");
scriptEngine.eval(reader);
Invocable invoke = (Invocable)scriptEngine;
Object result = invoke.invokeFunction("decrypt", "参数1","参数2");

利用无头浏览器执行js函数(适用有浏览器对象的如Window等)

利用selenium WebDriver打开有加密或签名的页面。利用无头浏览器执行js函数。具体配置参数请Google

System.setProperty("webdriver.chrome.driver", "webdriver路径");
WebDriver driver = new ChromeDriver(chromeOptions);
driver.get("https://www.baidu/");
JavascriptExecutor javaExecutor = ((JavascriptExecutor) driver);
String result = javaExecutor.executeScript("return encrypt('参数1','参数2')");

这样既可返回对应的结果。速度也还可以,每次只需执行函数既可,无需重新打开页面

利用无头浏览器的便利性,只做容易的事,各司其职

maven

<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
		</dependency>

本文标签: 无头步骤浏览器网站Java