mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-09-19 18:32:47 +03:00
Merge b6e7f1f26d
into 9635a57683
This commit is contained in:
commit
c06f2c7ac5
|
@ -10,7 +10,7 @@ from .. import helpers as utils
|
||||||
from ..crypto import AES
|
from ..crypto import AES
|
||||||
from ..errors import (
|
from ..errors import (
|
||||||
BadMessageError, InvalidChecksumError, BrokenAuthKeyError,
|
BadMessageError, InvalidChecksumError, BrokenAuthKeyError,
|
||||||
rpc_message_to_error
|
rpc_message_to_error, SecurityError
|
||||||
)
|
)
|
||||||
from ..extensions import BinaryReader
|
from ..extensions import BinaryReader
|
||||||
from ..tl import TLMessage, MessageContainer, GzipPacked
|
from ..tl import TLMessage, MessageContainer, GzipPacked
|
||||||
|
@ -191,8 +191,11 @@ class MtProtoSender:
|
||||||
msg_key = reader.read(16)
|
msg_key = reader.read(16)
|
||||||
|
|
||||||
key, iv = utils.calc_key(self.session.auth_key.key, msg_key, False)
|
key, iv = utils.calc_key(self.session.auth_key.key, msg_key, False)
|
||||||
|
data = reader.read(len(body) - reader.tell_position())
|
||||||
|
if len(data) % 16 != 0:
|
||||||
|
raise SecurityError('AES block size missmatch')
|
||||||
plain_text = AES.decrypt_ige(
|
plain_text = AES.decrypt_ige(
|
||||||
reader.read(len(body) - reader.tell_position()), key, iv)
|
data, key, iv)
|
||||||
|
|
||||||
with BinaryReader(plain_text) as plain_text_reader:
|
with BinaryReader(plain_text) as plain_text_reader:
|
||||||
plain_text_reader.read_long() # remote_salt
|
plain_text_reader.read_long() # remote_salt
|
||||||
|
|
Loading…
Reference in New Issue
Block a user