Fixed Field for SsoPacker

This commit is contained in:
Linwenxuan05 2023-09-13 21:05:08 +08:00
parent 1f9fa81fad
commit 6b5e50d8eb
3 changed files with 7 additions and 13 deletions

View file

@ -28,9 +28,7 @@ public class BotAppInfo
/// <summary>Or Known as QUA</summary>
public string PackageSign { get; private set; }
public int SsoIdentifier { get; private set; }
public int AppId { get; private set; }
/// <summary>Or known as pubId in tencent log</summary>
@ -59,8 +57,6 @@ public class BotAppInfo
PackageName = "com.tencent.qq",
WtLoginSdk = "nt.wtlogin.0.0.1",
PackageSign = "V1_LNX_NQ_3.1.2-13107_RDM_B",
SsoIdentifier = 70644224,
AppId = 1600001615,
SubAppId = 537146866,
AppIdQrCode = 13697054,
@ -85,8 +81,6 @@ public class BotAppInfo
PackageName = "com.tencent.qq",
WtLoginSdk = "nt.wtlogin.0.0.1",
PackageSign = "V1_MAC_NQ_6.9.17-12118_RDM_B",
SsoIdentifier = 71205120,
AppId = 1600001602,
SubAppId = 537138182,
AppIdQrCode = 537138182,
@ -111,8 +105,6 @@ public class BotAppInfo
PackageName = "com.tencent.qq",
WtLoginSdk = "nt.wtlogin.0.0.1",
PackageSign = "V1_WIN_NQ_9.9.2-15962_RDM_B",
SsoIdentifier = 68432128,
AppId = 1600001604,
SubAppId = 537138217,
AppIdQrCode = 537138217,

View file

@ -20,11 +20,14 @@ internal static class SsoPacker
{
var writer = new BinaryPacket();
// var sign = Signature.GetWindowsSignature(packet.Command, packet.Sequence, packet.Payload.ToArray(), out var software, out var token);
var sign = Signature.GetSignature(packet.Command, packet.Sequence, packet.Payload.ToArray());
var signature = new NTDeviceSign
{
Sign = sign == null ? null : new Sign
{
// S = software == null ? new Software { Ver = appInfo.PackageSign } : Serializer.Deserialize<Software>(new MemoryStream(software)),
// Token = token,
S = new Software { Ver = appInfo.PackageSign },
Signature = sign
},
@ -36,9 +39,8 @@ internal static class SsoPacker
writer.Barrier(typeof(uint), () => new BinaryPacket() // Barrier is used to calculate the length of the packet header only
.WriteUint(packet.Sequence, false) // sequence
.WriteByte(32)
.WriteUint((uint)appInfo.SsoIdentifier, false) // appId
.WriteBytes("000804020000000000000000000000".UnHex().AsSpan())
.WriteUint((uint)appInfo.SubAppId, false) // appId
.WriteBytes("00000804020000000000000000000000".UnHex().AsSpan())
.WriteBytes(keystore.Session.Tgt, Prefix.Uint32 | Prefix.WithPrefix)
.WriteString(packet.Command, Prefix.Uint32 | Prefix.WithPrefix)
.WriteBytes(Array.Empty<byte>(), Prefix.Uint32 | Prefix.WithPrefix) // TODO: unknown

View file

@ -41,7 +41,7 @@ internal class RequestFriendService : BaseService<RequestFriendEvent>
Answer = input.Question,
Field28 = 1,
Field29 = 1
});
}, false, true);
var stream = new MemoryStream();
Serializer.Serialize(stream, packet);