mirror of
https://github.com/wiz0u/WTelegramClient.git
synced 2025-12-06 06:52:01 +01:00
Fix unencrypted padding length in Padded Intermediate
(official doc says 0..15 bytes, but server & Android app sends 0..256 bytes)
This commit is contained in:
parent
d50ac0ba51
commit
472b10f155
|
|
@ -392,7 +392,7 @@ namespace WTelegram
|
||||||
if ((msgId & 1) == 0) throw new WTException($"Invalid server msgId {msgId}");
|
if ((msgId & 1) == 0) throw new WTException($"Invalid server msgId {msgId}");
|
||||||
int length = reader.ReadInt32();
|
int length = reader.ReadInt32();
|
||||||
dataLen -= 20;
|
dataLen -= 20;
|
||||||
if (length > dataLen || length < dataLen - (_paddedMode ? 15 : 0))
|
if (length > dataLen || dataLen - length > (_paddedMode ? 256 : 0))
|
||||||
throw new WTException($"Unexpected unencrypted/padding length {dataLen} - {length}");
|
throw new WTException($"Unexpected unencrypted/padding length {dataLen} - {length}");
|
||||||
|
|
||||||
var obj = reader.ReadTLObject();
|
var obj = reader.ReadTLObject();
|
||||||
|
|
@ -1283,7 +1283,7 @@ namespace WTelegram
|
||||||
}
|
}
|
||||||
if (_paddedMode) // Padded intermediate mode => append random padding
|
if (_paddedMode) // Padded intermediate mode => append random padding
|
||||||
{
|
{
|
||||||
var padding = new byte[_random.Next(16)];
|
var padding = new byte[_random.Next(_dcSession.AuthKeyID == 0 ? 257 : 16)];
|
||||||
RNG.GetBytes(padding);
|
RNG.GetBytes(padding);
|
||||||
writer.Write(padding);
|
writer.Write(padding);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
<RepositoryType>git</RepositoryType>
|
<RepositoryType>git</RepositoryType>
|
||||||
<PackageTags>Telegram;MTProto;Client;Api;UserBot;TLSharp</PackageTags>
|
<PackageTags>Telegram;MTProto;Client;Api;UserBot;TLSharp</PackageTags>
|
||||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||||
<PackageReleaseNotes>$(ReleaseNotes.Replace("\"", "%22").Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A"))</PackageReleaseNotes>
|
<PackageReleaseNotes>$(ReleaseNotes.Replace("\"", "''").Replace("|", "%0D%0A").Replace(" - ","%0D%0A- ").Replace(" ", "%0D%0A%0D%0A"))</PackageReleaseNotes>
|
||||||
<NoWarn>0419;1573;1591;NETSDK1138</NoWarn>
|
<NoWarn>0419;1573;1591;NETSDK1138</NoWarn>
|
||||||
<DefineConstants>TRACE;OBFUSCATION</DefineConstants>
|
<DefineConstants>TRACE;OBFUSCATION</DefineConstants>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue