mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 11:07:40 +08:00
client: update Android version
This commit is contained in:
parent
d09215e943
commit
0ce160e357
@ -434,17 +434,27 @@ func (c *QQClient) buildRequestTgtgtNopicsigPacket() (uint16, []byte) {
|
||||
return seq, c.transport.PackPacket(&nreq)
|
||||
}
|
||||
|
||||
func (c *QQClient) buildRequestChangeSigPacket(mainSigMap uint32) (uint16, []byte) {
|
||||
func (c *QQClient) buildRequestChangeSigPacket(changeD2 bool) (uint16, []byte) {
|
||||
seq := c.nextSeq()
|
||||
req := c.buildOicqRequestPacket(c.Uin, 0x0810, binary.NewWriterF(func(w *binary.Writer) {
|
||||
w.WriteUInt16(11)
|
||||
w.WriteUInt16(17)
|
||||
if changeD2 {
|
||||
w.WriteUInt16(11)
|
||||
} else {
|
||||
w.WriteUInt16(10)
|
||||
}
|
||||
w.WriteUInt16(19)
|
||||
|
||||
w.Write(tlv.T100(c.version.SSOVersion, 100, mainSigMap))
|
||||
w.Write(tlv.T100(c.version.SSOVersion, 100, c.version.MainSigMap))
|
||||
w.Write(tlv.T10A(c.sig.TGT))
|
||||
w.Write(tlv.T116(c.version.MiscBitmap, c.version.SubSigmap))
|
||||
w.Write(tlv.T108(c.sig.Ksid))
|
||||
h := md5.Sum(c.sig.D2Key)
|
||||
var key []byte
|
||||
if changeD2 {
|
||||
h := md5.Sum(c.sig.D2Key)
|
||||
key = h[:]
|
||||
} else {
|
||||
key = c.sig.TGTKey
|
||||
}
|
||||
w.Write(tlv.T144(
|
||||
c.deviceInfo.AndroidId,
|
||||
c.deviceInfo.GenDeviceInfoData(),
|
||||
@ -456,9 +466,14 @@ func (c *QQClient) buildRequestChangeSigPacket(mainSigMap uint32) (uint16, []byt
|
||||
c.deviceInfo.Model,
|
||||
c.deviceInfo.Guid,
|
||||
c.deviceInfo.Brand,
|
||||
h[:],
|
||||
key,
|
||||
))
|
||||
w.Write(tlv.T143(c.sig.D2))
|
||||
w.Write(tlv.T112(c.Uin))
|
||||
if changeD2 {
|
||||
w.Write(tlv.T143(c.sig.D2))
|
||||
} else {
|
||||
w.Write(tlv.T145(c.deviceInfo.Guid))
|
||||
}
|
||||
w.Write(tlv.T142(c.version.ApkId))
|
||||
w.Write(tlv.T154(seq))
|
||||
w.Write(tlv.T18(16, uint32(c.Uin)))
|
||||
@ -474,7 +489,7 @@ func (c *QQClient) buildRequestChangeSigPacket(mainSigMap uint32) (uint16, []byt
|
||||
"qzone.qq.com", "vip.qq.com", "qun.qq.com", "game.qq.com", "qqweb.qq.com",
|
||||
"office.qq.com", "ti.qq.com", "mail.qq.com", "qzone.com", "mma.qq.com",
|
||||
}))
|
||||
// w.Write(tlv.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID))
|
||||
w.Write(tlv.T202(c.deviceInfo.WifiBSSID, c.deviceInfo.WifiSSID))
|
||||
}))
|
||||
|
||||
req2 := network.Request{
|
||||
|
@ -332,7 +332,7 @@ func (c *QQClient) TokenLogin(token []byte) error {
|
||||
// SystemDeviceInfo.TgtgtKey = r.ReadBytesShort()
|
||||
c.deviceInfo.TgtgtKey = r.ReadBytesShort()
|
||||
}
|
||||
_, err = c.sendAndWait(c.buildRequestChangeSigPacket(c.version.MainSigMap))
|
||||
_, err = c.sendAndWait(c.buildRequestChangeSigPacket(true))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -788,7 +788,7 @@ func decodeWordSegmentation(_ *QQClient, _ *network.IncomingPacketInfo, payload
|
||||
|
||||
func decodeSidExpiredPacket(c *QQClient, i *network.IncomingPacketInfo, _ []byte) (any, error) {
|
||||
/*
|
||||
_, err := c.sendAndWait(c.buildRequestChangeSigPacket(3554528))
|
||||
_, err := c.sendAndWait(c.buildRequestChangeSigPacket(true))
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "resign client error")
|
||||
}
|
||||
|
@ -32,16 +32,16 @@ func (i Protocol) Version() *AppVersion {
|
||||
case AndroidPhone: // Dumped by mirai from qq android v8.8.38
|
||||
return &AppVersion{
|
||||
ApkId: "com.tencent.mobileqq",
|
||||
AppId: 537100432,
|
||||
SubAppId: 537100432,
|
||||
SortVersionName: "8.8.38",
|
||||
BuildTime: 1634310940,
|
||||
AppId: 537044845,
|
||||
SubAppId: 537044845,
|
||||
SortVersionName: "8.8.95",
|
||||
BuildTime: 1654672174,
|
||||
ApkSign: []byte{0xA6, 0xB7, 0x45, 0xBF, 0x24, 0xA2, 0xC2, 0x77, 0x52, 0x77, 0x16, 0xF6, 0xF3, 0x6E, 0xB6, 0x8D},
|
||||
SdkVersion: "6.0.0.2487",
|
||||
SSOVersion: 16,
|
||||
MiscBitmap: 184024956,
|
||||
SdkVersion: "6.0.0.2512",
|
||||
SSOVersion: 18,
|
||||
MiscBitmap: 150470524,
|
||||
SubSigmap: 0x10400,
|
||||
MainSigMap: 34869472,
|
||||
MainSigMap: 16724722,
|
||||
Protocol: i,
|
||||
}
|
||||
case AndroidWatch:
|
||||
|
@ -9,7 +9,8 @@ import (
|
||||
|
||||
// SendGroupSign 发送群聊打卡消息
|
||||
func (c *QQClient) SendGroupSign(target int64) {
|
||||
_, _ = c.sendAndWait(c.buildGroupSignPacket(target))
|
||||
_, pkt := c.buildGroupSignPacket(target)
|
||||
_ = c.sendPacket(pkt)
|
||||
}
|
||||
|
||||
func (c *QQClient) buildGroupSignPacket(groupId int64) (uint16, []byte) {
|
||||
|
14
internal/tlv/t112.go
Normal file
14
internal/tlv/t112.go
Normal file
@ -0,0 +1,14 @@
|
||||
package tlv
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/Mrs4s/MiraiGo/binary"
|
||||
)
|
||||
|
||||
func T112(uin int64) []byte {
|
||||
return binary.NewWriterF(func(w *binary.Writer) {
|
||||
w.WriteUInt16(0x112)
|
||||
w.WriteStringShort(strconv.FormatInt(uin, 10))
|
||||
})
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user