国密获取数据思路(RPC、非扣代码)




加密header:



加密parm:





如果逆向的话显然会非常的麻烦,但是数据要的有比较急,所以采用RPC的方式来进行获取

1.hook到明文位置

(function() {

    var parse = JSON.parse;

    JSON.parse = function(params) {

        console.log("Hook JSON.parse ——> ", params);

        debugger;

        return parse(params);

    }

})();




然后重新加载一下代码:



多走几次直到明文位置:




这就找到了,然后点击前面的那个栈找到对应的函数



这个就是返回的数据,你需要在这个前面进行输出这个i,输出到你能看到的地方



替换内容,选择你的本地目录进行替换内容

插入我的RPC:

[JavaScript] 纯文本查看 复制代码
 (function() {
                        var ws = new WebSocket("ws://127.0.0.1:8080")
                        ws.onmessage = function(evt) {
                        console.log("收到消息:" + evt.data);
                        if (evt.data == "exit") {
                            wx.close();
                        } else {
                            ws.send(i);
                            console.log(i);
                        }
                        }
                        }
                        )();


这样就可以了
打开我的服务端:
[Python] 纯文本查看 复制代码
import asyncio
import json

import websockets

# from crawl_par import receive_message2
number = 0
records = []
import pandas as pd

def count():
    global number
    number += 1
    print(f'第{number}页')
    return number

async def receive_message(websocket):
    global number, records
    all_data = []
    await websocket.send("ss")
    response_text = await websocket.recv()
    response_text = json.loads(response_text)
    for item in response_text['list']:
        record = {
            'medinsTypeName': item.get('medinsTypeName', ''),
            'medinsLvName': item.get('medinsLvName', ''),
            'medinsName': item.get('medinsName', ''),
            'addr': item.get('addr', ''),
            '所属地': '四川省'
        }
        records.append(record)
    # print(all_data)
    number = count()
    if number == 257:
        # 输出到 Excel
        df = pd.DataFrame(records)
        # df['序号'] = range(1, len(records) + 1)
        df.to_excel(f'output_province/四川省.xlsx', index=False)
        print("数据已成功导出到output.xlsx")

start_server = websockets.serve(receive_message, "127.0.0.1", 8080)

asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()


启动服务器
然后重新加载一下网站

你点的第几页,爬取的就是第几页,这个使用按键精灵点击下一页即可,也是挺快的,简单 一点

关于20240719微软全球蓝屏事件的解决小工具 V1.02

VCamera虚拟相机去除国区限制破解VIP

获取更多资讯请加入交流群


    协助本站SEO优化一下,谢谢!
    关键词不能为空
评 论
更换验证码