吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 25371|回复: 327
收起左侧

[原创工具] 【更新V2.0】葫芦侠3楼一键自动签到工具及源码(可云函数)

    [复制链接]
佚名RJ 发表于 2023-5-11 14:31
本帖最后由 佚名RJ 于 2023-6-15 11:04 编辑

写在前面

玩3楼的想必大家都被各版块签到所苦恼吧!今天分享的一键自动签到工具及源码就能快速解决你的问题啦!如有违规,请直接删帖。

软件介绍

葫芦侠3楼使用key一键自动签到的工具及源码,注释源码中的第31行,使用第32行并将_key填入,可云函数!
一键自动签到工具做了2秒延时,不建议太快,不然很容易签到异常!工具支持隐藏版块签到,目前共45个版块!

使用说明

在葫芦侠3楼输入用户名和密码然后去打开抓包工具后再回到葫芦侠再点击登录,登录成功后从抓包数据响应返回的用户信息中找_key字段输入到软件中即可!

使用需特别注意: 手机端退出账号再重新登录后_key会发生变化失效,抓包且挂云函数后手机端请勿退出账号!

实测截图

截图1.png 截图2.png

动态sign

生成方法:

cat_id+版块号+time+时间戳取值+fa1c28a5b62e79c3e63d9030b6142e4b   MD5后得动态sign   

举例说明:

cat_id1time1683352250925fa1c28a5b62e79c3e63d9030b6142e4b         MD5后得动态sign  30de847e271b50b342ae95fab5cdc4e4

动态sign解密及生成.png

工具及源码

重要提醒:注释第31行,使用第32行并将_key填入,可挂云函数使用!若转载或改进等请注明出处,谢谢!
很简单的一个工具,代码写的也不是很好,很多异常处理都没有加。若转载或改进等请注明出处,谢谢!

[电脑端]葫芦侠三楼一键签到V2.0:https://www.123pan.com/s/CPO7Vv-1W9r3.html 提取码:0000

[手机端]葫芦侠三楼一键签到V1.4: 也有,不符合版规,不分享!


[Python] 纯文本查看 复制代码
# -*- coding: UTF-8 -*-
"""
* @脚本作者: 佚名RJ
* @创建时间: 2023/06/15 10:14
* @目标地址:
* @软件版本: V2.0
* @脚本用途: 葫芦侠三楼使用_key一键签到的脚本
* @使用说明: 手机抓包获取葫芦侠三楼账号登录的_key参数,运行此脚本填入即可!
* @其它说明: 注释第31行,使用第32行并将_key填入,可挂云函数使用。

"""

import requests
import time
import hashlib
import os


# MD5加密
def md5(param):
    m = hashlib.md5()
    b = param.encode(encoding='utf-8')
    m.update(b)
    passwd_md5 = m.hexdigest()
    return passwd_md5


