Skip to content
This repository has been archived by the owner on Sep 22, 2022. It is now read-only.

Commit

Permalink
合并dev
Browse files Browse the repository at this point in the history
  • Loading branch information
LeoChen98 committed Jan 9, 2022
2 parents 95e109c + e61fc74 commit 6cc0fb7
Show file tree
Hide file tree
Showing 18 changed files with 99 additions and 80 deletions.
7 changes: 3 additions & 4 deletions BiliAccount.Geetest/BiliAccount.Geetest.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<RootNamespace>BiliAccount.Geetest</RootNamespace>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageId>BiliAccount.Geetest</PackageId>
<Version>1.0.4.4</Version>
<Version>1.0.5.5</Version>
<Authors>LeoChen</Authors>
<Company>zhangbudademao.com</Company>
<Product>BiliAccount.Geetest</Product>
Expand All @@ -20,8 +20,7 @@
<PackageIcon>favicon_4.png</PackageIcon>
<PackageReleaseNotes>
enhancements:
1. 更新了BiliAccount到2.5.2.24
2. 更新了Titanium.Web.Proxy到3.1.1341
1. 更新了Titanium.Web.Proxy到3.1.1344
</PackageReleaseNotes>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
Expand Down Expand Up @@ -119,7 +118,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Titanium.Web.Proxy" Version="3.1.1341" />
<PackageReference Include="Titanium.Web.Proxy" Version="3.1.1344" />
</ItemGroup>

</Project>
30 changes: 15 additions & 15 deletions BiliAccount.TestProject/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,28 +33,28 @@ private static void Main(string[] args)
Console.WriteLine($"BiliAccount:{AssemblyName.GetAssemblyName("BiliAccount.dll").Version.ToString()}");
Console.WriteLine($"BiliAccount.Geetest:{AssemblyName.GetAssemblyName("BiliAccount.Geetest.dll").Version.ToString()}");
Console.WriteLine($"BiliAccount.Geetest.Controls:{AssemblyName.GetAssemblyName("BiliAccount.Geetest.Controls.dll").Version.ToString()}");
//Console.WriteLine("账号");
//string username = Console.ReadLine();
//Console.WriteLine("密码");
//string pwd = Console.ReadLine();
//Account account = ByPassword.LoginByPassword(username, pwd);
//Console.WriteLine(var_dump(account));
//if (account.LoginStatus == Account.LoginStatusEnum.NeedSafeVerify) Process.Start(account.Url);
Console.WriteLine("账号");
string username = Console.ReadLine();
Console.WriteLine("密码");
string pwd = Console.ReadLine();
Account account = ByPassword.LoginByPassword(username, pwd);
Console.WriteLine(var_dump(account));
if (account.LoginStatus == Account.LoginStatusEnum.NeedSafeVerify) Process.Start(account.Url);

//ByQRCode.QrCodeStatus_Changed += ByQRCode_QrCodeStatus_Changed;
//ByQRCode.QrCodeRefresh += ByQRCode_QrCodeRefresh;
//ByQRCode.LoginByQrCode("#ff000000","#00FFFFFF").Save("tmp.png");
//ByQRCode.LoginByQrCode("#ff000000", "#00FFFFFF").Save("tmp.png");

//string token = Console.ReadLine();
//Console.WriteLine(BiliAccount.Linq.ByPassword.IsTokenAvailable(token));

Console.WriteLine("手机号");
string tel = Console.ReadLine();
BySMS.SendSMS(tel);
Console.WriteLine("验证码");
string code = Console.ReadLine();
Account account = BySMS.Login(code, tel);
Console.WriteLine(var_dump(account));
//Console.WriteLine("手机号");
//string tel = Console.ReadLine();
//BySMS.SendSMS(tel);
//Console.WriteLine("验证码");
//string code = Console.ReadLine();
//Account account = BySMS.Login(code, tel);
//Console.WriteLine(var_dump(account));

//Console.WriteLine(var_dump(ByPassword.SSO(account.AccessToken)));

