「来源:|Python爬虫与数据挖掘ID:crawler_python」
回复“资源”即可获赠Python学习资料
今
日
鸡
汤
烟笼寒水月笼沙,夜泊秦淮近酒家。
大家好,我是皮皮。前几天给大家分享jsrpc的介绍篇,Python网络爬虫之js逆向之远程调用(rpc)免去抠代码补环境简介,感兴趣的小伙伴可以戳此文前往。
今天给大家来个jsrpc实战教程,让大家加深对jsrpc的理解和认识。下面是具体操作过程,不懂的小伙伴可以私我。
1、对Cookie进行hook,需要在浏览器的控制台输入命令Object.defineProperty(document,cookie,{set:function(a){debugger}})
2、之后点击下一页,进入debug模式
3、依次点击右边的CallStack内的东西,直到找到加密函数,里边的值对应请求参数即可判定。
4、之后可以在控制台输入指令window.dcpeng=ct.update,其中ct.update为加密函数。注意:这个地方挺重要的,很多时候我们会写成ct.update(),这样会有问题!加了括号就是赋值结果,没加就是赋值整个函数!千差万别。
5、关闭网页debug模式。注意:这个地方挺重要的,很多时候如果不关闭,ws无法注入!
6、此时在本地双击编译好的文件win64-localhost.exe,启动服务。
7、之后在控制台注入ws,即将JsEnv.js文件中的内容全部复制粘贴到控制台即可(注意有时要放开断点)。
8、连接通信,在控制台输入命令vardemo=newHlclient(ws://.0.0.1:/ws?group=vname=test);
9、随后继续输入命令:
//注册一个方法第一个参数get_v为方法名,//第二个参数为函数,resolve里面的值是想要的值(发送到服务器的)//param是可传参参数,可以忽略demo.regAction(get_v,function(resolve,param){//varc=好困啊+param;varc=dcpeng();resolve(c);})
10、之后就可以在浏览器中访问数据了,打开网址