# 签到函数
def signin():
    # _key参数抓登录包获取
    _key = input("请输入抓包账号响应获取的_key:")
    # _key = ""
    print("============================开始签到请耐心等待============================")
    number = 0  # 成功计数
    continueDays = 0  # 连续签到天数
    experienceVal = 0  # 本次签到经验

    catid = {1, 2, 3, 4, 6, 15, 16, 21, 22, 23, 29, 34, 43, 44, 45, 56, 57, 58, 60, 63, 67, 68, 69, 70, 71, 76, 77, 81,
             82, 84, 90, 92, 94, 96, 98, 102, 105, 107, 108, 110, 111, 115, 119, 120, 121}
    # 每个版块的ID,包含隐藏版块ID
    # for i in range(1, 122):
    for i in catid:
        cat_id = str(i)
        # print(cat_id)

        # 获取时间戳
        time_s = str(time.time()).split(".")[0] + str(time.time()).split(".")[1][0:3]
        # print(time_s)   # 1683335343675

        # 无需device_code版本
        url = f"http://floor.huluxia.com/user/signin/ANDROID/4.1.8?platform=2&gkey=000000&app_version=4.2.0.5&versioncode=20141475&market_id=floor_web&_key={_key}&phone_brand_type=OP&cat_id={cat_id}&time={time_s}"

        # 使用split方法按照'&'字符分割URL
        params = url.split('&')
        # 遍历分割后的字符串列表,找到cat_id和time参数
        cat_id1 = None
        time1 = None
        for param in params:
            if 'cat_id' in param:
                cat_id1 = param.split('=')[1]
            elif 'time' in param:
                time1 = param.split('=')[1]

        # 将cat_id和time和不变的voice_code组合成一个字符串
        sign = md5('cat_id' + cat_id1 + 'time' + time1 + 'fa1c28a5b62e79c3e63d9030b6142e4b')
        # print("30de847e271b50b342ae95fab5cdc4e4")
        # print(sign)
        data = {
            "sign": sign  # 动态sign
        }
        headers = {
            "Accept-Encoding": "identity",
            "Host": "floor.huluxia.com",
            'User-Agent': 'okhttp/3.8.1',
            "Content-Type": "application/x-www-form-urlencoded",
            "Content-Length": "37"
        }
        response_res = requests.post(url=url, headers=headers, data=data)
        # 打印请求的url
        # print(response_res.request.url)
        # 打印请求的参数
        # print(response_res.request.body)
        # 打印请求后返回的结果
        # print(response_res.json())
        dic = response_res.json()
        # 获取签到的状态,状态:0为失败,1为成功。
        status = dic['status']
        tt = "\t"
        if status == 1:
            continueDays = dic['continueDays']  # 连续签到天数
            experienceVal = dic['experienceVal']  # 本次签到经验
            number += 1  # 每次签到成功就+1,最后记总成功次数。
            msg = f'版块ID为{cat_id}{tt}签到状态:成功{tt}获得{experienceVal}点经验/已连签{continueDays}天{tt}第{number}次签到成功!'
            # print(msg)
        else:
            msg = f'版块ID为{cat_id}{tt}签到状态:失败{tt}你的_key已失效或此版块可能已经不存在!'
        print(msg)
        time.sleep(2)  # 稍做延时,太快会异常。
    # 获取结果:累计连续签到天数及本次签到共获得多少经验点数。
    print(f"\n签到结果:此账号已连续签到{continueDays}天,此次签到共成功获{experienceVal * number}点经验!继续加油哦!")
    input("签到已完成!请按回车键结束...")


# main函数
def main():
    os.system("mode con cols=75 lines=40")  # 设置打开控制台大小
    print("============================原创作者:佚名RJ==============================")
    print("============================工具使用及抓包教程============================")
    print("在葫芦侠3楼输入用户名和密码然后去打开抓包工具后再回到葫芦侠再点击登录,登录")
    print("成功后从抓包数据响应返回的用户信息中找_key字段输入到软件中即可!")
    print("==============================使用需特别注意==============================")
    print("===========手机端每次退出账号再重新登录后_key会失效发生变化哦!===========")
    # 签到
    signin()


# 主函数调用
if __name__ == '__main__':
    main()

免费评分

参与人数 37吾爱币 +39 热心值 +35 收起 理由
muzixin520 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
caihuachaorou87 + 1 + 1 谢谢@Thanks!
xnink + 1 谢谢@Thanks!
mrag + 1 谢谢@Thanks!
vip_xiao_xie + 1 + 1 热心回复!
f193313 + 1 + 1 谢谢@Thanks!
a1067709136 + 1 + 1 谢谢@Thanks!
kkzdq + 1 + 1 热心回复!
yfy1998 + 1 + 1 谢谢@Thanks!
酒后勾大嫂 + 1 谢谢@Thanks!
123567a + 1 + 1 我很赞同!
catoo1 + 1 谢谢@Thanks!
Lemontea0 + 1 + 1 我很赞同!
YI0IX + 1 + 1 谢谢@Thanks!
z1352547 + 1 + 1 我很赞同!
manwu + 1 + 1 我很赞同!
PPXSSS + 1 + 1 我很赞同!
Yhy1334 + 1 我很赞同!
Windiii + 1 + 1 我很赞同!
renshaowei + 1 + 1 鼓励转贴优秀软件安全工具和文档!
adoudou + 2 + 1 热心回复!
大大连连 + 1 + 1 谢谢@Thanks!
CYLmtthhh + 1 + 1 我很赞同!
guoruihotel + 1 + 1 谢谢@Thanks!
chao8709 + 1 + 1 热心回复!
xuguowen + 1 + 1 热心回复!
爱的太迟 + 1 + 1 用心讨论,共获提升!
46490050 + 1 用心讨论,共获提升!
18696358796 + 1 鼓励转贴优秀软件安全工具和文档!
ind + 1 + 1 我很赞同!
薛家岗扛把子 + 1 + 1 我很赞同!
waksy + 1 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wanfon + 1 + 1 热心回复!
cnngtc + 2 + 1 我很赞同!
Thx2 + 1 用心讨论,共获提升!
鸭鸭鸭? + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

