公司的报工系统PowerProject自动报工

本文讲述了作者在面对公司使用PowerProject报工系统的不便时,如何通过抓包分析,利用Java进行自动化登录和验证码识别,最终实现自动报工的过程。涉及到的技术包括RSA加密、验证码识别库tess4j的使用以及模拟HTTP请求。
摘要由CSDN通过智能技术生成

公司项目管理系统用的PowerProject,不懂这玩意用的公司多不多,反正我觉得挺难用的
报工页面让我极其难受,点个报工条目要等半天,所以决定抓个包看一下http请求直接用代码跑
要搞个自动报工,那自然登录啥的也得安排上,不然怎么算自动报告。
所以第一步咱们先做登录。
话不多说反正先F12登录界面
 


盲猜一下登录url可能是 login?user=xxx&password=xxx
抓个包试


果然没那么简单,好家伙密码和验证码竟然都做了加密,这长度,反正不是初学做业务系统时喜欢用的md5加密,而且还得传验证码,靠,以前老师不是说验证码就是用来页面上验证的吗,怎么要传到后台了
该不会死在这一步了吧。
偷看了一眼登录的源码
 


好的这该死的用的是rsa加密,似乎只需要一个公钥,果断打上断点看看公钥是啥
 


搞到公钥了,而且从源码上看,他用公钥对验证码和密码都做了加密。
加密算法搞到了,登录请求也搞到了,现在登录请求还差一个参数,就是验证码,这狗东西咋整。
继续抓包试试
 


点了一下验证码,果然,这tm也是像后台请求的。
懂了,这玩意就是跟这次登录会话绑定的
行吧,那我的还得搞的验证码自动识别呗,而且全是数字的验证码看起来简答 #本想自己训练一个出来,直到我在百度找到了一个验证码识别模块,直接用呗
 

<!-- tess4j用于识别验证码-->
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>4.4.0</version>
</dependency>


tess4j直接安排上
当然这玩意要附带他训练好的模型

public class ValidCode {

private ITesseract instance;

/**
* [url=home.php?mod=space&uid=952169]@Param[/url] languagePath 语言库地址
* @param language 语言,语言库文件的开头
*/
public ValidCode(String languagePath, String language) {
instance = new Tesseract();
//设置训练库的位置
instance.setDatapath(languagePath);
//chi_sim :简体中文, eng 根据需求选择语言库
instance.setLanguage(language);
}

public String ocr(String path) {
File file = n
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值