fix step 3

This commit is contained in:
m.navaei 2018-02-13 10:58:43 +03:30
parent 798827aecd
commit f64abc83ea
3 changed files with 30 additions and 15 deletions

View file

@ -48,7 +48,7 @@ namespace ClientConsoleApp
int ApiId = int.Parse(ConfigurationManager.AppSettings["ApiId"]); int ApiId = int.Parse(ConfigurationManager.AppSettings["ApiId"]);
//string AuthCode = ConfigurationManager.AppSettings["AuthCode"]; //string AuthCode = ConfigurationManager.AppSettings["AuthCode"];
string MainPhoneNumber = ConfigurationManager.AppSettings["NumberToAuthenticate"]; string MainPhoneNumber = ConfigurationManager.AppSettings["NumberToAuthenticate"];
var client = new TelegramClient(ApiId, ApiHash, null, "session", null, "127.0.0.1", 5000); var client = new TelegramClient(ApiId, ApiHash);//, null, "session", null, "127.0.0.1", 5000
var phoneCodeHash = string.Empty; var phoneCodeHash = string.Empty;
authenticated: authenticated:
Console.WriteLine("Start app"); Console.WriteLine("Start app");

View file

@ -91,22 +91,38 @@ namespace TlgListenerApplication
netStream.Read(bytes, 0, (int)tcpClient.ReceiveBufferSize); netStream.Read(bytes, 0, (int)tcpClient.ReceiveBufferSize);
var tcpMessage = TcpMessage.Decode(bytes); var tcpMessage = TcpMessage.Decode(bytes);
var binaryReader = new BinaryReader(new MemoryStream(tcpMessage.Body, false)); var binaryReader = new BinaryReader(new MemoryStream(tcpMessage.Body, false));
var a = binaryReader.ReadInt64();
var msgId = binaryReader.ReadInt64();
var datalength = binaryReader.ReadInt32();
var data = binaryReader.ReadBytes(datalength);
var binaryReader2 = new BinaryReader(new MemoryStream(data, false)); var authKeyId = binaryReader.ReadInt64();
if (authKeyId == 0)
responseCode = binaryReader2.ReadUInt32();
Console.WriteLine("Request code: " + responseCode);
if (responseCode == step1Constructor)//---Step1_PQRequest
{ {
nonceFromClient = binaryReader2.ReadBytes(16); var msgId = binaryReader.ReadInt64();
var datalength = binaryReader.ReadInt32();
var data = binaryReader.ReadBytes(datalength);
var binaryReader2 = new BinaryReader(new MemoryStream(data, false));
responseCode = binaryReader2.ReadUInt32();
Console.WriteLine("Request code: " + responseCode);
if (responseCode == step1Constructor) //---Step1_PQRequest
{
nonceFromClient = binaryReader2.ReadBytes(16);
}
else if (responseCode == step2Constructor) //---Step1_PQRequest
{
nonceFromClient = binaryReader2.ReadBytes(16);
}
} }
else if (responseCode == step2Constructor)//---Step1_PQRequest else
{ {
nonceFromClient = binaryReader2.ReadBytes(16); var decodeMessage = DecodeMessage(tcpMessage.Body);
var buffer = new byte[binaryReader.BaseStream.Length - 24];
int count;
using (var ms = new MemoryStream())
while ((count = binaryReader.Read(buffer, 0, buffer.Length)) != 0)
ms.Write(buffer, 0, count);
//var keyData = Helpers.CalcKey(buffer, messageKey, false);
//var data = AES.DecryptAES(keyData, buffer);
} }
//var obj = new Step1_PQRequest().FromBytes(data); //var obj = new Step1_PQRequest().FromBytes(data);
@ -333,7 +349,7 @@ namespace TlgListenerApplication
return newMessageId; return newMessageId;
} }
private Tuple<byte[], ulong, int> DecodeMessage(byte[] body) private static Tuple<byte[], ulong, int> DecodeMessage(byte[] body)
{ {
byte[] message; byte[] message;
ulong remoteMessageId; ulong remoteMessageId;

View file

@ -37,7 +37,6 @@ namespace TLSharp.Core.Auth
using (BinaryReader dhInnerDataReader = new BinaryReader(dhInnerData)) using (BinaryReader dhInnerDataReader = new BinaryReader(dhInnerData))
{ {
byte[] hashsum = dhInnerDataReader.ReadBytes(20); byte[] hashsum = dhInnerDataReader.ReadBytes(20);
var hashsumstr = Encoding.UTF8.GetString(hashsum);
uint code = dhInnerDataReader.ReadUInt32(); uint code = dhInnerDataReader.ReadUInt32();
if (code != 0xb5890dba) if (code != 0xb5890dba)
{ {