清欢吖 发表于 2023-5-12 09:32
根据楼主的代码 添加了登录部分

[Python] 纯文本查看 复制代码
# -*- coding: UTF-8 -*-
"""
* @脚本作者: 佚名RJ
* @创建时间: 2023/05/11 10:17
* @目标地址:
* @软件版本: V1.0
* @脚本用途: 葫芦侠三楼使用_key一键签到的脚本
* @使用说明: 手机抓包获取葫芦侠三楼账号登录的_key参数,运行此脚本填入即可!
* @其它说明: 注释第31行,使用第32行并将_key填入,可挂云函数使用。

"""

import requests
import time
import hashlib
import os
import json


# MD5加密密码
def md5(param):
    m = hashlib.md5()
    b = param.encode(encoding='utf-8')
    m.update(b)
    passwd_md5 = m.hexdigest()
    return passwd_md5

# 签到函数
def signin():
    #登录获取key
    username = '' #手机号
    password = '' #密码
    # 获取密码md5
    password = hashlib.md5(password.encode('utf-8')).hexdigest()
    #sign计算
    sign = "account" + username + "device_code[d]b305cc73-8db8-4a25-886f-e73c502b1e99password" + password + "voice_codefa1c28a5b62e79c3e63d9030b6142e4b"
    sign = hashlib.md5(sign.encode('utf-8')).hexdigest()
    #提交地址
    url = "http://floor.huluxia.com/account/login/ANDROID/4.1.8?platform=2&gkey=000000&app_version=4.2.1.6.1&versioncode=367&market_id=tool_web&_key=&device_code=%5Bd%5Db305cc73-8db8-4a25-886f-e73c502b1e99&phone_brand_type=VO"
    #登录提交数据
    data = {
    'account': username,
    'login_type': '2',
    'password': password,
    'sign': sign}
    #协议头
    headers = {"User-Agent": "okhttp/3.8.1"}
    #请求访问
    retu = requests.post(url=url, data=data, headers=headers)
    retu.encoding = retu.apparent_encoding
    #json解析
    login_json = json.loads(retu.text)
    #提取key数据
    _key = login_json['_key']
    # _key参数抓登录包获取
    # _key = input("请输入抓包账号响应获取的_key:")
    # _key = ""
    print("============================开始签到请耐心等待============================")
    number = 0  # 成功计数
    continueDays = 0  # 连续签到天数
    experienceVal = 0  # 本次签到经验

    # 每个版块的ID,包含隐藏版块ID
    for i in range(1, 122):
        cat_id = str(i)
        # print(cat_id)

        # 获取时间戳
        time_s = str(time.time()).split(".")[0] + str(time.time()).split(".")[1][0:3]
        # print(time_s)   # 1683335343675

        # 无需device_code版本
        url = f"http://floor.huluxia.com/user/signin/ANDROID/4.1.8?platform=2&gkey=000000&app_version=4.2.0.5&versioncode=20141475&market_id=floor_web&_key={_key}&phone_brand_type=OP&cat_id={cat_id}&time={time_s}"

        # 使用split方法按照'&'字符分割URL
        params = url.split('&')
        # 遍历分割后的字符串列表,找到cat_id和time参数
        cat_id1 = None
        time1 = None
        for param in params:
            if 'cat_id' in param:
                cat_id1 = param.split('=')[1]
            elif 'time' in param:
                time1 = param.split('=')[1]

        # 将cat_id和time和不变的voice_code组合成一个字符串
        sign = md5('cat_id' + cat_id1 + 'time' + time1 + 'fa1c28a5b62e79c3e63d9030b6142e4b')
        # print("30de847e271b50b342ae95fab5cdc4e4")
        # print(sign)
        data = {
            "sign": sign  # 动态sign
        }
        headers = {
            "Accept-Encoding": "identity",
            "Host": "floor.huluxia.com",
            'User-Agent': 'okhttp/3.8.1',
            "Content-Type": "application/x-www-form-urlencoded",
            "Content-Length": "37"
        }
        response_res = requests.post(url=url, headers=headers, data=data)
        # 打印请求的url
        # print(response_res.request.url)
        # 打印请求的参数
        # print(response_res.request.body)
        # 打印请求后返回的结果
        # print(response_res.json())
        dic = response_res.json()
        # 获取签到的状态,状态:0为失败,1为成功。
        status = dic['status']
        tt = "\t"
        if status == 1:
            continueDays = dic['continueDays']  # 连续签到天数
            experienceVal = dic['experienceVal']  # 本次签到经验
            number += 1  # 每次签到成功就+1,最后记总成功次数。
            msg = f'版块ID为{cat_id}{tt}签到状态:成功{tt}获得{experienceVal}点经验/已连签{continueDays}天{tt}第{number}次签到成功!'
            # print(msg)
        else:
            msg = f'版块ID为{cat_id}{tt}签到状态:失败{tt}你的_key已失效或此版块可能已经不存在!'
        print(msg)
        time.sleep(2)  # 稍做延时,太快会异常。
    # 获取结果:累计连续签到天数及本次签到共获得多少经验点数。
    print(f"\n签到结果:此账号已连续签到{continueDays}天,此次签到共成功获{experienceVal * number}点经验!继续加油哦!")
    input("签到已完成!请按回车键结束...")


