From 689954da11cf7baadc5902d504c58b0993e5f17c Mon Sep 17 00:00:00 2001 From: "DESKTOP-KFV16CV\\cyt" <2268162076@qq.com> Date: Sat, 14 Nov 2020 15:57:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A0=E5=AF=86=E4=B8=BA?= =?UTF-8?q?=E9=A2=84=E6=A1=88=E5=AF=86=E9=92=A5=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Plugins/SmartX1App.dll.meta | 91 +++++- Assets/Plugins/SmartX1AppX64.dll | Bin 0 -> 85504 bytes Assets/Plugins/SmartX1AppX64.dll.meta | 27 ++ Assets/Scene/Dummy.unity | Bin 21796 -> 24916 bytes .../HelpScripts/QuitApplicationManager.cs | 2 +- .../QuitApplicationManager.cs.meta | 3 +- Assets/Scripts/SmartX1/ApplicationClose.cs | 73 +++++ .../Scripts/SmartX1/ApplicationClose.cs.meta | 11 + Assets/Scripts/SmartX1/SmartApp.cs.meta | 5 +- Assets/Scripts/SmartX1/SmartController.cs | 298 +++++++++++++----- .../Scripts/SmartX1/SmartController.cs.meta | 5 +- Assets/Scripts/SmartX1/SmartX1.prefab | 45 +++ Assets/Scripts/SmartX1/SmartX1.prefab.meta | 7 + Assets/Scripts/SmartX1/SmartX1Api.cs | 40 +-- Assets/Scripts/SmartX1/SmartX1Api.cs.meta | 5 +- .../StreamingAssets/xml/enSmartXProject.xml | 2 + .../xml/enSmartXProject.xml.meta | 7 + Assets/StreamingAssets/xml/enValidity.xml | 2 +- 18 files changed, 503 insertions(+), 120 deletions(-) create mode 100644 Assets/Plugins/SmartX1AppX64.dll create mode 100644 Assets/Plugins/SmartX1AppX64.dll.meta create mode 100644 Assets/Scripts/SmartX1/ApplicationClose.cs create mode 100644 Assets/Scripts/SmartX1/ApplicationClose.cs.meta create mode 100644 Assets/Scripts/SmartX1/SmartX1.prefab create mode 100644 Assets/Scripts/SmartX1/SmartX1.prefab.meta create mode 100644 Assets/StreamingAssets/xml/enSmartXProject.xml create mode 100644 Assets/StreamingAssets/xml/enSmartXProject.xml.meta diff --git a/Assets/Plugins/SmartX1App.dll.meta b/Assets/Plugins/SmartX1App.dll.meta index 3a084c6..d258105 100644 --- a/Assets/Plugins/SmartX1App.dll.meta +++ b/Assets/Plugins/SmartX1App.dll.meta @@ -1,27 +1,88 @@ fileFormatVersion: 2 guid: 0da92b84a3197f54681e93a2576be223 -timeCreated: 1551513530 -licenseType: Pro PluginImporter: + externalObjects: {} serializedVersion: 2 iconMap: {} executionOrder: {} + defineConstraints: [] isPreloaded: 0 isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 platformData: - data: - first: - Any: - second: - enabled: 1 - settings: {} - data: - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true + - first: + '': Any + second: + enabled: 0 + settings: + Exclude Editor: 1 + Exclude Linux: 0 + Exclude Linux64: 0 + Exclude LinuxUniversal: 0 + Exclude OSXUniversal: 0 + Exclude Win: 0 + Exclude Win64: 0 + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + DefaultValueInitialized: true + OS: AnyOS + - first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + - first: + Standalone: Linux + second: + enabled: 1 + settings: + CPU: x86 + - first: + Standalone: Linux64 + second: + enabled: 1 + settings: + CPU: x86_64 + - first: + Standalone: LinuxUniversal + second: + enabled: 1 + settings: {} + - first: + Standalone: OSXUniversal + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: Win + second: + enabled: 1 + settings: + CPU: AnyCPU + - first: + Standalone: Win64 + second: + enabled: 1 + settings: + CPU: AnyCPU userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Plugins/SmartX1AppX64.dll b/Assets/Plugins/SmartX1AppX64.dll new file mode 100644 index 0000000000000000000000000000000000000000..a276833d90006c7b0972ef264e1919ccc3056196 GIT binary patch literal 85504 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
    ;9aWlzJ#eE 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

    Y|N)R$KbQ%UH(VM|(g!=*UVom#3dhbVG_F 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 literal 0 HcmV?d00001 diff --git a/Assets/Plugins/SmartX1AppX64.dll.meta b/Assets/Plugins/SmartX1AppX64.dll.meta new file mode 100644 index 0000000..1bdc6e2 --- /dev/null +++ b/Assets/Plugins/SmartX1AppX64.dll.meta @@ -0,0 +1,27 @@ +fileFormatVersion: 2 +guid: 0a982d274fd319c429332954ac197479 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scene/Dummy.unity b/Assets/Scene/Dummy.unity index 9eb8942e2c4a7fbcf36dd536376999bf7698ea06..b40a407e79aa6063af1ff42ec3904d9d2279dc9b 100644 GIT binary patch delta 2627 zcmb7_U2GIp6vyxEM|aVdwzibY*A`(xlG*|hB!IdN1qyVx+ZGHWwhY@TEOd7!yHo5o z#2p?mCJHTFUo<3OfQUq>Wc}zvNn0Yy0~#^%q6QmcB8Dm@LI7Xze`fEj9VHPaIlX&+ z=d@bpQUQn}wP><#OPc-Sd7O zXzgp63HlYp0ilNvmQ|*ag*^qikB1DB0fEam4rVNXo)4jPk||Dhg)w6VKD&fS%z(|w zs+`QI2lGPQkSuqw%itTJQ~o^S2HBhva#Q}aK?V;QhREPD3rs~26`*93aVPlx2poT zZHT@sOEUw|3V!9ps2?`dV;>F*-Yi%zqBQ8VMqai2poF2*3TY863})qP73^E#M=Pc0 zQ)tjUz71zdtC3Z`8(Nw7D;tl-hwRp#}2;qX3usPONCeGIk)I^E+Rf?X4= z2<(Pn6>uOw+GAsa&D;n$06;tJrhw&$vI={6YW2EVbh9I=KK#uNo6Y~ATjj5RUb8>{ zM&QoCoE9hJ=U0yve|m4{#8Z*Kf+uIS6imN+@UWBj*PW2OTwXIvnvmJMrddkUXz9L| z`3jz!U3YFby-2avkQ~Ecsf>7|@#&w3{JWO!?Jr++)JNUNTI?I*QDy^vO=TgZ`VV0N(FO)kJxA~?mvy9zWF?0G`51T ziT`kc@VAcfarAYGwjFGzfBt#__iIc8(lN+N~+jT%ks5Wgt=aN`CStuY=B zR+Q6kb+xQTt7{?=wKJ|)i}lMJL(gWtibAFNqp`Nyvjs{mV}U`wrGA>^fqfYtZSeA; z`a}F;u#{`T&HPYkIUlKW@%&IP?`T*~UGb67+x(MoAoEd!SK_Xw0KXN!$hU+l;ppYJ Q8jFzX>)?x-+NKf5->jt?vH$=8 delta 668 zcmXw$J!q3r6o$`D(&lPg^MxiNS~Oq^SqciJEfOJvXvILj5`y`+3Y}bnKZ8(6I}{vR znsC5DI#f`QPL(^Dp+hKI95M(xs8}fCAQ<&4t`5Fe&o{ih=REiP!F|80o^GiK(d-kV zLXwE0h})64ioO`Xd)z!ac_m_QP3#AiGMV$g11ex9Ct*R8nudkU*ag^taW1}zgifKI zKW6jI(^H>LASN9kT84+9Gs0S6UE~8$LYNyQT0}kwRi5|9Ve}Sk4Q_j@!sd}QkcXj~ zUkBzQ*HHaGYf=K!{ed^6a1+cH9)Z@kzT1#Ium^Cvq$R9@E9~P@s4c7u=FfZe?8^e4 zD1$5R!)@a3AbP8R?V^z&waf648G2Sdyd9@T{r@X^|N@?CMXm%>A l+$*Q~zzvzt6|H!qlHp{n$Jx?33prVL_-i#|?$r+he*qWvjgbHV diff --git a/Assets/Scripts/HelpScripts/QuitApplicationManager.cs b/Assets/Scripts/HelpScripts/QuitApplicationManager.cs index 88be72e..ad4fba8 100644 --- a/Assets/Scripts/HelpScripts/QuitApplicationManager.cs +++ b/Assets/Scripts/HelpScripts/QuitApplicationManager.cs @@ -37,7 +37,7 @@ public class QuitApplicationManager : MonoSingleton { process.GetMode("assets", ref smart, ref unique, ref validity); if(smart) { - SmartController.Instance.Init(); + // SmartController.Instance.Init(); } else if(validity) { diff --git a/Assets/Scripts/HelpScripts/QuitApplicationManager.cs.meta b/Assets/Scripts/HelpScripts/QuitApplicationManager.cs.meta index a034322..fe590d0 100644 --- a/Assets/Scripts/HelpScripts/QuitApplicationManager.cs.meta +++ b/Assets/Scripts/HelpScripts/QuitApplicationManager.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 guid: db723300d2c5b00469e43ea91e7cd35f -timeCreated: 1551517212 -licenseType: Pro MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Assets/Scripts/SmartX1/ApplicationClose.cs b/Assets/Scripts/SmartX1/ApplicationClose.cs new file mode 100644 index 0000000..e1fa344 --- /dev/null +++ b/Assets/Scripts/SmartX1/ApplicationClose.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Events; + +///

    +/// 程序关闭提示处理 +/// +public class ApplicationClose : MonoBehaviour +{ + private bool isSure = false;//是否点击确定(退出)按钮 + public string SignOutApi = "/api/Account/SignOut"; + + public bool isSmartX1Exit = false;//是否是检测到没有加密狗而自动退出程序 + + private void Awake() + { + DontDestroyOnLoad(this); + } + + //private void OnApplicationQuit() + //{ + // if (!isSmartX1Exit) + // { + // if (!isSure) + // { + // Application.CancelQuit(); + + // MessageBox.Show("确定退出程序?", + // Sure, + // null + // ); + // } + // } + //} + + //private void Sure() + //{ + // if (!string.IsNullOrEmpty(WebRequestManager.Instance.userName)) + // { + // WebRequestManager.Instance.PostJson(WebRequestManager.Instance.httpUrl + SignOutApi, SignOuted, SignOutError); + // } + // else + // { + // isSure = true; + // Application.Quit(); + // } + //} + + private void SignOuted() + { + isSure = true; + Application.Quit(); + } + + private void SignOutError(int errorCode, string errorMsg) + { + //MessageBox.Show($"退出程序错误:{errorCode},{errorMsg}", 20); + } + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/SmartX1/ApplicationClose.cs.meta b/Assets/Scripts/SmartX1/ApplicationClose.cs.meta new file mode 100644 index 0000000..d6c0ec7 --- /dev/null +++ b/Assets/Scripts/SmartX1/ApplicationClose.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 037aa7f639e77b14e8c0fe047fcb62e5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SmartX1/SmartApp.cs.meta b/Assets/Scripts/SmartX1/SmartApp.cs.meta index e77dd21..d40454b 100644 --- a/Assets/Scripts/SmartX1/SmartApp.cs.meta +++ b/Assets/Scripts/SmartX1/SmartApp.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: ea8506719ccdade4e9996886ab543d10 -timeCreated: 1515718375 -licenseType: Pro +guid: 1f37c58fbc18d614fb830dd6caea7b71 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Assets/Scripts/SmartX1/SmartController.cs b/Assets/Scripts/SmartX1/SmartController.cs index f2e77a4..3c09fe9 100644 --- a/Assets/Scripts/SmartX1/SmartController.cs +++ b/Assets/Scripts/SmartX1/SmartController.cs @@ -1,57 +1,68 @@ -using AX.DevelopEngine; -using SmartX1Demo; +using UnityEngine; using System; -using System.Collections; +using System.Xml; using System.IO; +using System.Text; using System.Security.Cryptography; using System.Security.Cryptography.Xml; -using System.Text; -using System.Xml; -using UnityEngine; -using AX.MessageSystem; -using AX.Timer; +using System.Collections; +using SmartX1Demo; -public class SmartController : MonoSingleton { +public class SmartController : MonoBehaviour +{ int[] keyHandles = new int[8]; int[] keyNumber = new int[8]; private int Rtn = 0; SmartApp smart = new SmartApp(); - private Timer timer1_quit, timer2_checkExist; - string appid = ""; + private bool IsQuit = false; + private DateTime t1, t2, t11; + string appid = "AXKC"; - private uint uP1 = 0x987F6BCD, uP2 = 0xE193C5B2, uP3 = 0xD507CC28, uP4 = 0x4B125AF6; + // Use this for initialization + void Start () { + t2 = DateTime.Now; + t1 = DateTime.Now; + DontDestroyOnLoad(GameObject.Find("SmartX1")); + tipStyle = new GUIStyle(); + tipStyle.fontSize = 40; + tipStyle.normal.textColor = Color.red; - public void Init() - { - StartInit(); - } - // Use this for initialization - void StartInit () { - timer1_quit = new Timer(5.0f); - timer1_quit.AddTimeOutEvent(() => - { - //Debug.Log("程序退出!"); - QuitApplicationManager.Instance.SureQuit(); - }); + original_filepath = Application.streamingAssetsPath + @"/xml/SmartXProject.xml"; + encode_filepath = Application.streamingAssetsPath + @"/xml/enSmartXProject.xml"; + decode_filepath = Application.streamingAssetsPath + @"/xml/deSmartXProject.xml"; - string original_filepath = Application.dataPath + @"/xml/SmartXProject.xml"; - //string encode_filepath = Application.dataPath + @"/xml/enSmartXProject.xml"; - //string decode_filepath = Application.dataPath + @"/xml/deSmartXProject.xml"; + ControlXML(); - XmlProcess xmlProcess = new XmlProcess(original_filepath); - xmlProcess.SmartControlXML(ref appid); - if (string.IsNullOrEmpty(appid)) - { - QuitApplication(); - return; - } //检测加密狗是否存在 FindSmartX1(); + } + + public string GetAppID(string filepath) + { + if (File.Exists(filepath)) + { + XmlDocument xmlDoc = new XmlDocument(); + xmlDoc.Load(filepath); + XmlNode root = xmlDoc.SelectSingleNode("SmartX1"); + XmlNodeList nodeList = root.ChildNodes; + foreach (XmlElement elem in nodeList) + { + if (elem.Name == "BaseInfo") + { + foreach (XmlElement zq in elem.ChildNodes) + { + if (zq.Name == "AppID") + { + return zq.InnerText; + } + } + } - timer2_checkExist = new Timer(10.0f); - timer2_checkExist.AddTimeOutEvent(CheckExist); - timer2_checkExist.StartTimerRepeat(); + } + } + return ""; } + bool FindSmartX1() { try @@ -59,8 +70,10 @@ public class SmartController : MonoSingleton { Rtn = smart.SmartX1Find(appid, keyHandles, keyNumber); if (Rtn != 0) { - Debug.Log("SmartX1Find Error,ErrorCode =" + Rtn.ToString()); - QuitApplication(); + IsQuit = true; + t1 = DateTime.Now; + t2 = DateTime.Now; + t11 = DateTime.Now; return false; } Debug.Log("SmartX1Find Successfully"); @@ -70,62 +83,203 @@ public class SmartController : MonoSingleton { { Debug.Log(keyHandles[0]); Debug.Log("异常" + ex.Message); - QuitApplication(); + GameObject.Find("Application").GetComponent().isSmartX1Exit = true; + Application.Quit(); return false; } } - private void QuitApplication() + bool CheckExist() + { + try + { + Rtn = smart.SmartX1CheckExist(keyHandles[0]); + if (Rtn != 0) + { + //Debug.Log("SmartX1 not exist!" + Rtn.ToString()); + IsQuit = true; + t1 = DateTime.Now; + t2 = DateTime.Now; + t11 = DateTime.Now; + return false; + } + //Debug.Log("SmartX1Exist!"); + return true; + } + catch (Exception ex) + { + //Debug.Log(keyHandles[0]); + //Debug.Log("异常" + ex.Message); + GameObject.Find("Application").GetComponent().isSmartX1Exit = true; + Application.Quit(); + return false; + } + } + + private GUIStyle tipStyle; + private int timer = 5; + void OnGUI() + { + if (IsQuit) + { + t2 = DateTime.Now; + if(t2-t11>new TimeSpan(0,0,1)) + { + if(timer>0) + timer--; + t11 = t2; + } + GUI.Label(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 75, 300, 150), "密钥验证失败,程序将在"+timer+"秒后退出!", tipStyle); + + if (t2 - t1 > new TimeSpan(0, 0, 5)) + { + //Debug.Log("程序退出!"); + GameObject.Find("Application").GetComponent().isSmartX1Exit = true; + Application.Quit(); + } + } + } + + // Update is called once per frame + void Update () { + if (IsQuit) + return; + t2 = DateTime.Now; + if (t2 - t1 > new TimeSpan(0, 0, 0, 10, 0)) + { + t1 = t2; + CheckExist(); + } + } + + //xml文件加密解密 + void ControlXML() { - timer1_quit.StartTimer(); + if (File.Exists(original_filepath))//证明这次是第一次运行该程序,获取当前配置文件 + { + appid = GetAppID(original_filepath); + //StartCoroutine(GenerateEncodeXML()); + GenerateEncodeXML1(); + } + else + { + if (File.Exists(encode_filepath)) + { + fileDcryption(encode_filepath); + if (File.Exists(decode_filepath)) + { + appid = GetAppID(decode_filepath); + File.Delete(decode_filepath); + } + } + } } - private void ReadStorage() + IEnumerator GenerateEncodeXML() { - int read_rtn = 0; - byte[] pbuffer = new byte[4096]; + yield return new WaitForSeconds(1.0f); + fileEncryption(original_filepath); + if (File.Exists(encode_filepath)) + { + File.Delete(original_filepath); + } + } - int open_rtn = smart.SmartX1Open(keyHandles[0], (int)uP1, (int)uP2, (int)uP3, (int)uP4); - if (open_rtn == 0)//打开成功 + void GenerateEncodeXML1() + { + fileEncryption(original_filepath); + if (File.Exists(encode_filepath)) { - read_rtn = smart.SmartX1ReadStorage(keyHandles[0], 0, 4096, pbuffer); - string data= Encoding.GetEncoding("gb2312").GetString(pbuffer); - Debug.Log(data); + File.Delete(original_filepath); } } - void CheckExist() + //加密xml文件 + private void Encrypt(XmlDocument doc, string ElementName, SymmetricAlgorithm key) { - try + XmlElement elementEncrypt = doc.GetElementsByTagName(ElementName)[0] as XmlElement; + EncryptedXml eXml = new EncryptedXml(); + byte[] encryptElement = eXml.EncryptData(elementEncrypt, key, false);// + EncryptedData edElement = new EncryptedData(); + edElement.Type = EncryptedXml.XmlEncElementUrl; + string encryptionMethod = null; + + if (key is TripleDES) { - Rtn = smart.SmartX1CheckExist(keyHandles[0]); - if (Rtn != 0) + encryptionMethod = EncryptedXml.XmlEncTripleDESUrl; + } + else if (key is DES) + { + encryptionMethod = EncryptedXml.XmlEncDESUrl; + } + + if (key is Rijndael) + { + switch (key.KeySize) { - Debug.Log("SmartX1 not exist!" + Rtn.ToString()); - QuitApplication(); - return; + case 128: + encryptionMethod = EncryptedXml.XmlEncAES128Url; + break; + case 192: + encryptionMethod = EncryptedXml.XmlEncAES192Url; + break; + case 256: + encryptionMethod = EncryptedXml.XmlEncAES256Url; + break; } - Debug.Log("SmartX1Exist!"); - return; } - catch (Exception ex) + edElement.EncryptionMethod = new EncryptionMethod(encryptionMethod); + edElement.CipherData.CipherValue = encryptElement; + EncryptedXml.ReplaceElement(elementEncrypt, edElement, false); + } + + //XML文件解密 + private void Decrypt(XmlDocument doc, SymmetricAlgorithm Alg) + { + XmlElement encryptedElement = doc.GetElementsByTagName("EncryptedData")[0] as XmlElement; + EncryptedData edElement = new EncryptedData(); + edElement.LoadXml(encryptedElement); + EncryptedXml exml = new EncryptedXml(); + byte[] rgbOutput = exml.DecryptData(edElement, Alg); + exml.ReplaceData(encryptedElement, rgbOutput); + } + + string original_filepath = ""; + string encode_filepath = ""; + string decode_filepath = ""; + + //举例,对某个XML文件加密 + private void fileEncryption(string filename) + { + RijndaelManaged key = new RijndaelManaged(); + //设置密钥:key为32位=数字或字母16个=汉子8个 + byte[] byteKey = Encoding.Unicode.GetBytes("1111111111111111"); + key.Key = byteKey; + XmlDocument xmldoc = new XmlDocument(); + xmldoc.PreserveWhitespace = true; + xmldoc.Load(original_filepath);//想要加密的xml文件 + Encrypt(xmldoc, "SmartX1", key);//需要加密的节点 + if (key != null) { - Debug.Log(keyHandles[0]); - Debug.Log("异常" + ex.Message); - QuitApplication(); - return; + key.Clear(); } + xmldoc.Save(encode_filepath);//生成加密后的xml文件 } - void OnGUI() + + //举例,对某个xml文件解密 + private void fileDcryption(string filename) { - if (timer1_quit.IsTimering) + RijndaelManaged key = new RijndaelManaged(); + byte[] byteKey = Encoding.Unicode.GetBytes("1111111111111111"); + key.Key = byteKey; + XmlDocument xmldoc = new XmlDocument(); + xmldoc.PreserveWhitespace = true; + xmldoc.Load(encode_filepath);//加载要解密的xml文件 + Decrypt(xmldoc, key); + if (key != null) { - QuitApplicationManager.Instance.SetGuiTip("加密狗验证失败,程序将在 " + timer1_quit.GetRemainingTime() + " 秒后退出!"); + key.Clear(); } + xmldoc.Save(decode_filepath);//生成解密后的文件 } - // Update is called once per frame - void Update () { - timer1_quit.UpdateTimer(); - timer2_checkExist.UpdateTimer(); - } } diff --git a/Assets/Scripts/SmartX1/SmartController.cs.meta b/Assets/Scripts/SmartX1/SmartController.cs.meta index e3a5595..ecd5a00 100644 --- a/Assets/Scripts/SmartX1/SmartController.cs.meta +++ b/Assets/Scripts/SmartX1/SmartController.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: b7b3bd4e725af2649a00a7c9d90fa7ea -timeCreated: 1495250299 -licenseType: Pro +guid: f77080dba14a37a4abf47c331b296fb0 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Assets/Scripts/SmartX1/SmartX1.prefab b/Assets/Scripts/SmartX1/SmartX1.prefab new file mode 100644 index 0000000..13f614e --- /dev/null +++ b/Assets/Scripts/SmartX1/SmartX1.prefab @@ -0,0 +1,45 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8989827126564560699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2279724216670829176} + - component: {fileID: 6226444345072152341} + m_Layer: 0 + m_Name: SmartX1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2279724216670829176 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8989827126564560699} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6226444345072152341 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8989827126564560699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f77080dba14a37a4abf47c331b296fb0, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scripts/SmartX1/SmartX1.prefab.meta b/Assets/Scripts/SmartX1/SmartX1.prefab.meta new file mode 100644 index 0000000..78f51cc --- /dev/null +++ b/Assets/Scripts/SmartX1/SmartX1.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5b9fb6e0da36afd4aa32e5d0d18f29f9 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/SmartX1/SmartX1Api.cs b/Assets/Scripts/SmartX1/SmartX1Api.cs index b15ab98..030beb9 100644 --- a/Assets/Scripts/SmartX1/SmartX1Api.cs +++ b/Assets/Scripts/SmartX1/SmartX1Api.cs @@ -114,78 +114,78 @@ namespace SmartX1Demo class SmartX1_X64 { // Find - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1Find(string appID, int[] keyHandles, int[] keyNumber); //open - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1Open(int keyHandle, int uPin1, int uPin2, int uPin3, int uPin4); //close - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1Close(int keyHandle); //checkExist - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1CheckExist(int keyHandle); //getUid - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1GetUid(int keyHandle, StringBuilder uid); //ReadStorage - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1ReadStorage(int keyHandle, int startAddr, int length, byte[] pBuffer); //WriteStorage - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1WriteStorage(int keyHandle, int startAddr, int length, byte[] pBuffer); //PageLogin - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1PageLogin(int keyHandle, int pageNo, byte[] password, int length); //PageLogout - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1PageLogout(int keyHandle, int pageNo); //ReadPage - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1ReadPage(int keyHandle, int pageNo, int startAddr, ref int length, byte[] pBuffer); //WritePage - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1WritePage(int keyHandle, int pageNo, int startAddr, int length, byte[] pBuffer); //ReadMem - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1ReadMem(int keyHandle, int start, int length, byte[] pBuffer); //WriteMem - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1WriteMem(int keyHandle, int start, int length, byte[] pBuffer); //encrypt - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1TriDesEncrypt(int keyHandle, int buffSize, byte[] pBuffer); //desDecrypt - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1TriDesDecrypt(int keyHandle, int buffSize, byte[] pBuffer); //led - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1Led(int keyHandle, int state); - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1PageGetProperty(int keyHandle, int pageNo, int propId, int[] propValue); - [DllImport("SmartX1App.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] + [DllImport("SmartX1AppX64", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern int SmartX1GetSoftVersion(int keyHandle, int[] version); - public static string TridesEncrypt(string data, string key, Encoding encoding) + public static string TridesEncrypt(string data, string key, Encoding encoding) { TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider(); des.Key = Encoding.Default.GetBytes(key); @@ -200,7 +200,7 @@ namespace SmartX1Demo } - public static string TridesDecEncrypt(byte[] data, string key, Encoding encoding) + public static string TridesDecEncrypt(byte[] data, string key, Encoding encoding) { TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider(); des.Key = Encoding.Default.GetBytes(key); diff --git a/Assets/Scripts/SmartX1/SmartX1Api.cs.meta b/Assets/Scripts/SmartX1/SmartX1Api.cs.meta index 64cdfef..ecafac8 100644 --- a/Assets/Scripts/SmartX1/SmartX1Api.cs.meta +++ b/Assets/Scripts/SmartX1/SmartX1Api.cs.meta @@ -1,8 +1,7 @@ fileFormatVersion: 2 -guid: aa527fc755baf7d47ab4c14d9de2a6e8 -timeCreated: 1515718375 -licenseType: Pro +guid: 30969e5b5d02c2a418f4e239698f27a8 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 diff --git a/Assets/StreamingAssets/xml/enSmartXProject.xml b/Assets/StreamingAssets/xml/enSmartXProject.xml new file mode 100644 index 0000000..d259afb --- /dev/null +++ b/Assets/StreamingAssets/xml/enSmartXProject.xml @@ -0,0 +1,2 @@ + +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 diff --git a/Assets/StreamingAssets/xml/enSmartXProject.xml.meta b/Assets/StreamingAssets/xml/enSmartXProject.xml.meta new file mode 100644 index 0000000..290351a --- /dev/null +++ b/Assets/StreamingAssets/xml/enSmartXProject.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 944e36cc0105df7429f07908bc196bbc +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/xml/enValidity.xml b/Assets/StreamingAssets/xml/enValidity.xml index 12ad594..795e4a4 100644 --- a/Assets/StreamingAssets/xml/enValidity.xml +++ b/Assets/StreamingAssets/xml/enValidity.xml @@ -1,2 +1,2 @@  -EW7y3TXHjRCpD5Z0u4b9lXDEGhbI03JD06Eet/pyzAf/D0ySpBf0JIMuUIQiC6nidTwqaXuiASoVdaYKR/rfzxLNvd0SLlBH229V4oWlwhWhWuC0Q5YFuy2IPElAg+03r+53VhFCqEwKOKSPELu8xp30g1gxybezXInZ5XDqb6p8PySIUq62k81HHJ65wSebj0HPKNfU/I9ECdkbT0zZ39gx7yL43VbQqgm0jhEs/H8lS66sH/NVon/cXq6l8R/SkMhImMWv8AbOCmShC2SBfQ== \ No newline at end of file +xuqm34QlXASINUzIaK/VNRYC/nOG0yiBMYXTxo+xgUq7QchCjh9cAG+KmNJwStwaItmKOo94TESMX+Hi5M5zFc2c8HpGkKREJPhwi46aDkhqNHDOiVO6kaAeKinY3Nd7vBeJkoNF9XPahEmwWIrRN5Ihx64wtq3SI1MwGqamwaeQTtgmtkhmwKx+q+gWqBRZjTtkURh0Rx7TIw5SP6HnILhZnmEHyhVHDo5TF0RWfHhBaDeFolon7EZ73EsmX8yM9M5W5BgQiqXYSsc8KLuYMg== \ No newline at end of file