java + selenium无头浏览器使用及网站破解、逆向步骤

本文介绍了三种破解网站的策略:直接执行登录或加密函数,封装并调用JS签名加密方法,以及将混淆的JS代码转换为Java或Python代码,利用JS引擎或无头浏览器执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网站破解方法(三种)

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

  • 第一种:找到登录触发或者加密入口,直接在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.com/");
JavascriptExecutor javaExecutor = ((JavascriptExecutor) driver);
String result = javaExecutor.executeScript("return encrypt('参数1','参数2')");

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

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

maven

<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
		</dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值