Giter Site home page Giter Site logo

unidbg-fetch-qsign's Introduction

获取QQSign参数通过Unidbg,开放HTTP API。unidbg-fetch-sign最低从QQ8.9.33(不囊括)开始支持,TIM不支持。

切记

  • 公共API具有高风险可能
  • 请使用与协议对应版本的libfekit.so文件
  • QSign基于Android平台,其它平台Sign计算的参数不同,不互通(例如:IPad)。
  • 不支持载入Tim.apk的so文件。

部署方法

Jar部署

  • 系统安装jdk或者jre,版本1.8或以上。如果报错找不到类,请尝试1.8或略靠近1.8的版本

  • 解压后cd到解压目录,配置config.json文件。

其中protocol中的参数可以从protocol-versions获取!

{ // 复制这里的话,请把注释删除
  "server": {
    "host": "0.0.0.0",
    "port": 8080
  },
  // 注册实例的密钥
  "key": "114514",
  // 实例重载间隔(目前没有用)
  // i>=20 i<=50
  "reload_interval": 40, 
  "protocol": {
    "qua": "V1_AND_SQ_8.9.63_4194_YYB_D",
    // version和code可以从qua中提取
    "version": "8.9.63", 
    "code": "4194"
  },
  "unidbg": {
    // 启用Dynarmic,它是一个开源的动态ARM指令集模拟器
    // 有时候会出现https://github.com/fuqiuluo/unidbg-fetch-qsign/issues/52
    "dynarmic": false,
    "unicorn": true,
    "debug": false
  }
}
bash bin/unidbg-fetch-qsign --basePath=txlib\8.9.63
  • 注意:你需要手动从apk安装包的lib/arm64-v8a目录中提取出libfekit.solibQSec.so文件并存放至一个文件夹,然后使用--basePath指定该文件夹的绝对路径,结构例如:
  • your_dir
    • libfekit.so
    • libQSec.so
    • config.json
    • dtconfig.json

dtconfig.json是FEBound.java内数据的热更新版本,每个版本的QQ不同,可自行从com.tencent.mobileqq.dt.model.FEBound逆向得到。

--basePath=/home/your_dir

Docker部署 (待修正)

xzhouqd/qsign

docker-compose部署

直接使用openjdk11启动服务

version: '2'

services:
  qsign:
    image: openjdk:11.0-jdk
    environment:
      TZ: Asia/Shanghai
    restart: always
    working_dir: /app
    # 按需修改相关参数
    command: bash bin/unidbg-fetch-qsign --port=8080 --count=1 --library=txlib/8.9.63 --android_id=someandroidid
    volumes:
      # 当前目录放置qsign的解压包
      - ./unidbg-fetch-qsign:/app
      # 当前目录放置txlib
      - ./txlib:/app/txlib
    ports:
      # 按需调整宿主机端口
      - 8901:8080

你可能需要的项目

使用API

原始energy

# http://127.0.0.1:8080/custom_energy?uin=[QQ]salt=[SALT HEX]&data=[DATA]
参数名 意义 例子
UIN Bot的QQ号 114514

非专业人员勿用。

sign

# http://127.0.0.1:8080/sign?uin=[UIN]&qua=[QUA]&cmd=[CMD]&seq=[SEQ]&buffer=[BUFFER]
参数名 意义 例子
UIN Bot的QQ号 114514
QUA QQ User-Agent,与QQ版本有关 V1_AND_SQ_8.9.63_4188_HDBM_T
CMD 指令类型,CMD有很多种,目前登录、发信息均需要sign wtlogin.login
SEQ 数据包序列号,用于指示请求的序列或顺序。它是一个用于跟踪请求的顺序的数值,确保请求按正确的顺序处理 2333
BUFFER 数据包包体,不需要长度,将byte数组转换为HEX发送 020348010203040506
POST的支持

如果buffer过长,会超出get请求方式的长度上限,因此sign的请求也支持POST的方式。

请求头 Content-Type: application/x-www-form-urlencoded

POST的内容:"uin=" + uin + "&qua=" + qua + "&cmd=" + cmd + "&seq=" + seq + "&buffer=" + buffer

登录包energy(tlv544)

下面这个只是个例子

# http://127.0.0.1:8080/energy?version=[VERSION]&uin=[UIN]&guid=[GUID]&data=[DATA]
参数名 意义 例子
VERSION 注意!这里的VERSION指的不是QQ的版本号,而是SDK Version,可以在QQ安装包中找到此信息 6.0.0.2549
UIN Bot的QQ号 114514
GUID 登录设备的GUID,将byte数组转换为HEX发送,必须是32长度的HEX字符串 ABCDABCDABCDABCDABCDABCDABCDABCD
DATA QQ发送登录包的CmdId和SubCmdId,例子中810是登陆CmdId,9是SubCmdId 810_9

其他

  • 由于项目的特殊性,我们可能随时删除本项目且不会做出任何声明

奇怪的交际援助

  • 昵称:[咖啡] QQ:1456****68

unidbg-fetch-qsign's People

Contributors

fuqiuluo avatar xzhouqd avatar worldleen avatar zaiteki avatar callng avatar touale avatar dmlgzs avatar rexqian avatar tomyjan avatar cssxsh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.