From 0e865ca7147a2ca26588fef3965a8684848c5503 Mon Sep 17 00:00:00 2001 From: XeroxDev Date: Wed, 24 May 2017 21:38:15 +0200 Subject: [PATCH] fixed #20 fixed #19 fixed #16 fixed #14 fixed #13 fixed #7 --- Builds/Skype4Sharp.dll | Bin 48128 -> 46080 bytes README.md | 4 +--- Skype4Sharp/ExampleBot/ExampleBot.csproj | 6 +++++- Skype4Sharp/Skype4Sharp/Events/Poller.cs | 3 ++- Skype4Sharp/Skype4Sharp/Skype4Sharp.csproj | 4 ++-- .../Skype4Sharp/Skype4SharpCore/AuthModule.cs | 12 +++++++++++- 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/Builds/Skype4Sharp.dll b/Builds/Skype4Sharp.dll index e66a06c672f82d8894e9fb8eb52ae0d930a97887..747301d6c9a69d70a0e97a23f5f5a64adde9cd31 100644 GIT binary patch literal 46080 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 4 + + + + ..\Skype4Sharp\bin\Debug\Newtonsoft.Json.dll - ..\Skype4Sharp\bin\Debug\Skype4Sharp.dll + ..\..\Builds\Skype4Sharp.dll diff --git a/Skype4Sharp/Skype4Sharp/Events/Poller.cs b/Skype4Sharp/Skype4Sharp/Events/Poller.cs index 3f970f0..bd58639 100644 --- a/Skype4Sharp/Skype4Sharp/Events/Poller.cs +++ b/Skype4Sharp/Skype4Sharp/Events/Poller.cs @@ -62,6 +62,7 @@ public void StartPoll() } } }).Start(); + /* Outdated new Thread(() => // Contact Requests { runningPolls.Add(Thread.CurrentThread); @@ -99,7 +100,7 @@ public void StartPoll() } } } - }).Start(); + }).Start();*/ } public void ProcessPoll(string rawInfo) { diff --git a/Skype4Sharp/Skype4Sharp/Skype4Sharp.csproj b/Skype4Sharp/Skype4Sharp/Skype4Sharp.csproj index 1948749..72065fa 100644 --- a/Skype4Sharp/Skype4Sharp/Skype4Sharp.csproj +++ b/Skype4Sharp/Skype4Sharp/Skype4Sharp.csproj @@ -26,7 +26,7 @@ AnyCPU pdbonly true - bin\Release\ + ..\..\Builds\ TRACE prompt 4 @@ -36,7 +36,7 @@ - ..\packages\Newtonsoft.Json.8.0.2\lib\net40\Newtonsoft.Json.dll + ..\..\..\..\..\Skype\Skype4COM\Newtonsoft.Json.dll True diff --git a/Skype4Sharp/Skype4Sharp/Skype4SharpCore/AuthModule.cs b/Skype4Sharp/Skype4Sharp/Skype4SharpCore/AuthModule.cs index 03bba0e..f300767 100644 --- a/Skype4Sharp/Skype4Sharp/Skype4SharpCore/AuthModule.cs +++ b/Skype4Sharp/Skype4Sharp/Skype4SharpCore/AuthModule.cs @@ -4,6 +4,7 @@ using System.Net; using System.Text; using System.Text.RegularExpressions; +using System.Web; namespace Skype4Sharp.Skype4SharpCore { @@ -50,7 +51,7 @@ private string getSkypeToken() return new Regex("type=\"hidden\" name=\"skypetoken\" value=\"(.*?)\"").Match(new StreamReader(webResponse.GetResponseStream()).ReadToEnd()).Groups[1].ToString(); } case Enums.SkypeTokenType.MSNP24: - HttpWebRequest MSNP24TokenRequest = parentSkype.mainFactory.createWebRequest_POST("https://api.skype.com/login/skypetoken", new string[][] { }, Encoding.ASCII.GetBytes(string.Format("scopes=client&clientVersion=0/7.17.0.105//&username={0}&passwordHash={1}", parentSkype.authInfo.Username, Convert.ToBase64String(Helpers.Misc.hashMD5_Byte(string.Format("{0}\nskyper\n{1}", parentSkype.authInfo.Username, parentSkype.authInfo.Password))))), ""); + HttpWebRequest MSNP24TokenRequest = parentSkype.mainFactory.createWebRequest_POST("https://api.skype.com/login/skypetoken", new string[][] { }, Encoding.ASCII.GetBytes(string.Format("scopes=client&clientVersion=0%2F7.4.85.102%2F259%2F&username={0}&passwordHash={1}", HttpUtility.UrlEncode(parentSkype.authInfo.Username.ToLower()), HttpUtility.UrlEncode(CalculateHash(parentSkype.authInfo.Username.ToLower(), parentSkype.authInfo.Password)))), ""); string rawJSON = ""; using (HttpWebResponse webResponse = (HttpWebResponse)MSNP24TokenRequest.GetResponse()) { @@ -114,5 +115,14 @@ private void setProfile() parentSkype.selfProfile.Username = userName; parentSkype.selfProfile.Type = Enums.UserType.Normal; } + + private string CalculateHash(string username, string password) + { + return Convert.ToBase64String(Helpers.Misc.hashMD5_Byte( + string.Format("{0}\nskyper\n{1}", + username, + password + ))); + } } }