企知道爬取专利信息实战复盘

网页链接:企知道专利检索平台-免费查询专利,一键生成专利分析报告

概要

本文对企知道js逆向解码混淆数据的实战经历进行完整的复盘与经验总结

整体实现流程

  1. 检索响应数据来源:查看网页源代码未发现写死的数据,说明数据是动态加载。在xhr页面寻找过后发现search下有大批量数据加载。
  2. 寻找解密算法:笔者先尝试跟堆栈,未果。主要原因是网页中太多接口都走的同一个接口,而网页中debug时间过长会直接产生网页超时的报错。此外,跟堆一直没有找到带数据的参数,被迫只能放弃跟堆的想法。
    最终采取直接搜索encrypt与decrypt的方式“凑巧”找到了解密算法,满足之前已经破解过的AES算法。扒下来拿到js中补环境。调用了crypto-js库,很轻松的完成了全部环境的补充。c的值并非固定写死,查看后发现c来源于列表e和索引值hasUse。而hasUse实际上是我们post请求之后提供的其中一个参数,那么只需要让py文件Post之后传入密文数据以及索引值hasUse即可。
  3. 细节完善。采用curlconverter快速转换search之后得到了响应数据,使用pyexecjs进行js的调用i方法进行解密即可。此时产生的问题是出现了“AttributeError: ‘NoneType‘ object has no attribute ‘replace‘”的问题,感谢来自https://blog.csdn.net/weixin_40812944/article/details/136132744的大佬提供的解决方案。pyexecjs是一个并不完善的库,而且现在也不再维护了,推荐大家还是安装pyExecJS2这个库更好些。这里报错的原因是因为pyexecjs调用时的默认编码是cp936,一种Gbk编码,我们引用subprocess模块让它编码改为encoding就解决问题啦~

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
测试复盘(Test Retrospective)是软件测试项目中的一项重要活动,旨在回顾和评估测试过程和结果,以提高测试质量和效率。在测试复盘中,一般会复盘以下方面: 1. 测试目标和范围:回顾测试过程中设定的测试目标和范围,评估是否达到了预期的测试目标,并确定是否需要调整或细化测试范围。 2. 测试计划和策略:评估测试计划和策略的有效性,包括测试用例设计方法、测试环境的搭建、测试数据的准备等,确定是否需要进行改进或调整。 3. 测试执行过程:回顾测试执行过程,包括测试用例的执行情况、缺陷发现和修复的效率等,识别测试执行中的问题和挑战,并提出改进措施。 4. 缺陷管理:评估缺陷管理过程的效果,包括缺陷发现、报告、分析和跟踪的流程和工具,确定是否需要优化缺陷管理流程。 5. 测试工具和技术:评估使用的测试工具和技术的效果,包括自动化测试工具、性能测试工具等,确定是否需要更新或改进工具和技术的选择和使用。 6. 测试团队协作:评估测试团队的协作和沟通效果,包括团队合作、知识分享和问题解决等方面,确定是否需要加强团队协作和沟通。 7. 测试结果和质量:回顾测试结果和质量指标,包括通过的测试用例比例、发现的缺陷数量和严重性等,确定是否达到了预期的质量目标,并提出改进建议。 测试复盘的目的是识别问题、总结经验、改进流程,以提高测试的效率和质量。通过对测试过程的全面复盘,可以帮助团队发现问题并采取相应措施,从而不断改进和提升测试工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值