1. url: https://www.qimingpian.cn/finosda/project/pinvestment

2. target:

3. 简单分析

3.1 打开调试窗口,刷新页面,看看都有哪些请求,哪些跟所需数据有关。于是找到了如下:

两个ajax请求,他们都有一个加密的参数 “encrypt_data”,初步判断,这两个,或者其中一个就是我们需要的数据。为什么?猜的。

3.2 用这个加密的参数去全局搜索,在一个名为“app****.js”的js文件中找到了几个匹配的地方。

在附近打上断点看看。

3.3 看到这里,有点像我想要找的东西,把它拿出来到console中执行一下:

果然,就是它。下面,我们就看看它的解密过程。

3.4 看看它用到了哪些函数:

3.5 将所需js函数提取出来,稍微处理下,保存到本地js文件中,如下:

一共就三个js函数:

3.6 使用execjs执行一下,代码:

import execjs
import json encrypt_data = '**' with open('test.js') as f:
js_encrypt = f.read() ctx = execjs.compile(js_encrypt)
result = ctx.call('result',encrypt_data)
print(result)
json_data = json.loads(result)
print(json_data)

结果:

其实js加密的网站,不像我以前想象中那么复杂。但凡加密,不管从服务器端怎么传输过来,客户端想要能够正常浏览,必定会把解密过程也给传过来。

js加密(三)企名片的更多相关文章

  1. Python 爬虫js加密破解(三) 百度翻译 sign

    第一步: 模拟抓包分析加密参数 第二步: 找到加密字段 调试出来的sign和抓取得到的数据一致,都是 275626.55195 第三部: 分析js加密方法 第四部:运行js代码: 仅供交流学习使用

  2. RSA前台js加密,后台C#解密

    一.需求: 为了安全,项目中前台登陆用的密码需要加密传到后台,后台c#解密登陆密码. 二.解决方案 采用非对称加密算法RSA来达到目的,前台登陆页面一加载便发送一次ajax请求获取后台产生的公钥,用于 ...

  3. AES加密解密——AES在JavaWeb项目中前台JS加密,后台Java解密的使用

    一:前言 在软件开发中,经常要对数据进行传输,数据在传输的过程中可能被拦截,被监听,所以在传输数据的时候使用数据的原始内容进行传输的话,安全隐患是非常大的.因此就要对需要传输的数据进行在客户端进行加密 ...

  4. 爬虫破解js加密(一) 有道词典js加密参数 sign破解

    在爬虫过程中,经常给服务器造成压力(比如耗尽CPU,内存,带宽等),为了减少不必要的访问(比如爬虫),网页开发者就发明了反爬虫技术. 常见的反爬虫技术有封ip,user_agent,字体库,js加密, ...

  5. 当爬虫遇到js加密

    当爬虫遇到js加密 我们在做python爬虫的时候经常会遇到许多的反爬措施,js加密就是其中一种. 破解js加密的方法也有很多种: 1.直接驱动浏览器抓取数据,无视js加密. 2.找到本地加密的js代 ...

  6. JS加密库

    作者声明:本博客中所写的文章,都是博主自学过程的笔记,参考了很多的学习资料,学习资料和笔记会注明出处,所有的内容都以交流学习为主.有不正确的地方,欢迎批评指正 本文主要是参考aicoder马伦老师的博 ...

  7. Python爬虫教程-16-破解js加密实例(有道在线翻译)

    python爬虫教程-16-破解js加密实例(有道在线翻译) 在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签 ...

  8. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

  9. python爬虫爬小说网站涉及到(js加密,CSS加密)

    我是对于xxxx小说网进行爬取只讲思路不展示代码请见谅 一.涉及到的反爬 js加密 css加密 请求头中的User-Agent以及 cookie 二.思路 1.对于js加密 对于有js加密信息,我们一 ...

随机推荐

  1. A函数跨区域

    ODerController.class.php内容如下 1 <?php /* * To change this license header, choose License Headers i ...

  2. 小sun的假期【牛客】

    链接:https://ac.nowcoder.com/acm/contest/1085/A来源:牛客网 应肖老师要求前来更新水一水 题目描述 小 sun 非常喜欢放假,尤其是那种连在一起的长假,在放假 ...

  3. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(6.15)-- 写命令

    6.15 Write command 写命令 写命令写数据和元数据,如果适用介质,发到逻辑块相应的I/O controller.主机也可以指定保护信息,作为操作的一部分包含进来. 命令用Command ...

  4. Spark Streaming:updateStateByKey报错 is not applicable for the arguments...

    ones.updateStateByKey(new Function2<List<Integer>, Optional<Integer>, Optional<Int ...

  5. Tomcat启动命令行窗口中文乱码

    找到Tomcat安装目录conf/logging.properties文件 添加语句:java.util.logging.ConsoleHandler.encoding = GBK 重启Tomcat

  6. 其他 - PotPlayer - 基础快捷键总结

    概述 尝试使用 potplayer 的快捷键 背景 最近需要反复看录像 回看 慢速 其他各种 没错, 我的需求就是 游戏复盘... 环境 os win10.1903 player potplayer. ...

  7. URLSearchParams/FormData

    一.URLSearchParams()(很好用,但有一定兼容问题,未来版本的浏览器中该功能的语法和行为可能随对应的标准文档而改变.) URLSearchParams 接口定义了一些实用的方法来处理 U ...

  8. RN开发-JSX基础语法

    1.环境        react.js        react-dom.js        browser.min.js(解码器)        2.载入方式        内联.外联       ...

  9. C3P0连接技术

    1.导入jar包(两个) c3p0-0.9.5.2.jar和mchange-commons-java-0.2.12.jar导入数据库驱动jar包 2.定义配置文件 配置文件名称:c3p0.proper ...

  10. 巨杉Tech|SequoiaDB 巨杉数据库高可用容灾测试

    数据库的高可用是指最大程度地为用户提供服务,避免服务器宕机等故障带来的服务中断.数据库的高可用性不仅仅体现在数据库能否持续提供服务,而且也体现在能否保证数据的一致性. SequoiaDB 巨杉数据库作 ...