From 4f2b0daea3baa24fd9993bda23f69ec9beb000de Mon Sep 17 00:00:00 2001 From: R0oTy <50304410+R0oTy@users.noreply.github.com> Date: Sun, 6 Jul 2025 22:59:28 +0300 Subject: [PATCH] handshake modifyed --- .vs/ProjectSettings.json | 3 +++ .vs/VSWorkspaceState.json | 7 +++++++ .vs/slnx.sqlite | Bin 0 -> 90112 bytes device/noise-protocol.go | 9 +++++---- 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 .vs/ProjectSettings.json create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/slnx.sqlite diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 000000000..f8b488856 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 000000000..d66744c6a --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,7 @@ +{ + "ExpandedNodes": [ + "" + ], + "SelectedNode": "\\C:\\Users\\offic\\source\\repos\\R0oTy\\wireguard-go", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..fab9b1ac68d37e76bda112fa4a3728ed1222b36f GIT binary patch literal 90112 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 G5%^yP&ZTky literal 0 HcmV?d00001 diff --git a/device/noise-protocol.go b/device/noise-protocol.go index 5cf1702b6..36656b7d8 100644 --- a/device/noise-protocol.go +++ b/device/noise-protocol.go @@ -117,14 +117,15 @@ type MessageCookieReply struct { } var errMessageLengthMismatch = errors.New("message length mismatch") +const xorKey uint32 = 0xBEEFDEAD func (msg *MessageInitiation) unmarshal(b []byte) error { if len(b) != MessageInitiationSize { return errMessageLengthMismatch } - msg.Type = binary.LittleEndian.Uint32(b) - msg.Sender = binary.LittleEndian.Uint32(b[4:]) + msg.Type = binary.LittleEndian.Uint32(b) ^ xorKey + msg.Sender = binary.LittleEndian.Uint32(b[4:]) ^ xorKey copy(msg.Ephemeral[:], b[8:]) copy(msg.Static[:], b[8+len(msg.Ephemeral):]) copy(msg.Timestamp[:], b[8+len(msg.Ephemeral)+len(msg.Static):]) @@ -139,8 +140,8 @@ func (msg *MessageInitiation) marshal(b []byte) error { return errMessageLengthMismatch } - binary.LittleEndian.PutUint32(b, msg.Type) - binary.LittleEndian.PutUint32(b[4:], msg.Sender) + binary.LittleEndian.PutUint32(b, msg.Type ^ xorKey) + binary.LittleEndian.PutUint32(b[4:], msg.Sender ^ xorKey) copy(b[8:], msg.Ephemeral[:]) copy(b[8+len(msg.Ephemeral):], msg.Static[:]) copy(b[8+len(msg.Ephemeral)+len(msg.Static):], msg.Timestamp[:])