32 changed files with 2764 additions and 0 deletions
@ -0,0 +1,18 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<configuration> |
||||||
|
<startup> |
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" /> |
||||||
|
</startup> |
||||||
|
<runtime> |
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |
||||||
|
<dependentAssembly> |
||||||
|
<assemblyIdentity name="IKVM.Runtime" publicKeyToken="13235d27fcbfff58" culture="neutral" /> |
||||||
|
<bindingRedirect oldVersion="0.0.0.0-8.2.0.0" newVersion="8.2.0.0" /> |
||||||
|
</dependentAssembly> |
||||||
|
<dependentAssembly> |
||||||
|
<assemblyIdentity name="IKVM.OpenJDK.Core" publicKeyToken="13235d27fcbfff58" culture="neutral" /> |
||||||
|
<bindingRedirect oldVersion="0.0.0.0-7.2.4630.5" newVersion="7.2.4630.5" /> |
||||||
|
</dependentAssembly> |
||||||
|
</assemblyBinding> |
||||||
|
</runtime> |
||||||
|
</configuration> |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,14 @@ |
|||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading.Tasks; |
||||||
|
|
||||||
|
namespace steam_token.Entity |
||||||
|
{ |
||||||
|
public class Config |
||||||
|
{ |
||||||
|
public SteamGuard SteamGuard { get; set; } |
||||||
|
|
||||||
|
} |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading.Tasks; |
||||||
|
|
||||||
|
namespace steam_token.Entity |
||||||
|
{ |
||||||
|
public class SteamGuard |
||||||
|
{ |
||||||
|
public string shared_secret { get; set; } |
||||||
|
public string serial_number { get; set; } |
||||||
|
public string revocation_code { get; set; } |
||||||
|
public string uri { get; set; } |
||||||
|
public string server_time { get; set; } |
||||||
|
public string account_name { get; set; } |
||||||
|
public string token_gid { get; set; } |
||||||
|
public string identity_secret { get; set; } |
||||||
|
public string secret_1 { get; set; } |
||||||
|
public string status { get; set; } |
||||||
|
public string steamguard_scheme { get; set; } |
||||||
|
public string steamid { get; set; } |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,4 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd"> |
||||||
|
<Costura /> |
||||||
|
</Weavers> |
@ -0,0 +1,215 @@ |
|||||||
|
|
||||||
|
namespace steam_token |
||||||
|
{ |
||||||
|
partial class mainForm |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// 必需的设计器变量。 |
||||||
|
/// </summary> |
||||||
|
private System.ComponentModel.IContainer components = null; |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 清理所有正在使用的资源。 |
||||||
|
/// </summary> |
||||||
|
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param> |
||||||
|
protected override void Dispose(bool disposing) |
||||||
|
{ |
||||||
|
if (disposing && (components != null)) |
||||||
|
{ |
||||||
|
components.Dispose(); |
||||||
|
} |
||||||
|
base.Dispose(disposing); |
||||||
|
} |
||||||
|
|
||||||
|
#region Windows 窗体设计器生成的代码 |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 设计器支持所需的方法 - 不要修改 |
||||||
|
/// 使用代码编辑器修改此方法的内容。 |
||||||
|
/// </summary> |
||||||
|
private void InitializeComponent() |
||||||
|
{ |
||||||
|
this.components = new System.ComponentModel.Container(); |
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(mainForm)); |
||||||
|
this.menuStrip = new System.Windows.Forms.MenuStrip(); |
||||||
|
this.SettingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); |
||||||
|
this.GuardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); |
||||||
|
this.ProgramToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); |
||||||
|
this.AboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); |
||||||
|
this.progressBar_refresh = new System.Windows.Forms.ProgressBar(); |
||||||
|
this.groupBox_display = new System.Windows.Forms.GroupBox(); |
||||||
|
this.label_guard = new System.Windows.Forms.Label(); |
||||||
|
this.button_recalc = new System.Windows.Forms.Button(); |
||||||
|
this.button_copy = new System.Windows.Forms.Button(); |
||||||
|
this.comboBox1 = new System.Windows.Forms.ComboBox(); |
||||||
|
this.timer_time = new System.Windows.Forms.Timer(this.components); |
||||||
|
this.label_datetime = new System.Windows.Forms.Label(); |
||||||
|
this.menuStrip.SuspendLayout(); |
||||||
|
this.groupBox_display.SuspendLayout(); |
||||||
|
this.SuspendLayout(); |
||||||
|
// |
||||||
|
// menuStrip |
||||||
|
// |
||||||
|
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { |
||||||
|
this.SettingToolStripMenuItem, |
||||||
|
this.AboutToolStripMenuItem}); |
||||||
|
this.menuStrip.Location = new System.Drawing.Point(0, 0); |
||||||
|
this.menuStrip.Name = "menuStrip"; |
||||||
|
this.menuStrip.Size = new System.Drawing.Size(644, 25); |
||||||
|
this.menuStrip.TabIndex = 0; |
||||||
|
this.menuStrip.Text = "menuStrip1"; |
||||||
|
// |
||||||
|
// SettingToolStripMenuItem |
||||||
|
// |
||||||
|
this.SettingToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { |
||||||
|
this.GuardToolStripMenuItem, |
||||||
|
this.ProgramToolStripMenuItem}); |
||||||
|
this.SettingToolStripMenuItem.Name = "SettingToolStripMenuItem"; |
||||||
|
this.SettingToolStripMenuItem.Size = new System.Drawing.Size(44, 21); |
||||||
|
this.SettingToolStripMenuItem.Text = "设置"; |
||||||
|
// |
||||||
|
// GuardToolStripMenuItem |
||||||
|
// |
||||||
|
this.GuardToolStripMenuItem.Name = "GuardToolStripMenuItem"; |
||||||
|
this.GuardToolStripMenuItem.Size = new System.Drawing.Size(180, 22); |
||||||
|
this.GuardToolStripMenuItem.Text = "令牌配置"; |
||||||
|
this.GuardToolStripMenuItem.Click += new System.EventHandler(this.GuardToolStripMenuItem_Click); |
||||||
|
// |
||||||
|
// ProgramToolStripMenuItem |
||||||
|
// |
||||||
|
this.ProgramToolStripMenuItem.Name = "ProgramToolStripMenuItem"; |
||||||
|
this.ProgramToolStripMenuItem.Size = new System.Drawing.Size(180, 22); |
||||||
|
this.ProgramToolStripMenuItem.Text = "程序设置"; |
||||||
|
this.ProgramToolStripMenuItem.Visible = false; |
||||||
|
this.ProgramToolStripMenuItem.Click += new System.EventHandler(this.ProgramToolStripMenuItem_Click); |
||||||
|
// |
||||||
|
// AboutToolStripMenuItem |
||||||
|
// |
||||||
|
this.AboutToolStripMenuItem.Name = "AboutToolStripMenuItem"; |
||||||
|
this.AboutToolStripMenuItem.Size = new System.Drawing.Size(44, 21); |
||||||
|
this.AboutToolStripMenuItem.Text = "关于"; |
||||||
|
this.AboutToolStripMenuItem.Click += new System.EventHandler(this.AboutToolStripMenuItem_Click); |
||||||
|
// |
||||||
|
// progressBar_refresh |
||||||
|
// |
||||||
|
this.progressBar_refresh.BackColor = System.Drawing.SystemColors.Control; |
||||||
|
this.progressBar_refresh.ForeColor = System.Drawing.SystemColors.Control; |
||||||
|
this.progressBar_refresh.Location = new System.Drawing.Point(12, 28); |
||||||
|
this.progressBar_refresh.Maximum = 30; |
||||||
|
this.progressBar_refresh.Name = "progressBar_refresh"; |
||||||
|
this.progressBar_refresh.Size = new System.Drawing.Size(620, 23); |
||||||
|
this.progressBar_refresh.TabIndex = 2; |
||||||
|
this.progressBar_refresh.Value = 30; |
||||||
|
// |
||||||
|
// groupBox_display |
||||||
|
// |
||||||
|
this.groupBox_display.Controls.Add(this.label_guard); |
||||||
|
this.groupBox_display.Location = new System.Drawing.Point(13, 57); |
||||||
|
this.groupBox_display.Name = "groupBox_display"; |
||||||
|
this.groupBox_display.Size = new System.Drawing.Size(620, 313); |
||||||
|
this.groupBox_display.TabIndex = 3; |
||||||
|
this.groupBox_display.TabStop = false; |
||||||
|
this.groupBox_display.Text = "Steam Guard"; |
||||||
|
// |
||||||
|
// label_guard |
||||||
|
// |
||||||
|
this.label_guard.Font = new System.Drawing.Font("微软雅黑", 72F); |
||||||
|
this.label_guard.ForeColor = System.Drawing.Color.DodgerBlue; |
||||||
|
this.label_guard.Location = new System.Drawing.Point(6, 25); |
||||||
|
this.label_guard.Name = "label_guard"; |
||||||
|
this.label_guard.Size = new System.Drawing.Size(608, 299); |
||||||
|
this.label_guard.TabIndex = 1; |
||||||
|
this.label_guard.Text = "令二哈"; |
||||||
|
this.label_guard.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; |
||||||
|
// |
||||||
|
// button_recalc |
||||||
|
// |
||||||
|
this.button_recalc.Location = new System.Drawing.Point(428, 384); |
||||||
|
this.button_recalc.Name = "button_recalc"; |
||||||
|
this.button_recalc.Size = new System.Drawing.Size(99, 30); |
||||||
|
this.button_recalc.TabIndex = 4; |
||||||
|
this.button_recalc.Text = "重新计算"; |
||||||
|
this.button_recalc.UseVisualStyleBackColor = true; |
||||||
|
this.button_recalc.Click += new System.EventHandler(this.button_recalc_Click); |
||||||
|
// |
||||||
|
// button_copy |
||||||
|
// |
||||||
|
this.button_copy.Location = new System.Drawing.Point(534, 384); |
||||||
|
this.button_copy.Name = "button_copy"; |
||||||
|
this.button_copy.Size = new System.Drawing.Size(99, 30); |
||||||
|
this.button_copy.TabIndex = 4; |
||||||
|
this.button_copy.Text = "复制"; |
||||||
|
this.button_copy.UseVisualStyleBackColor = true; |
||||||
|
this.button_copy.Click += new System.EventHandler(this.button_copy_Click); |
||||||
|
// |
||||||
|
// comboBox1 |
||||||
|
// |
||||||
|
this.comboBox1.FormattingEnabled = true; |
||||||
|
this.comboBox1.Location = new System.Drawing.Point(199, 385); |
||||||
|
this.comboBox1.Name = "comboBox1"; |
||||||
|
this.comboBox1.Size = new System.Drawing.Size(223, 29); |
||||||
|
this.comboBox1.TabIndex = 5; |
||||||
|
this.comboBox1.Visible = false; |
||||||
|
// |
||||||
|
// timer_time |
||||||
|
// |
||||||
|
this.timer_time.Tick += new System.EventHandler(this.timer_time_Tick); |
||||||
|
// |
||||||
|
// label_datetime |
||||||
|
// |
||||||
|
this.label_datetime.AutoSize = true; |
||||||
|
this.label_datetime.Location = new System.Drawing.Point(12, 389); |
||||||
|
this.label_datetime.Name = "label_datetime"; |
||||||
|
this.label_datetime.Size = new System.Drawing.Size(105, 21); |
||||||
|
this.label_datetime.TabIndex = 6; |
||||||
|
this.label_datetime.Text = " "; |
||||||
|
// |
||||||
|
// mainForm |
||||||
|
// |
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F); |
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
||||||
|
this.ClientSize = new System.Drawing.Size(644, 425); |
||||||
|
this.Controls.Add(this.label_datetime); |
||||||
|
this.Controls.Add(this.comboBox1); |
||||||
|
this.Controls.Add(this.button_copy); |
||||||
|
this.Controls.Add(this.button_recalc); |
||||||
|
this.Controls.Add(this.groupBox_display); |
||||||
|
this.Controls.Add(this.progressBar_refresh); |
||||||
|
this.Controls.Add(this.menuStrip); |
||||||
|
this.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); |
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; |
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); |
||||||
|
this.MainMenuStrip = this.menuStrip; |
||||||
|
this.Margin = new System.Windows.Forms.Padding(5); |
||||||
|
this.MaximizeBox = false; |
||||||
|
this.MinimizeBox = false; |
||||||
|
this.Name = "mainForm"; |
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; |
||||||
|
this.Text = "Steam令牌计算器"; |
||||||
|
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.mainForm_FormClosed); |
||||||
|
this.menuStrip.ResumeLayout(false); |
||||||
|
this.menuStrip.PerformLayout(); |
||||||
|
this.groupBox_display.ResumeLayout(false); |
||||||
|
this.ResumeLayout(false); |
||||||
|
this.PerformLayout(); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
private System.Windows.Forms.MenuStrip menuStrip; |
||||||
|
private System.Windows.Forms.ToolStripMenuItem SettingToolStripMenuItem; |
||||||
|
private System.Windows.Forms.ToolStripMenuItem AboutToolStripMenuItem; |
||||||
|
private System.Windows.Forms.ToolStripMenuItem GuardToolStripMenuItem; |
||||||
|
private System.Windows.Forms.ToolStripMenuItem ProgramToolStripMenuItem; |
||||||
|
private System.Windows.Forms.ProgressBar progressBar_refresh; |
||||||
|
private System.Windows.Forms.GroupBox groupBox_display; |
||||||
|
private System.Windows.Forms.Button button_recalc; |
||||||
|
private System.Windows.Forms.Button button_copy; |
||||||
|
private System.Windows.Forms.ComboBox comboBox1; |
||||||
|
private System.Windows.Forms.Label label_guard; |
||||||
|
private System.Windows.Forms.Timer timer_time; |
||||||
|
private System.Windows.Forms.Label label_datetime; |
||||||
|
} |
||||||
|
} |
||||||
|
|
@ -0,0 +1,93 @@ |
|||||||
|
using steam_token.Entity; |
||||||
|
using steam_token.UI; |
||||||
|
using steam_token.UI.Set; |
||||||
|
using steam_token.Util; |
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.ComponentModel; |
||||||
|
using System.Data; |
||||||
|
using System.Drawing; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
using Util; |
||||||
|
|
||||||
|
namespace steam_token |
||||||
|
{ |
||||||
|
public partial class mainForm : Form |
||||||
|
{ |
||||||
|
public mainForm() |
||||||
|
{ |
||||||
|
InitializeComponent(); |
||||||
|
|
||||||
|
this.timer_time.Start(); |
||||||
|
|
||||||
|
// 先计算一次 |
||||||
|
this.label_guard.Text = CalcOnce(); |
||||||
|
|
||||||
|
// 新开一个线程去初始化数据 |
||||||
|
SteamGuardCalcThread.StartThread(this.label_guard, this.progressBar_refresh); |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 打开令牌配置页面 |
||||||
|
/// </summary> |
||||||
|
/// <param name="sender"></param> |
||||||
|
/// <param name="e"></param> |
||||||
|
private void GuardToolStripMenuItem_Click(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
GuardConfig guard = new GuardConfig(); |
||||||
|
guard.ShowDialog(this); |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 打开程序设置页面 |
||||||
|
/// </summary> |
||||||
|
/// <param name="sender"></param> |
||||||
|
/// <param name="e"></param> |
||||||
|
|
||||||
|
private void ProgramToolStripMenuItem_Click(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
ProgramConfig program = new ProgramConfig(); |
||||||
|
program.ShowDialog(this); |
||||||
|
} |
||||||
|
|
||||||
|
private void button_recalc_Click(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.label_guard.Text = CalcOnce(); |
||||||
|
|
||||||
|
SteamGuardCalcThread.StartThread(this.label_guard, this.progressBar_refresh); |
||||||
|
} |
||||||
|
|
||||||
|
private string CalcOnce() |
||||||
|
{ |
||||||
|
Config config = ConfigUtil.Read<Config>(); |
||||||
|
string guard = SteamTwoFactorToken.GenerateSteamGuardCode(config.SteamGuard.shared_secret); |
||||||
|
Console.WriteLine("guard = " + guard); |
||||||
|
return guard; |
||||||
|
} |
||||||
|
|
||||||
|
private void button_copy_Click(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
Clipboard.SetDataObject(this.label_guard.Text); |
||||||
|
} |
||||||
|
|
||||||
|
private void timer_time_Tick(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.label_datetime.Text = DateTime.Now.ToString(); |
||||||
|
} |
||||||
|
|
||||||
|
private void mainForm_FormClosed(object sender, FormClosedEventArgs e) |
||||||
|
{ |
||||||
|
Environment.Exit(0); |
||||||
|
} |
||||||
|
|
||||||
|
private void AboutToolStripMenuItem_Click(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
AboutForm about = new AboutForm(); |
||||||
|
about.ShowDialog(this); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,362 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<root> |
||||||
|
<!-- |
||||||
|
Microsoft ResX Schema |
||||||
|
|
||||||
|
Version 2.0 |
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format |
||||||
|
that is mostly human readable. The generation and parsing of the |
||||||
|
various data types are done through the TypeConverter classes |
||||||
|
associated with the data types. |
||||||
|
|
||||||
|
Example: |
||||||
|
|
||||||
|
... ado.net/XML headers & schema ... |
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader> |
||||||
|
<resheader name="version">2.0</resheader> |
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value> |
||||||
|
</data> |
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
||||||
|
<comment>This is a comment</comment> |
||||||
|
</data> |
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple |
||||||
|
name/value pairs. |
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a |
||||||
|
type or mimetype. Type corresponds to a .NET class that support |
||||||
|
text/value conversion through the TypeConverter architecture. |
||||||
|
Classes that don't support this are serialized and stored with the |
||||||
|
mimetype set. |
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the |
||||||
|
ResXResourceReader how to depersist the object. This is currently not |
||||||
|
extensible. For a given mimetype the value must be set accordingly: |
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format |
||||||
|
that the ResXResourceWriter will generate, however the reader can |
||||||
|
read any of the formats listed below. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64 |
||||||
|
value : The object must be serialized into a byte array |
||||||
|
: using a System.ComponentModel.TypeConverter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
--> |
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
||||||
|
<xsd:element name="root" msdata:IsDataSet="true"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:choice maxOccurs="unbounded"> |
||||||
|
<xsd:element name="metadata"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="assembly"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:attribute name="alias" type="xsd:string" /> |
||||||
|
<xsd:attribute name="name" type="xsd:string" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="data"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="resheader"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:choice> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:schema> |
||||||
|
<resheader name="resmimetype"> |
||||||
|
<value>text/microsoft-resx</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="version"> |
||||||
|
<value>2.0</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="reader"> |
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="writer"> |
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
||||||
|
<value>17, 17</value> |
||||||
|
</metadata> |
||||||
|
<metadata name="timer_time.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
||||||
|
<value>130, 17</value> |
||||||
|
</metadata> |
||||||
|
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||||
|
<value>True</value> |
||||||
|
</metadata> |
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> |
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||||
|
<value> |
||||||
|
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 |
||||||
|
</value> |
||||||
|
</data> |
||||||
|
</root> |
@ -0,0 +1,25 @@ |
|||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
using Util; |
||||||
|
|
||||||
|
namespace steam_token |
||||||
|
{ |
||||||
|
static class Program |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// 应用程序的主入口点。 |
||||||
|
/// </summary> |
||||||
|
[STAThread] |
||||||
|
static void Main() |
||||||
|
{ |
||||||
|
Control.CheckForIllegalCrossThreadCalls = false; |
||||||
|
ConfigUtil.Init(new steam_token.Entity.Config()); |
||||||
|
Application.EnableVisualStyles(); |
||||||
|
Application.SetCompatibleTextRenderingDefault(false); |
||||||
|
Application.Run(new mainForm()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,36 @@ |
|||||||
|
using System.Reflection; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
// 有关程序集的一般信息由以下 |
||||||
|
// 控制。更改这些特性值可修改 |
||||||
|
// 与程序集关联的信息。 |
||||||
|
[assembly: AssemblyTitle("steam-token")] |
||||||
|
[assembly: AssemblyDescription("")] |
||||||
|
[assembly: AssemblyConfiguration("")] |
||||||
|
[assembly: AssemblyCompany("")] |
||||||
|
[assembly: AssemblyProduct("steam-token")] |
||||||
|
[assembly: AssemblyCopyright("Copyright © 2022")] |
||||||
|
[assembly: AssemblyTrademark("")] |
||||||
|
[assembly: AssemblyCulture("")] |
||||||
|
|
||||||
|
// 将 ComVisible 设置为 false 会使此程序集中的类型 |
||||||
|
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 |
||||||
|
//请将此类型的 ComVisible 特性设置为 true。 |
||||||
|
[assembly: ComVisible(false)] |
||||||
|
|
||||||
|
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID |
||||||
|
[assembly: Guid("26555785-e311-4f28-a28d-dd96b3165b98")] |
||||||
|
|
||||||
|
// 程序集的版本信息由下列四个值组成: |
||||||
|
// |
||||||
|
// 主版本 |
||||||
|
// 次版本 |
||||||
|
// 生成号 |
||||||
|
// 修订号 |
||||||
|
// |
||||||
|
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 |
||||||
|
//通过使用 "*",如下所示: |
||||||
|
// [assembly: AssemblyVersion("1.0.*")] |
||||||
|
[assembly: AssemblyVersion("1.0.0.0")] |
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")] |
@ -0,0 +1,91 @@ |
|||||||
|
//------------------------------------------------------------------------------ |
||||||
|
// <auto-generated> |
||||||
|
// 此代码由工具生成。 |
||||||
|
// 运行时版本:4.0.30319.42000 |
||||||
|
// |
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果 |
||||||
|
// 重新生成代码,这些更改将会丢失。 |
||||||
|
// </auto-generated> |
||||||
|
//------------------------------------------------------------------------------ |
||||||
|
|
||||||
|
namespace steam_token.Properties { |
||||||
|
using System; |
||||||
|
|
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 一个强类型的资源类,用于查找本地化的字符串等。 |
||||||
|
/// </summary> |
||||||
|
// 此类是由 StronglyTypedResourceBuilder |
||||||
|
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 |
||||||
|
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen |
||||||
|
// (以 /str 作为命令选项),或重新生成 VS 项目。 |
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] |
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
||||||
|
internal class Resources { |
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan; |
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture; |
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] |
||||||
|
internal Resources() { |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 返回此类使用的缓存的 ResourceManager 实例。 |
||||||
|
/// </summary> |
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager { |
||||||
|
get { |
||||||
|
if (object.ReferenceEquals(resourceMan, null)) { |
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("steam_token.Properties.Resources", typeof(Resources).Assembly); |
||||||
|
resourceMan = temp; |
||||||
|
} |
||||||
|
return resourceMan; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 重写当前线程的 CurrentUICulture 属性,对 |
||||||
|
/// 使用此强类型资源类的所有资源查找执行重写。 |
||||||
|
/// </summary> |
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] |
||||||
|
internal static global::System.Globalization.CultureInfo Culture { |
||||||
|
get { |
||||||
|
return resourceCulture; |
||||||
|
} |
||||||
|
set { |
||||||
|
resourceCulture = value; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 查找类似 SteamGuard 的本地化字符串。 |
||||||
|
/// </summary> |
||||||
|
internal static string CONFIG_FOLDER { |
||||||
|
get { |
||||||
|
return ResourceManager.GetString("CONFIG_FOLDER", resourceCulture); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 查找类似 config.json 的本地化字符串。 |
||||||
|
/// </summary> |
||||||
|
internal static string CONFIG_NAME { |
||||||
|
get { |
||||||
|
return ResourceManager.GetString("CONFIG_NAME", resourceCulture); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。 |
||||||
|
/// </summary> |
||||||
|
internal static System.Drawing.Bitmap steam_token { |
||||||
|
get { |
||||||
|
object obj = ResourceManager.GetObject("steam_token", resourceCulture); |
||||||
|
return ((System.Drawing.Bitmap)(obj)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,131 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<root> |
||||||
|
<!-- |
||||||
|
Microsoft ResX Schema |
||||||
|
|
||||||
|
Version 2.0 |
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format |
||||||
|
that is mostly human readable. The generation and parsing of the |
||||||
|
various data types are done through the TypeConverter classes |
||||||
|
associated with the data types. |
||||||
|
|
||||||
|
Example: |
||||||
|
|
||||||
|
... ado.net/XML headers & schema ... |
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader> |
||||||
|
<resheader name="version">2.0</resheader> |
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value> |
||||||
|
</data> |
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
||||||
|
<comment>This is a comment</comment> |
||||||
|
</data> |
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple |
||||||
|
name/value pairs. |
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a |
||||||
|
type or mimetype. Type corresponds to a .NET class that support |
||||||
|
text/value conversion through the TypeConverter architecture. |
||||||
|
Classes that don't support this are serialized and stored with the |
||||||
|
mimetype set. |
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the |
||||||
|
ResXResourceReader how to depersist the object. This is currently not |
||||||
|
extensible. For a given mimetype the value must be set accordingly: |
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format |
||||||
|
that the ResXResourceWriter will generate, however the reader can |
||||||
|
read any of the formats listed below. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64 |
||||||
|
value : The object must be serialized into a byte array |
||||||
|
: using a System.ComponentModel.TypeConverter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
--> |
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
||||||
|
<xsd:element name="root" msdata:IsDataSet="true"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:choice maxOccurs="unbounded"> |
||||||
|
<xsd:element name="metadata"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="assembly"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:attribute name="alias" type="xsd:string" /> |
||||||
|
<xsd:attribute name="name" type="xsd:string" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="data"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="resheader"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:choice> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:schema> |
||||||
|
<resheader name="resmimetype"> |
||||||
|
<value>text/microsoft-resx</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="version"> |
||||||
|
<value>2.0</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="reader"> |
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="writer"> |
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<data name="CONFIG_FOLDER" xml:space="preserve"> |
||||||
|
<value>SteamGuard</value> |
||||||
|
</data> |
||||||
|
<data name="CONFIG_NAME" xml:space="preserve"> |
||||||
|
<value>config.json</value> |
||||||
|
<comment>配置文件</comment> |
||||||
|
</data> |
||||||
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> |
||||||
|
<data name="steam_token" type="System.Resources.ResXFileRef, System.Windows.Forms"> |
||||||
|
<value>..\Assets\Image\steam-token.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> |
||||||
|
</data> |
||||||
|
</root> |
@ -0,0 +1,29 @@ |
|||||||
|
//------------------------------------------------------------------------------ |
||||||
|
// <auto-generated> |
||||||
|
// This code was generated by a tool. |
||||||
|
// Runtime Version:4.0.30319.42000 |
||||||
|
// |
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if |
||||||
|
// the code is regenerated. |
||||||
|
// </auto-generated> |
||||||
|
//------------------------------------------------------------------------------ |
||||||
|
|
||||||
|
|
||||||
|
namespace steam_token.Properties |
||||||
|
{ |
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] |
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] |
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase |
||||||
|
{ |
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); |
||||||
|
|
||||||
|
public static Settings Default |
||||||
|
{ |
||||||
|
get |
||||||
|
{ |
||||||
|
return defaultInstance; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
<?xml version='1.0' encoding='utf-8'?> |
||||||
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> |
||||||
|
<Profiles> |
||||||
|
<Profile Name="(Default)" /> |
||||||
|
</Profiles> |
||||||
|
<Settings /> |
||||||
|
</SettingsFile> |
@ -0,0 +1,136 @@ |
|||||||
|
|
||||||
|
namespace steam_token.UI |
||||||
|
{ |
||||||
|
partial class AboutForm |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// Required designer variable. |
||||||
|
/// </summary> |
||||||
|
private System.ComponentModel.IContainer components = null; |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Clean up any resources being used. |
||||||
|
/// </summary> |
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> |
||||||
|
protected override void Dispose(bool disposing) |
||||||
|
{ |
||||||
|
if (disposing && (components != null)) |
||||||
|
{ |
||||||
|
components.Dispose(); |
||||||
|
} |
||||||
|
base.Dispose(disposing); |
||||||
|
} |
||||||
|
|
||||||
|
#region Windows Form Designer generated code |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Required method for Designer support - do not modify |
||||||
|
/// the contents of this method with the code editor. |
||||||
|
/// </summary> |
||||||
|
private void InitializeComponent() |
||||||
|
{ |
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); |
||||||
|
this.label1 = new System.Windows.Forms.Label(); |
||||||
|
this.linkLabel_openurl = new System.Windows.Forms.LinkLabel(); |
||||||
|
this.label2 = new System.Windows.Forms.Label(); |
||||||
|
this.label3 = new System.Windows.Forms.Label(); |
||||||
|
this.pictureBox1 = new System.Windows.Forms.PictureBox(); |
||||||
|
this.button_about_confirm = new System.Windows.Forms.Button(); |
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); |
||||||
|
this.SuspendLayout(); |
||||||
|
// |
||||||
|
// label1 |
||||||
|
// |
||||||
|
this.label1.AutoSize = true; |
||||||
|
this.label1.Location = new System.Drawing.Point(105, 30); |
||||||
|
this.label1.Name = "label1"; |
||||||
|
this.label1.Size = new System.Drawing.Size(286, 21); |
||||||
|
this.label1.TabIndex = 0; |
||||||
|
this.label1.Text = "Steam令牌计算器 v1.0 @niushuai233"; |
||||||
|
// |
||||||
|
// linkLabel_openurl |
||||||
|
// |
||||||
|
this.linkLabel_openurl.AutoSize = true; |
||||||
|
this.linkLabel_openurl.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline; |
||||||
|
this.linkLabel_openurl.Location = new System.Drawing.Point(105, 115); |
||||||
|
this.linkLabel_openurl.Name = "linkLabel_openurl"; |
||||||
|
this.linkLabel_openurl.Size = new System.Drawing.Size(390, 21); |
||||||
|
this.linkLabel_openurl.TabIndex = 1; |
||||||
|
this.linkLabel_openurl.TabStop = true; |
||||||
|
this.linkLabel_openurl.Text = "https://github.com/niushuai233/steam-token-win"; |
||||||
|
this.linkLabel_openurl.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_openurl_LinkClicked); |
||||||
|
// |
||||||
|
// label2 |
||||||
|
// |
||||||
|
this.label2.AutoSize = true; |
||||||
|
this.label2.Location = new System.Drawing.Point(21, 115); |
||||||
|
this.label2.Name = "label2"; |
||||||
|
this.label2.Size = new System.Drawing.Size(78, 21); |
||||||
|
this.label2.TabIndex = 2; |
||||||
|
this.label2.Text = "开源地址:"; |
||||||
|
// |
||||||
|
// label3 |
||||||
|
// |
||||||
|
this.label3.AutoSize = true; |
||||||
|
this.label3.Location = new System.Drawing.Point(105, 70); |
||||||
|
this.label3.Name = "label3"; |
||||||
|
this.label3.Size = new System.Drawing.Size(72, 21); |
||||||
|
this.label3.TabIndex = 3; |
||||||
|
this.label3.Text = "欢迎Star"; |
||||||
|
// |
||||||
|
// pictureBox1 |
||||||
|
// |
||||||
|
this.pictureBox1.InitialImage = global::steam_token.Properties.Resources.steam_token; |
||||||
|
this.pictureBox1.Location = new System.Drawing.Point(24, 20); |
||||||
|
this.pictureBox1.Name = "pictureBox1"; |
||||||
|
this.pictureBox1.Size = new System.Drawing.Size(75, 75); |
||||||
|
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; |
||||||
|
this.pictureBox1.TabIndex = 4; |
||||||
|
this.pictureBox1.TabStop = false; |
||||||
|
// |
||||||
|
// button_about_confirm |
||||||
|
// |
||||||
|
this.button_about_confirm.Location = new System.Drawing.Point(394, 156); |
||||||
|
this.button_about_confirm.Name = "button_about_confirm"; |
||||||
|
this.button_about_confirm.Size = new System.Drawing.Size(90, 32); |
||||||
|
this.button_about_confirm.TabIndex = 5; |
||||||
|
this.button_about_confirm.Text = "关闭"; |
||||||
|
this.button_about_confirm.UseVisualStyleBackColor = true; |
||||||
|
this.button_about_confirm.Click += new System.EventHandler(this.button_about_confirm_Click); |
||||||
|
// |
||||||
|
// AboutForm |
||||||
|
// |
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F); |
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
||||||
|
this.ClientSize = new System.Drawing.Size(496, 200); |
||||||
|
this.Controls.Add(this.button_about_confirm); |
||||||
|
this.Controls.Add(this.pictureBox1); |
||||||
|
this.Controls.Add(this.label3); |
||||||
|
this.Controls.Add(this.label2); |
||||||
|
this.Controls.Add(this.linkLabel_openurl); |
||||||
|
this.Controls.Add(this.label1); |
||||||
|
this.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); |
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; |
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); |
||||||
|
this.Margin = new System.Windows.Forms.Padding(5); |
||||||
|
this.MaximizeBox = false; |
||||||
|
this.MinimizeBox = false; |
||||||
|
this.Name = "AboutForm"; |
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; |
||||||
|
this.Text = "关于"; |
||||||
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); |
||||||
|
this.ResumeLayout(false); |
||||||
|
this.PerformLayout(); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
|
||||||
|
private System.Windows.Forms.Label label1; |
||||||
|
private System.Windows.Forms.LinkLabel linkLabel_openurl; |
||||||
|
private System.Windows.Forms.Label label2; |
||||||
|
private System.Windows.Forms.Label label3; |
||||||
|
private System.Windows.Forms.PictureBox pictureBox1; |
||||||
|
private System.Windows.Forms.Button button_about_confirm; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.ComponentModel; |
||||||
|
using System.Data; |
||||||
|
using System.Drawing; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
|
||||||
|
namespace steam_token.UI |
||||||
|
{ |
||||||
|
public partial class AboutForm : Form |
||||||
|
{ |
||||||
|
public AboutForm() |
||||||
|
{ |
||||||
|
InitializeComponent(); |
||||||
|
// 初始化图片 |
||||||
|
this.pictureBox1.Image = Properties.Resources.steam_token; |
||||||
|
} |
||||||
|
|
||||||
|
private void button_about_confirm_Click(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.Close(); |
||||||
|
} |
||||||
|
|
||||||
|
private void linkLabel_openurl_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) |
||||||
|
{ |
||||||
|
System.Diagnostics.Process.Start(this.linkLabel_openurl.Text); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,356 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<root> |
||||||
|
<!-- |
||||||
|
Microsoft ResX Schema |
||||||
|
|
||||||
|
Version 2.0 |
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format |
||||||
|
that is mostly human readable. The generation and parsing of the |
||||||
|
various data types are done through the TypeConverter classes |
||||||
|
associated with the data types. |
||||||
|
|
||||||
|
Example: |
||||||
|
|
||||||
|
... ado.net/XML headers & schema ... |
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader> |
||||||
|
<resheader name="version">2.0</resheader> |
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value> |
||||||
|
</data> |
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
||||||
|
<comment>This is a comment</comment> |
||||||
|
</data> |
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple |
||||||
|
name/value pairs. |
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a |
||||||
|
type or mimetype. Type corresponds to a .NET class that support |
||||||
|
text/value conversion through the TypeConverter architecture. |
||||||
|
Classes that don't support this are serialized and stored with the |
||||||
|
mimetype set. |
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the |
||||||
|
ResXResourceReader how to depersist the object. This is currently not |
||||||
|
extensible. For a given mimetype the value must be set accordingly: |
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format |
||||||
|
that the ResXResourceWriter will generate, however the reader can |
||||||
|
read any of the formats listed below. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64 |
||||||
|
value : The object must be serialized into a byte array |
||||||
|
: using a System.ComponentModel.TypeConverter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
--> |
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
||||||
|
<xsd:element name="root" msdata:IsDataSet="true"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:choice maxOccurs="unbounded"> |
||||||
|
<xsd:element name="metadata"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="assembly"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:attribute name="alias" type="xsd:string" /> |
||||||
|
<xsd:attribute name="name" type="xsd:string" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="data"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="resheader"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:choice> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:schema> |
||||||
|
<resheader name="resmimetype"> |
||||||
|
<value>text/microsoft-resx</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="version"> |
||||||
|
<value>2.0</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="reader"> |
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="writer"> |
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||||
|
<value>True</value> |
||||||
|
</metadata> |
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> |
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||||
|
<value> |
||||||
|
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 |
||||||
|
</value> |
||||||
|
</data> |
||||||
|
</root> |
@ -0,0 +1,135 @@ |
|||||||
|
|
||||||
|
namespace steam_token.UI.Set |
||||||
|
{ |
||||||
|
partial class GuardConfig |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// Required designer variable. |
||||||
|
/// </summary> |
||||||
|
private System.ComponentModel.IContainer components = null; |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Clean up any resources being used. |
||||||
|
/// </summary> |
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> |
||||||
|
protected override void Dispose(bool disposing) |
||||||
|
{ |
||||||
|
if (disposing && (components != null)) |
||||||
|
{ |
||||||
|
components.Dispose(); |
||||||
|
} |
||||||
|
base.Dispose(disposing); |
||||||
|
} |
||||||
|
|
||||||
|
#region Windows Form Designer generated code |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Required method for Designer support - do not modify |
||||||
|
/// the contents of this method with the code editor. |
||||||
|
/// </summary> |
||||||
|
private void InitializeComponent() |
||||||
|
{ |
||||||
|
this.button_confirm = new System.Windows.Forms.Button(); |
||||||
|
this.openFileDialog_steam = new System.Windows.Forms.OpenFileDialog(); |
||||||
|
this.textBox_shared_secret = new System.Windows.Forms.TextBox(); |
||||||
|
this.label1 = new System.Windows.Forms.Label(); |
||||||
|
this.button_openfile = new System.Windows.Forms.Button(); |
||||||
|
this.label2 = new System.Windows.Forms.Label(); |
||||||
|
this.label3 = new System.Windows.Forms.Label(); |
||||||
|
this.SuspendLayout(); |
||||||
|
// |
||||||
|
// button_confirm |
||||||
|
// |
||||||
|
this.button_confirm.Location = new System.Drawing.Point(451, 97); |
||||||
|
this.button_confirm.Name = "button_confirm"; |
||||||
|
this.button_confirm.Size = new System.Drawing.Size(85, 30); |
||||||
|
this.button_confirm.TabIndex = 1; |
||||||
|
this.button_confirm.Text = "确定"; |
||||||
|
this.button_confirm.UseVisualStyleBackColor = true; |
||||||
|
this.button_confirm.Click += new System.EventHandler(this.button_confirm_Click); |
||||||
|
// |
||||||
|
// openFileDialog_steam |
||||||
|
// |
||||||
|
this.openFileDialog_steam.FileName = "openFileDialog1"; |
||||||
|
this.openFileDialog_steam.Title = "请选择Steam令牌文件"; |
||||||
|
// |
||||||
|
// textBox_shared_secret |
||||||
|
// |
||||||
|
this.textBox_shared_secret.Location = new System.Drawing.Point(16, 59); |
||||||
|
this.textBox_shared_secret.Name = "textBox_shared_secret"; |
||||||
|
this.textBox_shared_secret.Size = new System.Drawing.Size(428, 29); |
||||||
|
this.textBox_shared_secret.TabIndex = 2; |
||||||
|
// |
||||||
|
// label1 |
||||||
|
// |
||||||
|
this.label1.AutoSize = true; |
||||||
|
this.label1.Location = new System.Drawing.Point(12, 9); |
||||||
|
this.label1.Name = "label1"; |
||||||
|
this.label1.Size = new System.Drawing.Size(363, 21); |
||||||
|
this.label1.TabIndex = 3; |
||||||
|
this.label1.Text = "请输入位于Steam令牌文件中的[shared_secret]值"; |
||||||
|
// |
||||||
|
// button_openfile |
||||||
|
// |
||||||
|
this.button_openfile.Location = new System.Drawing.Point(451, 59); |
||||||
|
this.button_openfile.Name = "button_openfile"; |
||||||
|
this.button_openfile.Size = new System.Drawing.Size(85, 30); |
||||||
|
this.button_openfile.TabIndex = 1; |
||||||
|
this.button_openfile.Text = "选择文件"; |
||||||
|
this.button_openfile.UseVisualStyleBackColor = true; |
||||||
|
this.button_openfile.Click += new System.EventHandler(this.button_openfile_Click); |
||||||
|
// |
||||||
|
// label2 |
||||||
|
// |
||||||
|
this.label2.AutoSize = true; |
||||||
|
this.label2.Font = new System.Drawing.Font("微软雅黑", 9F); |
||||||
|
this.label2.ForeColor = System.Drawing.Color.Red; |
||||||
|
this.label2.Location = new System.Drawing.Point(13, 36); |
||||||
|
this.label2.Name = "label2"; |
||||||
|
this.label2.Size = new System.Drawing.Size(462, 17); |
||||||
|
this.label2.TabIndex = 4; |
||||||
|
this.label2.Text = "/data/data/com.valvesoftware.android.steam.community/files/Steamguard-xxx"; |
||||||
|
// |
||||||
|
// label3 |
||||||
|
// |
||||||
|
this.label3.AutoSize = true; |
||||||
|
this.label3.Font = new System.Drawing.Font("微软雅黑", 10F); |
||||||
|
this.label3.Location = new System.Drawing.Point(16, 101); |
||||||
|
this.label3.Name = "label3"; |
||||||
|
this.label3.Size = new System.Drawing.Size(309, 20); |
||||||
|
this.label3.TabIndex = 5; |
||||||
|
this.label3.Text = "Tips: 手机需root或者能通过备份手段拿到该文件"; |
||||||
|
// |
||||||
|
// GuardConfig |
||||||
|
// |
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F); |
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
||||||
|
this.ClientSize = new System.Drawing.Size(539, 132); |
||||||
|
this.Controls.Add(this.label3); |
||||||
|
this.Controls.Add(this.label2); |
||||||
|
this.Controls.Add(this.label1); |
||||||
|
this.Controls.Add(this.textBox_shared_secret); |
||||||
|
this.Controls.Add(this.button_openfile); |
||||||
|
this.Controls.Add(this.button_confirm); |
||||||
|
this.Font = new System.Drawing.Font("微软雅黑", 12F); |
||||||
|
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); |
||||||
|
this.MaximizeBox = false; |
||||||
|
this.MinimizeBox = false; |
||||||
|
this.Name = "GuardConfig"; |
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; |
||||||
|
this.Text = "令牌配置"; |
||||||
|
this.ResumeLayout(false); |
||||||
|
this.PerformLayout(); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
private System.Windows.Forms.Button button_confirm; |
||||||
|
private System.Windows.Forms.OpenFileDialog openFileDialog_steam; |
||||||
|
private System.Windows.Forms.TextBox textBox_shared_secret; |
||||||
|
private System.Windows.Forms.Label label1; |
||||||
|
private System.Windows.Forms.Button button_openfile; |
||||||
|
private System.Windows.Forms.Label label2; |
||||||
|
private System.Windows.Forms.Label label3; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,95 @@ |
|||||||
|
using Newtonsoft.Json; |
||||||
|
using steam_token.Entity; |
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.ComponentModel; |
||||||
|
using System.Data; |
||||||
|
using System.Drawing; |
||||||
|
using System.IO; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
using Util; |
||||||
|
|
||||||
|
namespace steam_token.UI.Set |
||||||
|
{ |
||||||
|
public partial class GuardConfig : Form |
||||||
|
{ |
||||||
|
private SteamGuard steamGuard; |
||||||
|
public GuardConfig() |
||||||
|
{ |
||||||
|
InitializeComponent(); |
||||||
|
// 先初始化组件 再使用 |
||||||
|
Config config = ConfigUtil.Read<Config>(); |
||||||
|
steamGuard = config.SteamGuard; |
||||||
|
if (null != steamGuard && !string.IsNullOrEmpty(steamGuard.shared_secret)) |
||||||
|
{ |
||||||
|
this.textBox_shared_secret.Text = steamGuard.shared_secret; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void button_openfile_Click(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
this.openFileDialog_steam.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); |
||||||
|
if (this.openFileDialog_steam.ShowDialog() == DialogResult.OK) |
||||||
|
{ |
||||||
|
ReadFile(this.openFileDialog_steam.FileName); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void ReadFile(string fileName) |
||||||
|
{ |
||||||
|
FileInfo file = new FileInfo(fileName); |
||||||
|
if (!file.Exists) |
||||||
|
{ |
||||||
|
MessageBox.Show("文件" + fileName + "不存在"); |
||||||
|
} |
||||||
|
|
||||||
|
if (file.Length > 1024 * 2) |
||||||
|
{ |
||||||
|
MessageBox.Show("文件大小错误, 鉴定为不合适的文件"); |
||||||
|
} |
||||||
|
|
||||||
|
byte[] bytes = File.ReadAllBytes(fileName); |
||||||
|
string fileStr = Encoding.UTF8.GetString(bytes); |
||||||
|
|
||||||
|
ParseSteamGuard(fileStr); |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
private void ParseSteamGuard(string fileStr) |
||||||
|
{ |
||||||
|
try |
||||||
|
{ |
||||||
|
steamGuard = JsonConvert.DeserializeObject<SteamGuard>(fileStr); |
||||||
|
Console.WriteLine(steamGuard); |
||||||
|
|
||||||
|
this.textBox_shared_secret.Text = steamGuard.shared_secret; |
||||||
|
} |
||||||
|
catch (JsonReaderException) |
||||||
|
{ |
||||||
|
MessageBox.Show("文件内容不符合要求, 请不要修改拷贝出来的文件"); |
||||||
|
} |
||||||
|
catch (Exception) |
||||||
|
{ |
||||||
|
MessageBox.Show("未知异常, 请通知作者, 感谢!"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void button_confirm_Click(object sender, EventArgs e) |
||||||
|
{ |
||||||
|
if (null == steamGuard) |
||||||
|
{ |
||||||
|
MessageBox.Show("熬, 未知操作!!!"); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
Config config = ConfigUtil.Read<Config>(); |
||||||
|
config.SteamGuard = steamGuard; |
||||||
|
ConfigUtil.Save<Config>(config); |
||||||
|
this.Dispose(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,126 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<root> |
||||||
|
<!-- |
||||||
|
Microsoft ResX Schema |
||||||
|
|
||||||
|
Version 2.0 |
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format |
||||||
|
that is mostly human readable. The generation and parsing of the |
||||||
|
various data types are done through the TypeConverter classes |
||||||
|
associated with the data types. |
||||||
|
|
||||||
|
Example: |
||||||
|
|
||||||
|
... ado.net/XML headers & schema ... |
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader> |
||||||
|
<resheader name="version">2.0</resheader> |
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value> |
||||||
|
</data> |
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
||||||
|
<comment>This is a comment</comment> |
||||||
|
</data> |
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple |
||||||
|
name/value pairs. |
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a |
||||||
|
type or mimetype. Type corresponds to a .NET class that support |
||||||
|
text/value conversion through the TypeConverter architecture. |
||||||
|
Classes that don't support this are serialized and stored with the |
||||||
|
mimetype set. |
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the |
||||||
|
ResXResourceReader how to depersist the object. This is currently not |
||||||
|
extensible. For a given mimetype the value must be set accordingly: |
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format |
||||||
|
that the ResXResourceWriter will generate, however the reader can |
||||||
|
read any of the formats listed below. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64 |
||||||
|
value : The object must be serialized into a byte array |
||||||
|
: using a System.ComponentModel.TypeConverter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
--> |
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
||||||
|
<xsd:element name="root" msdata:IsDataSet="true"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:choice maxOccurs="unbounded"> |
||||||
|
<xsd:element name="metadata"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="assembly"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:attribute name="alias" type="xsd:string" /> |
||||||
|
<xsd:attribute name="name" type="xsd:string" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="data"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="resheader"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:choice> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:schema> |
||||||
|
<resheader name="resmimetype"> |
||||||
|
<value>text/microsoft-resx</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="version"> |
||||||
|
<value>2.0</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="reader"> |
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="writer"> |
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<metadata name="openFileDialog_steam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
||||||
|
<value>17, 17</value> |
||||||
|
</metadata> |
||||||
|
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
||||||
|
<value>True</value> |
||||||
|
</metadata> |
||||||
|
</root> |
@ -0,0 +1,52 @@ |
|||||||
|
|
||||||
|
namespace steam_token.UI.Set |
||||||
|
{ |
||||||
|
partial class ProgramConfig |
||||||
|
{ |
||||||
|
/// <summary> |
||||||
|
/// Required designer variable. |
||||||
|
/// </summary> |
||||||
|
private System.ComponentModel.IContainer components = null; |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Clean up any resources being used. |
||||||
|
/// </summary> |
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> |
||||||
|
protected override void Dispose(bool disposing) |
||||||
|
{ |
||||||
|
if (disposing && (components != null)) |
||||||
|
{ |
||||||
|
components.Dispose(); |
||||||
|
} |
||||||
|
base.Dispose(disposing); |
||||||
|
} |
||||||
|
|
||||||
|
#region Windows Form Designer generated code |
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// Required method for Designer support - do not modify |
||||||
|
/// the contents of this method with the code editor. |
||||||
|
/// </summary> |
||||||
|
private void InitializeComponent() |
||||||
|
{ |
||||||
|
this.SuspendLayout(); |
||||||
|
// |
||||||
|
// ProgramConfig |
||||||
|
// |
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 21F); |
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
||||||
|
this.ClientSize = new System.Drawing.Size(539, 294); |
||||||
|
this.Font = new System.Drawing.Font("微软雅黑", 12F); |
||||||
|
this.Margin = new System.Windows.Forms.Padding(5); |
||||||
|
this.MaximizeBox = false; |
||||||
|
this.MinimizeBox = false; |
||||||
|
this.Name = "ProgramConfig"; |
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; |
||||||
|
this.Text = "设置"; |
||||||
|
this.ResumeLayout(false); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
#endregion |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.ComponentModel; |
||||||
|
using System.Data; |
||||||
|
using System.Drawing; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
|
||||||
|
namespace steam_token.UI.Set |
||||||
|
{ |
||||||
|
public partial class ProgramConfig : Form |
||||||
|
{ |
||||||
|
public ProgramConfig() |
||||||
|
{ |
||||||
|
InitializeComponent(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,120 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<root> |
||||||
|
<!-- |
||||||
|
Microsoft ResX Schema |
||||||
|
|
||||||
|
Version 2.0 |
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format |
||||||
|
that is mostly human readable. The generation and parsing of the |
||||||
|
various data types are done through the TypeConverter classes |
||||||
|
associated with the data types. |
||||||
|
|
||||||
|
Example: |
||||||
|
|
||||||
|
... ado.net/XML headers & schema ... |
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader> |
||||||
|
<resheader name="version">2.0</resheader> |
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value> |
||||||
|
</data> |
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
||||||
|
<comment>This is a comment</comment> |
||||||
|
</data> |
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple |
||||||
|
name/value pairs. |
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a |
||||||
|
type or mimetype. Type corresponds to a .NET class that support |
||||||
|
text/value conversion through the TypeConverter architecture. |
||||||
|
Classes that don't support this are serialized and stored with the |
||||||
|
mimetype set. |
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the |
||||||
|
ResXResourceReader how to depersist the object. This is currently not |
||||||
|
extensible. For a given mimetype the value must be set accordingly: |
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format |
||||||
|
that the ResXResourceWriter will generate, however the reader can |
||||||
|
read any of the formats listed below. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64 |
||||||
|
value : The object must be serialized with |
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64 |
||||||
|
value : The object must be serialized into a byte array |
||||||
|
: using a System.ComponentModel.TypeConverter |
||||||
|
: and then encoded with base64 encoding. |
||||||
|
--> |
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
||||||
|
<xsd:element name="root" msdata:IsDataSet="true"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:choice maxOccurs="unbounded"> |
||||||
|
<xsd:element name="metadata"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="assembly"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:attribute name="alias" type="xsd:string" /> |
||||||
|
<xsd:attribute name="name" type="xsd:string" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="data"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
||||||
|
<xsd:attribute ref="xml:space" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
<xsd:element name="resheader"> |
||||||
|
<xsd:complexType> |
||||||
|
<xsd:sequence> |
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
||||||
|
</xsd:sequence> |
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" /> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:choice> |
||||||
|
</xsd:complexType> |
||||||
|
</xsd:element> |
||||||
|
</xsd:schema> |
||||||
|
<resheader name="resmimetype"> |
||||||
|
<value>text/microsoft-resx</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="version"> |
||||||
|
<value>2.0</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="reader"> |
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
<resheader name="writer"> |
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
||||||
|
</resheader> |
||||||
|
</root> |
@ -0,0 +1,63 @@ |
|||||||
|
using Newtonsoft.Json; |
||||||
|
using steam_token.Entity; |
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.IO; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
|
||||||
|
namespace Util |
||||||
|
{ |
||||||
|
public class ConfigUtil |
||||||
|
{ |
||||||
|
public static string CONFIG_NAME = steam_token.Properties.Resources.CONFIG_NAME; |
||||||
|
public static string CONFIG_FOLDER = steam_token.Properties.Resources.CONFIG_FOLDER; |
||||||
|
|
||||||
|
public static void Init<T>(T t) |
||||||
|
{ |
||||||
|
string configPath = GetConfigPath(); |
||||||
|
if (File.Exists(configPath)) |
||||||
|
{ |
||||||
|
return; |
||||||
|
} |
||||||
|
File.WriteAllText(configPath, JsonConvert.SerializeObject(t)); |
||||||
|
} |
||||||
|
|
||||||
|
public static T Read<T>() |
||||||
|
{ |
||||||
|
string json = File.ReadAllText(GetConfigPath()); |
||||||
|
|
||||||
|
try |
||||||
|
{ |
||||||
|
return JsonConvert.DeserializeObject<T>(json); |
||||||
|
} |
||||||
|
catch (Exception) |
||||||
|
{ |
||||||
|
MessageBox.Show("配置文件内容异常, 请检查", json); |
||||||
|
} |
||||||
|
|
||||||
|
return default; |
||||||
|
} |
||||||
|
|
||||||
|
public static void Save<T>(T config) |
||||||
|
{ |
||||||
|
if (null == config) |
||||||
|
{ |
||||||
|
return; |
||||||
|
} |
||||||
|
File.WriteAllText(GetConfigPath(), JsonConvert.SerializeObject(config)); |
||||||
|
} |
||||||
|
|
||||||
|
private static string GetConfigPath() |
||||||
|
{ |
||||||
|
string folder = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "/niushuai233/" + CONFIG_FOLDER; |
||||||
|
if (!Directory.Exists(folder)) |
||||||
|
{ |
||||||
|
Directory.CreateDirectory(folder); |
||||||
|
} |
||||||
|
return folder + "/" + CONFIG_NAME; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,69 @@ |
|||||||
|
using steam_token.Entity; |
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
using Util; |
||||||
|
|
||||||
|
namespace steam_token.Util |
||||||
|
{ |
||||||
|
public class SteamGuardCalcThread |
||||||
|
{ |
||||||
|
private static Thread thread; |
||||||
|
private static Label label_guard; |
||||||
|
private static ProgressBar progressBar_refresh; |
||||||
|
internal static void StartThread(Label label, ProgressBar progressBar) |
||||||
|
{ |
||||||
|
label_guard = label; |
||||||
|
progressBar_refresh = progressBar; |
||||||
|
|
||||||
|
StartThread(); |
||||||
|
} |
||||||
|
|
||||||
|
private static void StartThread() |
||||||
|
{ |
||||||
|
if (thread != null && thread.IsAlive) |
||||||
|
{ |
||||||
|
// 先停止原先的线程 |
||||||
|
thread.Abort(); |
||||||
|
Console.WriteLine("中止线程"); |
||||||
|
} |
||||||
|
// 等1s 保证停止 |
||||||
|
// Thread.Sleep(1000); |
||||||
|
|
||||||
|
// 初始化线程 |
||||||
|
thread = new Thread(Calc); |
||||||
|
thread.Name = "SteamGuardCalcThread"; |
||||||
|
// 开启线程 |
||||||
|
thread.Start(); |
||||||
|
} |
||||||
|
|
||||||
|
private static void Calc() |
||||||
|
{ |
||||||
|
Config config = ConfigUtil.Read<Config>(); |
||||||
|
string shared_secret = config.SteamGuard.shared_secret; |
||||||
|
if (string.IsNullOrEmpty(shared_secret)) |
||||||
|
{ |
||||||
|
Console.WriteLine("未发现配置的秘钥"); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
for (int i = 30; i >= 0; i--) |
||||||
|
{ |
||||||
|
Thread.Sleep(1000); |
||||||
|
if (i == 0) |
||||||
|
{ |
||||||
|
string guard = SteamTwoFactorToken.GenerateSteamGuardCode(shared_secret); |
||||||
|
label_guard.Text = guard; |
||||||
|
i = 30; |
||||||
|
Console.WriteLine("重新设值: " + guard); |
||||||
|
} |
||||||
|
|
||||||
|
progressBar_refresh.Value = i; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,107 @@ |
|||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using System.Security.Cryptography; |
||||||
|
using System.Text; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
|
||||||
|
namespace steam_token.Util |
||||||
|
{ |
||||||
|
public class SteamTwoFactorToken |
||||||
|
{ |
||||||
|
private static byte[] s_rgchSteamguardCodeChars = { 50, 51, 52, 53, 54, 55, 56, 57, 66, 67, 68, 70, 71, 72, 74, 75, 77, 78, 80, 81, 82, 84, 86, 87, 88, 89 }; |
||||||
|
private byte[] mSecret; |
||||||
|
|
||||||
|
public SteamTwoFactorToken(String sharedSecret) |
||||||
|
{ |
||||||
|
if (!string.IsNullOrEmpty(sharedSecret)) |
||||||
|
{ |
||||||
|
this.mSecret = Convert.FromBase64String(sharedSecret); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
MessageBox.Show("未知的shared_secret"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static string GenerateSteamGuardCode(String sharedSecret) |
||||||
|
{ |
||||||
|
return new SteamTwoFactorToken(sharedSecret).GenerateSteamGuardCode(); |
||||||
|
} |
||||||
|
|
||||||
|
public string GenerateSteamGuardCode() |
||||||
|
{ |
||||||
|
return GenerateSteamGuardCodeForTime(CurrentTime()); |
||||||
|
} |
||||||
|
|
||||||
|
private string GenerateSteamGuardCodeForTime(long calcTime) |
||||||
|
{ |
||||||
|
if (this.mSecret == null) |
||||||
|
{ |
||||||
|
return ""; |
||||||
|
} |
||||||
|
byte[] bArr = new byte[8]; |
||||||
|
long j2 = calcTime / 30; |
||||||
|
|
||||||
|
int i = 8; |
||||||
|
while (true) |
||||||
|
{ |
||||||
|
int i2 = i - 1; |
||||||
|
if (i <= 0) |
||||||
|
{ |
||||||
|
break; |
||||||
|
} |
||||||
|
bArr[i2] = (byte)((int)j2); |
||||||
|
j2 = RightMove(j2, 8); |
||||||
|
i = i2; |
||||||
|
} |
||||||
|
|
||||||
|
HMACSHA1 hmacsha1 = new HMACSHA1(); |
||||||
|
hmacsha1.Key = (this.mSecret); |
||||||
|
|
||||||
|
byte[] doFinal = hmacsha1.ComputeHash(bArr); |
||||||
|
int i3 = doFinal[19] & 15; |
||||||
|
int i4 = (doFinal[i3 + 3] & 255) | ((doFinal[i3 + 2] & 255) << 8) | ((doFinal[i3] & 127) << 24) | ((doFinal[i3 + 1] & 255) << 16); |
||||||
|
byte[] bArr2 = new byte[5]; |
||||||
|
for (int i5 = 0; i5 < 5; i5++) |
||||||
|
{ |
||||||
|
byte[] bArr3 = s_rgchSteamguardCodeChars; |
||||||
|
bArr2[i5] = bArr3[i4 % bArr3.Length]; |
||||||
|
i4 /= bArr3.Length; |
||||||
|
} |
||||||
|
|
||||||
|
return System.Text.Encoding.UTF8.GetString(bArr2); |
||||||
|
} |
||||||
|
|
||||||
|
public long CurrentTime() |
||||||
|
{ |
||||||
|
return DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() / 1000; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/// <summary> |
||||||
|
/// 无符号右移, 相当于java里的 value>>>pos |
||||||
|
/// </summary> |
||||||
|
/// <param name="value"></param> |
||||||
|
/// <param name="pos"></param> |
||||||
|
/// <returns></returns> |
||||||
|
public long RightMove(long value, int pos) |
||||||
|
{ |
||||||
|
//移动 0 位时直接返回原值 |
||||||
|
if (pos != 0) |
||||||
|
{ |
||||||
|
// int.MaxValue = 0x7FFFFFFF 整数最大值 |
||||||
|
int mask = int.MaxValue; |
||||||
|
//无符号整数最高位不表示正负但操作数还是有符号的,有符号数右移1位,正数时高位补0,负数时高位补1 |
||||||
|
value = value >> 1; |
||||||
|
//和整数最大值进行逻辑与运算,运算后的结果为忽略表示正负值的最高位 |
||||||
|
value = value & mask; |
||||||
|
//逻辑运算后的值无符号,对无符号的值直接做右移运算,计算剩下的位 |
||||||
|
value = value >> pos - 1; |
||||||
|
} |
||||||
|
|
||||||
|
return value; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,47 @@ |
|||||||
|
using steam_token.Entity; |
||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Linq; |
||||||
|
using System.Text; |
||||||
|
using System.Threading.Tasks; |
||||||
|
using System.Windows.Forms; |
||||||
|
using Util; |
||||||
|
|
||||||
|
namespace steam_token |
||||||
|
{ |
||||||
|
public class XXXSteamTwoFactorToken |
||||||
|
{ |
||||||
|
private static byte[] s_rgchSteamguardCodeChars = { 50, 51, 52, 53, 54, 55, 56, 57, 66, 67, 68, 70, 71, 72, 74, 75, 77, 78, 80, 81, 82, 84, 86, 87, 88, 89 }; |
||||||
|
private byte[] mSecret; |
||||||
|
|
||||||
|
public XXXSteamTwoFactorToken(String sharedSecret) |
||||||
|
{ |
||||||
|
if (string.IsNullOrEmpty(sharedSecret)) |
||||||
|
{ |
||||||
|
this.mSecret = Convert.FromBase64String(sharedSecret); |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
MessageBox.Show("未知参数 shared_secret"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static String GenerateSteamGuardCode() |
||||||
|
{ |
||||||
|
string sharedSecret = ConfigUtil.Read<Config>().SteamGuard.shared_secret; |
||||||
|
|
||||||
|
return new XXXSteamTwoFactorToken(sharedSecret).GenerateSteamGuardCodeForTime(CurrentTime()); |
||||||
|
} |
||||||
|
|
||||||
|
private String GenerateSteamGuardCodeForTime(long calcTime) |
||||||
|
{ |
||||||
|
|
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
private static long CurrentTime() |
||||||
|
{ |
||||||
|
return DateTime.Now.Millisecond / 1000; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,56 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<packages> |
||||||
|
<package id="Costura.Fody" version="5.7.0" targetFramework="net48" developmentDependency="true" /> |
||||||
|
<package id="Fody" version="6.6.3" targetFramework="net48" developmentDependency="true" /> |
||||||
|
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net48" /> |
||||||
|
<package id="Microsoft.Win32.Primitives" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="NETStandard.Library" version="1.6.1" targetFramework="net48" /> |
||||||
|
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net48" /> |
||||||
|
<package id="System.AppContext" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net48" /> |
||||||
|
<package id="System.Collections" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Console" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Diagnostics.DiagnosticSource" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Globalization" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Globalization.Calendars" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.IO" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.IO.Compression" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Linq" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Memory" version="4.5.5" targetFramework="net48" /> |
||||||
|
<package id="System.Net.Http" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Net.Sockets" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" /> |
||||||
|
<package id="System.ObjectModel" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Reflection" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Runtime" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net48" /> |
||||||
|
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Runtime.Handles" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Threading" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Threading.Timer" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net48" /> |
||||||
|
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net48" /> |
||||||
|
</packages> |
@ -0,0 +1,276 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||||
|
<Import Project="packages\Costura.Fody.5.7.0\build\Costura.Fody.props" Condition="Exists('packages\Costura.Fody.5.7.0\build\Costura.Fody.props')" /> |
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> |
||||||
|
<PropertyGroup> |
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||||
|
<ProjectGuid>{26555785-E311-4F28-A28D-DD96B3165B98}</ProjectGuid> |
||||||
|
<OutputType>WinExe</OutputType> |
||||||
|
<RootNamespace>steam_token</RootNamespace> |
||||||
|
<AssemblyName>steam-token</AssemblyName> |
||||||
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion> |
||||||
|
<FileAlignment>512</FileAlignment> |
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> |
||||||
|
<Deterministic>true</Deterministic> |
||||||
|
<NuGetPackageImportStamp> |
||||||
|
</NuGetPackageImportStamp> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget> |
||||||
|
<DebugSymbols>true</DebugSymbols> |
||||||
|
<DebugType>full</DebugType> |
||||||
|
<Optimize>false</Optimize> |
||||||
|
<OutputPath>bin\Debug\</OutputPath> |
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||||
|
<ErrorReport>prompt</ErrorReport> |
||||||
|
<WarningLevel>4</WarningLevel> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget> |
||||||
|
<DebugType>pdbonly</DebugType> |
||||||
|
<Optimize>true</Optimize> |
||||||
|
<OutputPath>bin\Release\</OutputPath> |
||||||
|
<DefineConstants>TRACE</DefineConstants> |
||||||
|
<ErrorReport>prompt</ErrorReport> |
||||||
|
<WarningLevel>4</WarningLevel> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup> |
||||||
|
<ApplicationIcon>steam-token.ico</ApplicationIcon> |
||||||
|
</PropertyGroup> |
||||||
|
<ItemGroup> |
||||||
|
<Reference Include="Costura, Version=5.7.0.0, Culture=neutral, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\Costura.Fody.5.7.0\lib\netstandard1.0\Costura.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System" /> |
||||||
|
<Reference Include="System.AppContext, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.ComponentModel.Composition" /> |
||||||
|
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Core" /> |
||||||
|
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Diagnostics.Tracing, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.IO.Compression.FileSystem" /> |
||||||
|
<Reference Include="System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Linq.4.3.0\lib\net463\System.Linq.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Linq.Expressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Numerics" /> |
||||||
|
<Reference Include="System.Reflection, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Runtime.InteropServices.4.3.0\lib\net463\System.Runtime.InteropServices.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Windows.Forms.DataVisualization" /> |
||||||
|
<Reference Include="System.Xml.Linq" /> |
||||||
|
<Reference Include="System.Data.DataSetExtensions" /> |
||||||
|
<Reference Include="Microsoft.CSharp" /> |
||||||
|
<Reference Include="System.Data" /> |
||||||
|
<Reference Include="System.Deployment" /> |
||||||
|
<Reference Include="System.Drawing" /> |
||||||
|
<Reference Include="System.Windows.Forms" /> |
||||||
|
<Reference Include="System.Xml" /> |
||||||
|
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> |
||||||
|
<HintPath>packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath> |
||||||
|
<Private>True</Private> |
||||||
|
<Private>True</Private> |
||||||
|
</Reference> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<Compile Include="Entity\Config.cs" /> |
||||||
|
<Compile Include="Entity\SteamGuard.cs" /> |
||||||
|
<Compile Include="MainForm.cs"> |
||||||
|
<SubType>Form</SubType> |
||||||
|
</Compile> |
||||||
|
<Compile Include="MainForm.Designer.cs"> |
||||||
|
<DependentUpon>MainForm.cs</DependentUpon> |
||||||
|
</Compile> |
||||||
|
<Compile Include="Program.cs" /> |
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" /> |
||||||
|
<Compile Include="UI\AboutForm.cs"> |
||||||
|
<SubType>Form</SubType> |
||||||
|
</Compile> |
||||||
|
<Compile Include="UI\AboutForm.Designer.cs"> |
||||||
|
<DependentUpon>AboutForm.cs</DependentUpon> |
||||||
|
</Compile> |
||||||
|
<Compile Include="UI\Set\ProgramConfig.cs"> |
||||||
|
<SubType>Form</SubType> |
||||||
|
</Compile> |
||||||
|
<Compile Include="UI\Set\ProgramConfig.Designer.cs"> |
||||||
|
<DependentUpon>ProgramConfig.cs</DependentUpon> |
||||||
|
</Compile> |
||||||
|
<Compile Include="UI\Set\GuardConfig.cs"> |
||||||
|
<SubType>Form</SubType> |
||||||
|
</Compile> |
||||||
|
<Compile Include="UI\Set\GuardConfig.Designer.cs"> |
||||||
|
<DependentUpon>GuardConfig.cs</DependentUpon> |
||||||
|
</Compile> |
||||||
|
<Compile Include="Util\SteamGuardCalcThread.cs" /> |
||||||
|
<Compile Include="Util\SteamTwoFactorToken.cs" /> |
||||||
|
<Compile Include="Util\ConfigUtil.cs" /> |
||||||
|
<EmbeddedResource Include="MainForm.resx"> |
||||||
|
<DependentUpon>MainForm.cs</DependentUpon> |
||||||
|
</EmbeddedResource> |
||||||
|
<EmbeddedResource Include="Properties\Resources.resx"> |
||||||
|
<Generator>ResXFileCodeGenerator</Generator> |
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput> |
||||||
|
<SubType>Designer</SubType> |
||||||
|
</EmbeddedResource> |
||||||
|
<Compile Include="Properties\Resources.Designer.cs"> |
||||||
|
<AutoGen>True</AutoGen> |
||||||
|
<DependentUpon>Resources.resx</DependentUpon> |
||||||
|
<DesignTime>True</DesignTime> |
||||||
|
</Compile> |
||||||
|
<EmbeddedResource Include="UI\AboutForm.resx"> |
||||||
|
<DependentUpon>AboutForm.cs</DependentUpon> |
||||||
|
</EmbeddedResource> |
||||||
|
<EmbeddedResource Include="UI\Set\GuardConfig.resx"> |
||||||
|
<DependentUpon>GuardConfig.cs</DependentUpon> |
||||||
|
</EmbeddedResource> |
||||||
|
<EmbeddedResource Include="UI\Set\ProgramConfig.resx"> |
||||||
|
<DependentUpon>ProgramConfig.cs</DependentUpon> |
||||||
|
</EmbeddedResource> |
||||||
|
<None Include="packages.config" /> |
||||||
|
<None Include="Properties\Settings.settings"> |
||||||
|
<Generator>SettingsSingleFileGenerator</Generator> |
||||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput> |
||||||
|
</None> |
||||||
|
<Compile Include="Properties\Settings.Designer.cs"> |
||||||
|
<AutoGen>True</AutoGen> |
||||||
|
<DependentUpon>Settings.settings</DependentUpon> |
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput> |
||||||
|
</Compile> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<None Include="App.config" /> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<Content Include="Assets\Image\steam-token.ico" /> |
||||||
|
<Content Include="Assets\Image\steam-token.png" /> |
||||||
|
<Content Include="steam-token.ico" /> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup /> |
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
||||||
|
<Import Project="packages\Fody.6.6.3\build\Fody.targets" Condition="Exists('packages\Fody.6.6.3\build\Fody.targets')" /> |
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> |
||||||
|
<PropertyGroup> |
||||||
|
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText> |
||||||
|
</PropertyGroup> |
||||||
|
<Error Condition="!Exists('packages\Fody.6.6.3\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Fody.6.6.3\build\Fody.targets'))" /> |
||||||
|
<Error Condition="!Exists('packages\Costura.Fody.5.7.0\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Costura.Fody.5.7.0\build\Costura.Fody.props'))" /> |
||||||
|
<Error Condition="!Exists('packages\Costura.Fody.5.7.0\build\Costura.Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Costura.Fody.5.7.0\build\Costura.Fody.targets'))" /> |
||||||
|
</Target> |
||||||
|
<Import Project="packages\Costura.Fody.5.7.0\build\Costura.Fody.targets" Condition="Exists('packages\Costura.Fody.5.7.0\build\Costura.Fody.targets')" /> |
||||||
|
</Project> |
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,25 @@ |
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00 |
||||||
|
# Visual Studio Version 16 |
||||||
|
VisualStudioVersion = 16.0.32106.194 |
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1 |
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "steam-token", "steam-token.csproj", "{26555785-E311-4F28-A28D-DD96B3165B98}" |
||||||
|
EndProject |
||||||
|
Global |
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
||||||
|
Debug|Any CPU = Debug|Any CPU |
||||||
|
Release|Any CPU = Release|Any CPU |
||||||
|
EndGlobalSection |
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
||||||
|
{26555785-E311-4F28-A28D-DD96B3165B98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
||||||
|
{26555785-E311-4F28-A28D-DD96B3165B98}.Debug|Any CPU.Build.0 = Debug|Any CPU |
||||||
|
{26555785-E311-4F28-A28D-DD96B3165B98}.Release|Any CPU.ActiveCfg = Release|Any CPU |
||||||
|
{26555785-E311-4F28-A28D-DD96B3165B98}.Release|Any CPU.Build.0 = Release|Any CPU |
||||||
|
EndGlobalSection |
||||||
|
GlobalSection(SolutionProperties) = preSolution |
||||||
|
HideSolutionNode = FALSE |
||||||
|
EndGlobalSection |
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution |
||||||
|
SolutionGuid = {820E8374-01AD-41B9-82C1-388ADF797885} |
||||||
|
EndGlobalSection |
||||||
|
EndGlobal |
Loading…
Reference in new issue