mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-11-07 17:36:07 +00:00
1.19.3 Message signing support.
This commit is contained in:
parent
e447fea16b
commit
fe0b268878
13 changed files with 532 additions and 313 deletions
|
|
@ -2,8 +2,9 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using ImageMagick;
|
||||
using MinecraftClient.Protocol.Handlers;
|
||||
using MinecraftClient.Protocol.Message;
|
||||
using static MinecraftClient.Protocol.Message.LastSeenMessageList;
|
||||
|
||||
namespace MinecraftClient.Protocol.Keys
|
||||
{
|
||||
|
|
@ -111,6 +112,33 @@ namespace MinecraftClient.Protocol.Keys
|
|||
return data.ToArray();
|
||||
}
|
||||
|
||||
public static byte[] GetSignatureData_1_19_3(string message, Guid playerUuid, Guid chatUuid, int messageIndex, DateTimeOffset timestamp, ref byte[] salt, AcknowledgedMessage[] lastSeenMessages)
|
||||
{
|
||||
List<byte> data = new();
|
||||
|
||||
// net.minecraft.network.message.SignedMessage#update
|
||||
data.AddRange(DataTypes.GetInt(1));
|
||||
|
||||
// message link
|
||||
// net.minecraft.network.message.MessageLink#update
|
||||
data.AddRange(DataTypes.GetUUID(playerUuid));
|
||||
data.AddRange(DataTypes.GetUUID(chatUuid));
|
||||
data.AddRange(DataTypes.GetInt(messageIndex));
|
||||
|
||||
// message body
|
||||
// net.minecraft.network.message.MessageBody#update
|
||||
data.AddRange(salt);
|
||||
data.AddRange(DataTypes.GetLong(timestamp.ToUnixTimeSeconds()));
|
||||
byte[] messageBytes = Encoding.UTF8.GetBytes(message);
|
||||
data.AddRange(DataTypes.GetInt(messageBytes.Length));
|
||||
data.AddRange(messageBytes);
|
||||
data.AddRange(DataTypes.GetInt(lastSeenMessages.Length));
|
||||
foreach (AcknowledgedMessage ack in lastSeenMessages)
|
||||
data.AddRange(ack.signature);
|
||||
|
||||
return data.ToArray();
|
||||
}
|
||||
|
||||
public static byte[] GetSignatureData(byte[]? precedingSignature, Guid sender, byte[] bodySign)
|
||||
{
|
||||
List<byte> data = new();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue