Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
XAS-712 committed Feb 10, 2019
2 parents f732586 + 12865bc commit ceeaac8
Show file tree
Hide file tree
Showing 6 changed files with 559 additions and 170 deletions.
457 changes: 307 additions & 150 deletions MifareOneTool/Form1.Designer.cs

Large diffs are not rendered by default.

176 changes: 159 additions & 17 deletions MifareOneTool/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,33 +47,55 @@ void default_rpt(object sender, ProgressChangedEventArgs e)
}
else if (e.ProgressPercentage == 101)
{
SaveFileDialog ofd = new SaveFileDialog();
ofd.AddExtension = true;
ofd.DefaultExt = ".mfd";
ofd.Title = "请选择MFD文件保存位置及文件名";
ofd.OverwritePrompt = true;
ofd.Filter = "MFD文件|*.mfd|DUMP文件|*.dump";
if (File.Exists(omfd) && new FileInfo(omfd).Length > 1)
if (lastuid != "")
{
if (ofd.ShowDialog() == DialogResult.OK)
if (File.Exists(omfd) && new FileInfo(omfd).Length > 1)
{
if (File.Exists(ofd.FileName))
string filename = lastuid + "_" + DateTime.Now.ToString() + ".mfd";
if (File.Exists(filename))
{
File.Delete(ofd.FileName);
File.Delete(filename);
}
File.Move(omfd, ofd.FileName);
logAppend("##已保存-" + ofd.FileName + "##");
File.Move(omfd, filename);
logAppend("##已自动保存-" + filename + "##");
}
else
{
File.Delete(omfd);
logAppend("##未保存##");
logAppend("##缓存文件异常##");
}
lastuid = "";
}
else
{
File.Delete(omfd);
logAppend("##缓存文件异常##");
SaveFileDialog ofd = new SaveFileDialog();
ofd.AddExtension = true;
ofd.DefaultExt = ".mfd";
ofd.Title = "请选择MFD文件保存位置及文件名";
ofd.OverwritePrompt = true;
ofd.Filter = "MFD文件|*.mfd|DUMP文件|*.dump";
if (File.Exists(omfd) && new FileInfo(omfd).Length > 1)
{
if (ofd.ShowDialog() == DialogResult.OK)
{
if (File.Exists(ofd.FileName))
{
File.Delete(ofd.FileName);
}
File.Move(omfd, ofd.FileName);
logAppend("##已保存-" + ofd.FileName + "##");
}
else
{
File.Delete(omfd);
logAppend("##未保存##");
}
}
else
{
File.Delete(omfd);
logAppend("##缓存文件异常##");
}
}
omfd = "";
Text = "MifareOne Tool - 运行完毕";
Expand Down Expand Up @@ -117,8 +139,17 @@ private void Form1_Load(object sender, EventArgs e)
//GitHubUpdate ghu = new GitHubUpdate(Properties.Settings.Default.GitHubR);
//ghu.Update(Properties.Settings.Default.GitHubR);
//remoteVersionLabel.Text = "远程版本 " + ghu.remoteVersion;
Directory.CreateDirectory("auto_keys");
checkBoxAutoABN.Checked = Properties.Settings.Default.AutoABN;
checkBoxWriteProtect.Checked = Properties.Settings.Default.WriteCheck;
checkBoxAutoLoadKey.Checked = Properties.Settings.Default.AutoLoadUidKey;
richTextBox1.ForeColor = Properties.Settings.Default.MainCLIColor;
buttonCLIColor.ForeColor = Properties.Settings.Default.MainCLIColor;
checkBoxDefIsAdv.Checked = Properties.Settings.Default.DefIsAdv;
if (Properties.Settings.Default.DefIsAdv)
{
tabControl1.SelectedIndex = 1;
}
}

private void buttonScanCard_Click(object sender, EventArgs e)
Expand Down Expand Up @@ -154,12 +185,69 @@ void list_tag(object sender, DoWorkEventArgs e)

string omfd = "";

private string GetUID()
{
ProcessStartInfo psi = new ProcessStartInfo("nfc-bin/nfc-list.exe");
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
Process p = Process.Start(psi);
p.WaitForExit();
string rawStr = p.StandardOutput.ReadToEnd();
string uid;
string pattern = @"UID\s\(NFCID1\)\: ([0-9A-Fa-f]{2}\s\s[0-9A-Fa-f]{2}\s\s[0-9A-Fa-f]{2}\s\s[0-9A-Fa-f]{2})";
if (Regex.IsMatch(rawStr, pattern))
{
uid = Regex.Match(rawStr, pattern).Captures[0].Value.Replace(" ", "").Replace("UID(NFCID1):", ""); ;
}
else
{
uid = "";
}
return uid;
}
private void LoadUidKey(string uid)
{
if (!Directory.Exists("auto_keys"))
{
Directory.CreateDirectory("auto_keys");
return;
}
if (uid.Length < 8) { return; }
logAppend("正在检索是否存在key.mfd…");
List<string> files = Directory.EnumerateFiles("auto_keys", "*.mfd").ToList<string>();
for (int i = 0; i < files.Count; i++)
{
if (files[i].StartsWith("auto_keys\\" + uid))
{
logAppend("已找到!K=" + files[i]);
keymfd = files[i];
buttonSelectKey.Text = "K=" + files[i];
return;
}
}
return;
}

string lastuid = "";

