python-js逆向人人网登录
python-js逆向人人网登录
- 一项目准备
- 二项目分析
- 三 简易代码分享
一项目准备
环境:win10, python3.7
开发工具:pycharm
所需工具包:requests,js2py
目标网址链接: 人人网
二项目分析
获取目标的登录信息
发现手机端的数据比web端的数据更简洁,抓包跟换成手机端的
不要在一棵树上吊死
找到登录页面
输入账号密码(最好是先输入错误的)抓取到登录的数据接口
接口网址:http://activity.renren.com/livecell/ajax/clog
请求方法:post
请求参数
准备开始搬砖
phoneNum 是账号
password是加密的
rkey是变化的
查找password的生成方法
得出两个数据的来源
解读js代码
rkey是由js请求的到的json数据 需要想对rkey进行请求
import requests # 发送请求的工具包# 获取到网站的cookie 实现状态保存
session = requests.session()session.headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Mobile Safari/537.36'
}
response = session.get('http://activity.renren.com/livecell/rKey').json()
print(response)
n = response["data"]
setMaxDigits,RSAKeyPair,encryptedString 来自于不同的js文件
需要将这3个js文件代码加载到js环境
确定关键的js代码
以及js代码需要传递的参数
t = {"password": account.password
}
but_js = session.get('http://s.xnimg.cn/a85738/wap/mobile/wechatLive/js/Barrett.js').content.decode()
big_js = session.get('http://s.xnimg.cn/a85738/wap/mobile/wechatLive/js/BigInt.js').content.decode()
rsa_js = session.get('http://s.xnimg.cn/a85738/wap/mobile/wechatLive/js/RSA.js').content.decode()# 创建js对象
js_ven = js2py.EvalJs()js_ven.execute(big_js)
js_ven.execute(rsa_js)
js_ven.execute(but_js)
js_ven.n = n
js_ven.t = tdata_js = """t.password = t.password.split("").reverse().join(""),setMaxDigits(130);var o = new RSAKeyPair(n.e,"",n.n), r = encryptedString(o, t.password);"""
js_ven.execute(data_js)
print(js_ven.r)
三 简易代码分享
本文章只提供学习,切勿用在其他用途
import js2py # 讲js代码转换成python能运行的
import account
import requests # 获取到网站的cookie 实现状态保存
session = requests.session()session.headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Mobile Safari/537.36'
}
response = session.get('http://activity.renren.com/livecell/rKey').json()
print(response)
n = response["data"]
t = {"password": account.password
}
but_js = session.get('http://s.xnimg.cn/a85738/wap/mobile/wechatLive/js/Barrett.js').content.decode()
big_js = session.get('http://s.xnimg.cn/a85738/wap/mobile/wechatLive/js/BigInt.js').content.decode()
rsa_js = session.get('http://s.xnimg.cn/a85738/wap/mobile/wechatLive/js/RSA.js').content.decode()# 创建js对象
js_ven = js2py.EvalJs()js_ven.execute(big_js)
js_ven.execute(rsa_js)
js_ven.execute(but_js)
js_ven.n = n
js_ven.t = tdata_js = """t.password = t.password.split("").reverse().join(""),setMaxDigits(130);var o = new RSAKeyPair(n.e,"",n.n), r = encryptedString(o, t.password);"""
js_ven.execute(data_js)
print(js_ven.r)data = {'phoneNum': account.phoneNum,'password': js_ven.r,'c1': '-100','rKey': n['rkey']
}url = "http://activity.renren.com/livecell/ajax/clog"
result = session.post(url, data=data)
print(result.text)
python-js逆向人人网登录相关推荐
- [Python] js逆向初探: 某麦榜单
系列文章目录 [Python] js逆向初探: 某麦榜单 文章目录 系列文章目录 免责声明 前言 分析 通用的抓包方法... 偷懒作弊的抓包方法 万恶之源 总结 免责声明 本篇文章仅用学习交流和日常记 ...
- JS逆向steam登录
JS逆向steam登录 前言: 我们爬虫有时候,会遇到登录才能获取到数据的情况,最开始的时候我们只需要加入请求的data参数就可以,可是现在网站为了反爬,对登录的密码或者账号都做了加密处理,如果我们不 ...
- Python JS逆向篇(二)有道翻译
Python JS逆向篇(二)有道翻译 逆向sign参数 js实现 py实现 解密返回结果 js实现 py未实现 实战 逆向主题:有道翻译sign参数及解密返回结果. (注:文章所涉及内容只做学习参考 ...
- python爬虫 房天下js逆向模拟登录
js逆向学习后跟着教程第一次实战.目标链接 这次用到的是requests和execjs,execjs主要是用来执行js代码,win系统直接在命令行pip install execjs安装就ok了. 网 ...
- Python爬虫进阶之JS逆向国航登录
查看全文 http://www.taodudu.cc/news/show-3320266.html 相关文章: selenium模拟国航滑块验证码 ps制成底色.盖印图层的快捷键.液化快捷键 Phot ...
- Python JS逆向实战项目:某咕视频逆向分析 攻破~~
文章目录 目标:实现咪咕视频登录 逆向探究 成果展示 源码 更多优质文章尽在,点我 本文仅供学习参考,如有侵权请联系删除!!! 声明:本文不是什么手把手非常细致的教学,可能需要有点经验的,当然了,小白 ...
- Python - JS逆向破解实现翻译软件
首先先通过POST请求向翻译网页发送请求,获取到返回的json数据 import requestsurl = "https://fanyi.youdao.com/translate_o?sm ...
- python爬虫,人人网登录
coding=utf-8 """ author:lei function: """ import requests import js2py ...
- 人人网登录并写留言板(Requests,js逆向)
一.简介 主要实现人人网登录以及发布留言板信息 requests js逆向 二.实现过程 2.1 登录(案例使用账号为18888888888 密码123456 后面成功登录使用的是自己的账号) 登录链 ...
最新文章
- IDEA 自动生成 serialVersionUID
- 【面试题】百度糯米java工程师面试
- android软键盘控制
- 【音乐拼接】WAV格式
- 微信小程序 canvas API
- 由浅入深了解统计机器翻译模型
- 万王之王显示服务器尚未对外开放,《万王之王3》公测5月26日火爆开启 姚星彤性感代言...
- win7去掉桌面快捷方式小箭头
- 调出cmd输入时的光标
- 洗料系列-编程语言专题-Java 19【线程×,协程√】
- 程序员进阶神器,ProcessOn绘制时序图
- 算法设计与分析(十四)
- 某工控图片上传服务 CPU 爆高分析
- 二本本科,银行外包开发工作 4 个月有余。聊聊外包公司工作的一些真实感受!...
- heaps 和 priority queue堆和优先队列的定义和数据结构表示
- YOLO V6系列(一) -- 跑通YOLO V6算法
- 火狐怎么导入旧的火狐数据_Firefox很棒
- 游戏行业比影视行业哪个更有前景?来看数据说话!
- 交叉引用跳转不到后面_参考文献的作用与正确引用避免查重
- 【批处理脚本】-1.5-目录切换命令cd