Expand Down
16 changes: 11 additions & 5 deletions BiliAccount/BiliAccount.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<RootNamespace>BiliAccount</RootNamespace>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageId>BiliAccount</PackageId>
<Version>2.5.2.24</Version>
<Version>2.5.4.26</Version>
<Authors>LeoChen</Authors>
<Company>zhangbudademao.com</Company>
<Product>BiliAccount</Product>
Expand All @@ -19,10 +19,8 @@
<PackageTags>bilibili bililive bililogin biliaccount</PackageTags>
<PackageIcon>favicon_4.png</PackageIcon>
<PackageReleaseNotes>
enhancements:
1. 更新了QRCoder到1.4.1版本(针对.net standard和.net core平台)
2. 更新了System.Drawing.Common到5.0.0(针对.net standard和.net core平台)
3. 优化了对SSO过程中对低版本IDE环境的兼容性。(#18)
fixes:
1. 修复了由于破站改接口导致无法通过密码登录的问题。
</PackageReleaseNotes>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
Expand Down Expand Up @@ -100,6 +98,14 @@
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net48|AnyCPU'">
<NoWarn>1701;1702;NETSDK1138</NoWarn>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net48|AnyCPU'">
<NoWarn>1701;1702;NETSDK1138</NoWarn>
</PropertyGroup>

<ItemGroup Condition="'$(TargetFramework)' != 'netstandard2.0' AND '$(TargetFramework)' != 'netstandard2.1' AND '$(TargetFramework)' != 'netcoreapp3.0' AND '$(TargetFramework)' != 'netcoreapp3.1'">
<Reference Include="System.Web" />
<Reference Include="WindowsBase" />
Expand Down
11 changes: 6 additions & 5 deletions BiliAccount/Core/ByPassword.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ public static void DoLogin(ref Account account)
/* 旧版参数
* string parm = "appkey=" + Config.Instance.Appkey + "&build=" + Config.Instance.Build + "&mobi_app=android&password=" + account.EncryptedPassword + "&platform=android&ts=" + TimeStamp + "&username=" + account.UserName;
*/
string parm = $"appkey={Config.Instance.Appkey}&bili_local_id={account.DeviceId}&build={Config.Instance.Build}&buvid={account.Buvid}&channel=bili&device=phone&device_id={account.DeviceId}&device_name=BiliAccount{account.DeviceGuid}&device_platform=BiliAccount{Assembly.GetExecutingAssembly().GetName().Version}&local_id={account.Buvid}&mobi_app=android&password={account.EncryptedPassword}&platform=android&statistics=%7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%22{Config.Instance.Version}%22%2C%22abtest%22%3A%22%22%7D&ts={TimeStamp}&username={account.UserName}";
//string parm = $"appkey={Config.Instance.Appkey}&build={Config.Instance.Build}&buvid={account.Buvid}&channel=bili&local_id={account.Buvid}&mobi_app=android&password={account.EncryptedPassword}&platform=android&ts={TimeStamp}&username={account.UserName}";
string parm = $"appkey={Config.Instance.Appkey}&bili_local_id={account.DeviceId}&build={Config.Instance.Build}&buvid={account.Buvid}&channel=bili&device=phone&device_id={account.DeviceId}&device_name=BiliAccount{account.DeviceGuid}&device_platform=BiliAccount{Assembly.GetExecutingAssembly().GetName().Version}&from_pv=main.my-information.my-login.0.click&from_url=bilibili%3A%2F%2Fuser_center%2Fmine&local_id={account.Buvid}&mobi_app=android&password={account.EncryptedPassword}&platform=android&statistics=%7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%22{Config.Instance.Version}%22%2C%22abtest%22%3A%22%22%7D&ts={TimeStamp}&username={account.UserName}";
parm += "&sign=" + GetSign(parm);
string str = Http.PostBodyOutCookies("http://passport.bilibili.com/api/v3/oauth2/login", out account.Cookies, parm, null, "application/x-www-form-urlencoded;charset=utf-8", "", Config.Instance.User_Agent);
//string str = Http.PostBodyOutCookies("http://passport.bilibili.com/api/v3/oauth2/login", out account.Cookies, parm, null, "application/x-www-form-urlencoded;charset=utf-8", "", Config.Instance.User_Agent);
string str = Http.PostBodyOutCookies("https://passport.bilibili.com/x/passport-login/oauth2/login ", out account.Cookies, parm, null, "application/x-www-form-urlencoded;charset=utf-8", "", $"BiliAccount/{Config.Dll_Version}");
if (!string.IsNullOrEmpty(str))
{
#if NETSTANDARD2_0 || NETCORE3_0
Expand Down Expand Up @@ -94,7 +94,8 @@ public static void DoLoginWithCatpcha(string captcha, ref Account account)
{
string parm = "actionKey=" + Config.Instance.Appkey + "&appkey=" + Config.Instance.Appkey + "&build=" + Config.Instance.Build + "&captcha=" + captcha + "&mobi_app=android&password=" + account.EncryptedPassword + "&device=android&platform=android&ts=" + TimeStamp + "&username=" + account.UserName;
parm += "&sign=" + GetSign(parm);
string str = Http.PostBodyOutCookies("http://passport.bilibili.com/api/v3/oauth2/login", out account.Cookies, parm, account.Cookies, "application/x-www-form-urlencoded;charset=utf-8", "", Config.Instance.User_Agent);
//string str = Http.PostBodyOutCookies("http://passport.bilibili.com/api/v3/oauth2/login", out account.Cookies, parm, account.Cookies, "application/x-www-form-urlencoded;charset=utf-8", "", Config.Instance.User_Agent);
string str = Http.PostBodyOutCookies("https://passport.bilibili.com/x/passport-login/oauth2/login", out account.Cookies, parm, account.Cookies, "application/x-www-form-urlencoded;charset=utf-8", "", $"BiliAccount/{Config.Dll_Version}");
if (!string.IsNullOrEmpty(str))
{
#if NETSTANDARD2_0 || NETCORE3_0
Expand Down Expand Up @@ -370,7 +371,7 @@ private static void LoginSuccess(DoLogin_DataTemplete obj, ref Account account)
account.Uid = obj.data.token_info.mid;
account.AccessToken = obj.data.token_info.access_token;
account.RefreshToken = obj.data.token_info.refresh_token;
account.Expires_AccessToken = DateTime.Parse("1970-01-01 08:00:00").AddSeconds(obj.ts + obj.data.token_info.expires_in);
account.Expires_AccessToken = DateTime.Now.AddSeconds(obj.data.token_info.expires_in);

account.Cookies = new CookieCollection();
foreach (DoLogin_DataTemplete.Data_Templete.Cookie_Info_Templete.Cookie_Templete i in obj.data.cookie_info.cookies)
Expand Down
4 changes: 2 additions & 2 deletions BiliAccount/Core/ByQRCode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public static Bitmap GetQrcode(Color Foreground,Color Background,bool IsBorderVi
Bitmap qrCodeImage = null;
re:
//获取二维码要包含的url
string str = Http.GetBody("https://passport.bilibili.com/qrcode/getLoginUrl", null, "https://passport.bilibili.com/login");
string str = Http.GetBody("https://passport.bilibili.com/qrcode/getLoginUrl", null, "https://passport.bilibili.com/login",$"BiliAccount/{Config.Dll_Version}");
if (!string.IsNullOrEmpty(str))
{
#if NETSTANDARD2_0 || NETCORE3_0
Expand Down Expand Up @@ -117,7 +117,7 @@ private static void MonitorCallback(object o)
{
string oauthKey = o.ToString();

string str = Http.PostBody("https://passport.bilibili.com/qrcode/getLoginInfo", "oauthKey=" + oauthKey + "&gourl=https%3A%2F%2Fwww.bilibili.com%2F", null, "application/x-www-form-urlencoded; charset=UTF-8", "https://passport.bilibili.com/login");
string str = Http.PostBody("https://passport.bilibili.com/qrcode/getLoginInfo", "oauthKey=" + oauthKey + "&gourl=https%3A%2F%2Fwww.bilibili.com%2F", null, "application/x-www-form-urlencoded; charset=UTF-8", "https://passport.bilibili.com/login",$"BiliAccount/{Config.Dll_Version}");
if (!string.IsNullOrEmpty(str))
{
#if NETSTANDARD2_0 || NETCORE3_0
Expand Down
6 changes: 3 additions & 3 deletions BiliAccount/Core/BySMS.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ private static long TimeStamp
public static Account Login(string captcha_key, string code, string tel)
{
Account account = new Account();
string param = $"appkey={Config.Instance.Appkey}&bili_local_id={account.DeviceId}&build={Config.Instance.Build}&buvid={account.Buvid}&captcha_key={captcha_key}&channel=bili&cid=86&code={code}&device=phone&device_id={account.DeviceId}&device_name=BiliAccount{account.DeviceGuid}&device_platform=BiliAccount{Assembly.GetExecutingAssembly().GetName().Version}&local_id={account.Buvid}&mobi_app=android&platform=android&statistics=%7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%22{Config.Instance.Version}%22%2C%22abtest%22%3A%22%22%7D&tel={tel}&ts={TimeStamp}";
string param = $"appkey={Config.Instance.Appkey}&bili_local_id={account.DeviceId}&build={Config.Instance.Build}&buvid={account.Buvid}&captcha_key={captcha_key}&channel=bili&cid=86&code={code}&device=phone&device_id={account.DeviceId}&device_name=BiliAccount{account.DeviceGuid}&device_platform=BiliAccount{Config.Dll_Version}&local_id={account.Buvid}&mobi_app=android&platform=android&statistics=%7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%22{Config.Instance.Version}%22%2C%22abtest%22%3A%22%22%7D&tel={tel}&ts={TimeStamp}";
param += $"&sign={GetSign(param)}";

string str = Http.PostBody("https://passport.bilibili.com/x/passport-login/login/sms", param);
string str = Http.PostBody("https://passport.bilibili.com/x/passport-login/login/sms", param,null, $"BiliAccount/{Config.Dll_Version}");
#if NETSTANDARD2_0 || NETCORE3_0
Login_DataTemplete obj = JsonConvert.DeserializeObject<Login_DataTemplete>(str);
#else
Expand Down Expand Up @@ -92,7 +92,7 @@ public static string SMS_Send(string tel)
{
string param = $"appkey={Config.Instance.Appkey}&build={Config.Instance.Build}&channel=bili&cid=86&mobi_app=android&platform=android&statistics=%7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%22{Config.Instance.Version}%22%2C%22abtest%22%3A%22%22%7D&tel={tel}&ts={TimeStamp}";
param += $"&sign={GetSign(param)}";
string str = Http.PostBody("https://passport.bilibili.com/x/passport-login/sms/send", param);
string str = Http.PostBody("https://passport.bilibili.com/x/passport-login/sms/send", param,null, $"BiliAccount/{Config.Dll_Version}");
#if NETSTANDARD2_0 || NETCORE3_0
SMS_Send_DataTemplete obj = JsonConvert.DeserializeObject<SMS_Send_DataTemplete>(str);
#else
Expand Down
12 changes: 12 additions & 0 deletions BiliAccount/Core/Config.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Reflection;

#if NETSTANDARD2_0 || NETCORE3_0
using Newtonsoft.Json;
Expand All @@ -23,6 +24,17 @@ internal class Config

#endregion Private Fields

/// <summary>
/// 当前程序集版本号
/// </summary>
public static string Dll_Version
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}

#region Private Constructors

/// <summary>
Expand Down
7 changes: 4 additions & 3 deletions BiliAccount/Core/Device_Verify.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ public static void GetAccount(string code, ref Account account)
param += $"&sign={GetSign(param)}";
WebHeaderCollection headers = new WebHeaderCollection();
headers.Add("Buvid", account.Buvid);
string str = Http.GetBody($"https://passport.bilibili.com/api/v2/oauth2/access_token?{param}", null, "", Config.Instance.User_Agent, headers);
//string str = Http.GetBody($"https://passport.bilibili.com/api/v2/oauth2/access_token?{param}", null, "", Config.Instance.User_Agent, headers);
string str = Http.GetBody($"https://passport.bilibili.com/api/v2/oauth2/access_token?{param}", null, "", $"BiliAccount/{Config.Dll_Version}", headers);
if (!string.IsNullOrEmpty(str))
{
#if NETSTANDARD2_0 || NETCORE3_0
Expand Down Expand Up @@ -88,7 +89,7 @@ public static void GetAccount(string code, ref Account account)
/// <exception cref="Exceptions.SMS_Send_Exception"/>
public static void SMS_Send(string challenge, string key, string tmp_token, string validate)
{
string str = Http.PostBody("https://api.bilibili.com/x/safecenter/sms/send", $"csrf=&csrf_token=&type=18&captcha_type=7&captcha_key={key}&captcha=&challenge={challenge}&seccode={validate}%7Cjordan&validate={validate}&tmp_code={tmp_token}");
string str = Http.PostBody("https://api.bilibili.com/x/safecenter/sms/send", $"csrf=&csrf_token=&type=18&captcha_type=7&captcha_key={key}&captcha=&challenge={challenge}&seccode={validate}%7Cjordan&validate={validate}&tmp_code={tmp_token}",null, $"BiliAccount/{Config.Dll_Version}");
if (!string.IsNullOrEmpty(str))
{
int code = int.Parse(new Regex("(?<=\"code\":)(\\d+)(?=,)").Match(str).Value);
Expand All @@ -112,7 +113,7 @@ public static string Verify(string code, string tmp_token)
{
string param = $"appkey={Config.Instance.Appkey}&build={Config.Instance.Build}&channel=bili&code={code}&csrf=&csrf_token=&mobi_app=android&platform=android&statistics=%7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%22{Config.Instance.Version}%22%2C%22abtest%22%3A%22%22%7D&tmp_token={tmp_token}&ts={TimeStamp * 1000}";
param += $"&sign={GetSign(param)}";
string str = Http.PostBody("https://passport.bilibili.com/api/login/verify_device", param);
string str = Http.PostBody("https://passport.bilibili.com/api/login/verify_device", param,null, $"BiliAccount/{Config.Dll_Version}");
if (!string.IsNullOrEmpty(str))
{
#if NETSTANDARD2_0 || NETCORE3_0
Expand Down
6 changes: 1 addition & 5 deletions BiliAccount/Exceptions/GetAccount_Exception.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BiliAccount.Exceptions
{
Expand All @@ -25,5 +22,4 @@ public GetAccount_Exception(int code, string message) : base(message)

#endregion Public Constructors
}

}
}
20 changes: 14 additions & 6 deletions BiliAccount/Exceptions/InvalidColorValue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,9 @@ namespace BiliAccount.Exceptions
/// <summary>
/// 传入了错误的颜色值
/// </summary>
public class InvalidColorValue:Exception
public class InvalidColorValue : Exception
{
/// <summary>
/// 错误的属性名
/// </summary>
public string PropertyName { get; private set; }
#region Public Constructors

/// <summary>
/// 以指定的属性名初始化<see cref="InvalidColorValue"/>
Expand All @@ -20,5 +17,16 @@ public InvalidColorValue(string name) : base($"传入了错误的颜色值!{na
{
PropertyName = name;
}

#endregion Public Constructors

#region Public Properties

/// <summary>
/// 错误的属性名
/// </summary>
public string PropertyName { get; private set; }

#endregion Public Properties
}
}
}
12 changes: 6 additions & 6 deletions BiliAccount/Exceptions/SMS_Send_Exception.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@ namespace BiliAccount.Exceptions
/// </summary>
public class SMS_Send_Exception : Exception
{
#region Public Fields

public int code { get; private set; }

#endregion Public Fields

#region Public Constructors

public SMS_Send_Exception(int code, string message) : base(message)
Expand All @@ -23,5 +17,11 @@ public SMS_Send_Exception(int code, string message) : base(message)
}

#endregion Public Constructors

#region Public Properties

public int code { get; private set; }

#endregion Public Properties
}
}
5 changes: 1 addition & 4 deletions BiliAccount/Exceptions/Verify_Exception.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BiliAccount.Exceptions
{
Expand All @@ -25,4 +22,4 @@ public Verify_Exception(int code, string message) : base(message)

#endregion Public Constructors
}
}
}
9 changes: 4 additions & 5 deletions BiliAccount/Framework4.0Methods/Stream4Methods.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@

namespace BiliAccount
namespace BiliAccount
{
internal class Stream4Methods
{
#region Public Methods
#region Public Methods

public static void CopyTo(System.IO.Stream input, System.IO.Stream output)
{
Expand All @@ -15,6 +14,6 @@ public static void CopyTo(System.IO.Stream input, System.IO.Stream output)
}
}

#endregion Public Methods
#endregion Public Methods
}
}
}
7 changes: 3 additions & 4 deletions BiliAccount/Framework4.0Methods/String4Methods.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@

using System;

namespace BiliAccount
{
internal static class String40Methods
{
#region Public Methods
#region Public Methods

public static bool IsAllDigit(string str)
{
Expand Down Expand Up @@ -48,6 +47,6 @@ public static string ReverseString(string str)
return new string(result);
}

#endregion Public Methods
#endregion Public Methods
}
}
}
Loading

0 comments on commit 6cc0fb7

Please sign in to comment.