# main函数
def main():
    os.system("mode con cols=75 lines=40")  # 设置打开控制台大小
    print("============================原创作者:佚名RJ==============================")
    print("============================工具使用及抓包教程============================")
    print("在葫芦侠3楼输入用户名和密码然后去打开抓包工具后再回到葫芦侠再点击登录,登录")
    print("成功后从抓包数据响应返回的用户信息中找_key字段输入到软件中即可!")
    print("==============================使用需特别注意==============================")
    print("===========手机端每次退出账号再重新登录后_key会失效发生变化哦!===========")
    # 签到
    signin()


# 主函数调用
if __name__ == '__main__':
    main()

免费评分

参与人数 5吾爱币 +5 热心值 +5 收起 理由
yy先生 + 1 + 1 2023-8-6打卡,脚本报错了,有新的吗
Kasugano + 1 用心讨论,共获提升!
ind + 1 + 1 用心讨论,共获提升!
72、 + 1 + 1 热心回复!
佚名RJ + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

xiao777 发表于 2023-5-11 15:28
 楼主| 佚名RJ 发表于 2023-5-13 22:57
XZ1314XZ 发表于 2023-5-13 19:19
谢谢博主,我之前也写过,不过就是用账号密码登录的(hlx也没有验证登录机制),就是没怎么用客户端,导致 ...

我也没有长时间测试,就知道好像key不退出登录的话,一直有效吧,也不知道是不是一个月有效期,如果一个月的话,一个月更新一次,也可以接受
 楼主| 佚名RJ 发表于 2023-5-12 14:41
清欢吖 发表于 2023-5-12 09:32
根据楼主的代码 添加了登录部分

[mw_shl_code=python,true]# -*- coding: UTF-8 -*-

很不错,之前也想搞这种方式的,但后来考虑了一下,也有exe程序让用户使用直接输入账号密码用户会有盗号的担忧,还有就是账号密码登录的方式会相互顶账号,当时考虑到了这个就搞了_key的。

登录的时候sign计算需要device_code,但是登录的接口应该可以不需要device_code,我的签到接口就没加,你也可以试试看,如果别人用此代码搞云函数都用你的device_code,不知道会出什么问题。哈哈
 楼主| 佚名RJ 发表于 2023-5-11 14:46
TabKey9 发表于 2023-5-11 14:43
葫芦侠还活着?还能改游戏道具自定义数量?

还活着,但没之前玩的人多了。目前一些人一般玩社区。
ipkqywfi 发表于 2023-5-11 15:00
这个好用吗?游戏会不会收费,有什么好处用着
 楼主| 佚名RJ 发表于 2023-5-11 20:27

源码都有了,略微调整下就能用吧
TabKey9 发表于 2023-5-11 14:43
葫芦侠还活着?还能改游戏道具自定义数量?
黑色追忆 发表于 2023-5-11 14:48
谢谢分享,很实用!
Dxn8 发表于 2023-5-11 14:48
下来学习学习!
babyhux 发表于 2023-5-11 14:49
哇 我看看这是什么
hxp.china.sh 发表于 2023-5-11 14:49
别的论坛能不能用  
zdl5078 发表于 2023-5-11 14:50
嗡嗡嗡嗡嗡嗡嗡嗡嗡嗡嗡嗡嗡嗡嗡
wyjtpp 发表于 2023-5-11 14:56
厉害啊,先码后收藏
bachelor66 发表于 2023-5-11 14:59
这玩意居然还存活着呢                                      
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 09:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表