private void buttonMfRead_Click(object sender, EventArgs e)
{
if (lprocess) { MessageBox.Show("有任务运行中,不可执行。", "设备忙", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } Form1.ActiveForm.Text = "MifareOne Tool - 运行中";
string rmfd = "MfRead.tmp";
string kt = "A";
string nn = "";
string uid;
if (checkBoxAutoLoadKey.Checked)
{
uid = GetUID();
LoadUidKey(uid);
}
if (checkBoxAutoSave.Checked)
{
lastuid = GetUID();
}
if (checkBoxAutoABN.Checked && keymfd != "")
{
kt = "C";
Expand Down Expand Up @@ -366,6 +454,10 @@ private void buttonMfoc_Click(object sender, EventArgs e)
}
}
}
if (checkBoxAutoSave.Checked)
{
lastuid = GetUID();
}
BackgroundWorker bgw = new BackgroundWorker();
bgw.DoWork += new DoWorkEventHandler(mfoc);
bgw.WorkerReportsProgress = true;
Expand Down Expand Up @@ -492,7 +584,10 @@ private void buttonBmfRead_Click(object sender, EventArgs e)
{
if (lprocess) { MessageBox.Show("有任务运行中,不可执行。", "设备忙", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } Form1.ActiveForm.Text = "MifareOne Tool - 运行中";
string rmfd = "BmfRead.tmp";

if (checkBoxAutoSave.Checked)
{
lastuid = GetUID();
}
BackgroundWorker bgw = new BackgroundWorker();
bgw.DoWork += new DoWorkEventHandler(bmf_read);
bgw.WorkerReportsProgress = true;
Expand Down Expand Up @@ -906,7 +1001,7 @@ private void button4_Click(object sender, EventArgs e)

private void buttonEAdv_Click(object sender, EventArgs e)
{
tabControl1.SelectedIndex = tabControl1.TabPages.Count - 1;
tabControl1.SelectedIndex = 1;
}

private void buttonEnAcr122u_Click(object sender, EventArgs e)
Expand Down Expand Up @@ -1025,6 +1120,10 @@ private void buttonnKeysMfoc_Click(object sender, EventArgs e)
}
}
}
if (checkBoxAutoSave.Checked)
{
lastuid = GetUID();
}
BackgroundWorker bgw = new BackgroundWorker();
bgw.DoWork += new DoWorkEventHandler(mfoc);
bgw.WorkerReportsProgress = true;
Expand Down Expand Up @@ -1058,6 +1157,10 @@ private void buttonDictMfoc_Click(object sender, EventArgs e)
}
string rmfd = "Mfoc.tmp";
string key = "-f " + filename + " ";
if (checkBoxAutoSave.Checked)
{
lastuid = GetUID();
}
BackgroundWorker bgw = new BackgroundWorker();
bgw.DoWork += new DoWorkEventHandler(mfocCMD);
bgw.WorkerReportsProgress = true;
Expand Down Expand Up @@ -1160,5 +1263,44 @@ void Hardnest(object sender, DoWorkEventArgs e)
b.ReportProgress(100, "##运行出错##");
}
}

private void checkBoxAutoLoadKey_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.AutoLoadUidKey = checkBoxAutoLoadKey.Checked;
}

private void buttonCLIColor_Click(object sender, EventArgs e)
{
ColorDialog cd = new ColorDialog();
cd.AllowFullOpen = true;
cd.AnyColor = true;
if (cd.ShowDialog() == DialogResult.OK)
{
richTextBox1.ForeColor = cd.Color;
buttonCLIColor.ForeColor = cd.Color;
Properties.Settings.Default.MainCLIColor = cd.Color;
}
}

private void numericCLIFontSize_ValueChanged(object sender, EventArgs e)
{
richTextBox1.Font = new Font(richTextBox1.Font.FontFamily, (float)numericCLIFontSize.Value);
Properties.Settings.Default.MainCLIFontSize = (float)numericCLIFontSize.Value;
}

private void checkBoxDefIsAdv_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.DefIsAdv = checkBoxDefIsAdv.Checked;
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.Save();
}

private void checkBoxAutoSave_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.AutoSave = checkBoxAutoSave.Checked;
}
}
}
6 changes: 3 additions & 3 deletions MifareOneTool/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
[assembly: AssemblyCompany("XciCode")]
[assembly: AssemblyProduct("MifareOneTool")]
[assembly: AssemblyCopyright("Copyright © XciCode 2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyTrademark("M1T")]
[assembly: AssemblyCulture("")]

// 将 ComVisible 设置为 false 使此程序集中的类型
Expand All @@ -32,5 +32,5 @@
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.6.2.0")]
[assembly: AssemblyFileVersion("1.6.2.0")]
[assembly: AssemblyVersion("1.6.4.0")]
[assembly: AssemblyFileVersion("1.6.4.0")]
60 changes: 60 additions & 0 deletions MifareOneTool/Properties/Settings.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions MifareOneTool/Properties/Settings.settings
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,20 @@
<Setting Name="WriteCheck" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutoLoadUidKey" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="MainCLIColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">Lime</Value>
</Setting>
<Setting Name="MainCLIFontSize" Type="System.Single" Scope="User">
<Value Profile="(Default)">9</Value>
</Setting>
<Setting Name="DefIsAdv" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="AutoSave" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>
15 changes: 15 additions & 0 deletions MifareOneTool/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,21 @@
<setting name="WriteCheck" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoLoadUidKey" serializeAs="String">
<value>False</value>
</setting>
<setting name="MainCLIColor" serializeAs="String">
<value>Lime</value>
</setting>
<setting name="MainCLIFontSize" serializeAs="String">
<value>9</value>
</setting>
<setting name="DefIsAdv" serializeAs="String">
<value>False</value>
</setting>
<setting name="AutoSave" serializeAs="String">
<value>False</value>
</setting>
</MifareOneTool.Properties.Settings>
</userSettings>
</configuration>

0 comments on commit ceeaac8

Please sign in to comment.