Exemple #1
0
        private void Check_Clipboard()
        {
            while (true)
            {
                if (registerAmiiboKeyToolStripMenuItem.Checked)
                {
                    try
                    {
                        IDataObject ClipData = Clipboard.GetDataObject();
                        if (ClipData.GetData(DataFormats.Text) != null)
                        {
                            if (ClipData.GetDataPresent(DataFormats.Text))
                            {
                                string Clipboard_Text = ClipData.GetData(DataFormats.Text).ToString();
                                Clipboard_Text = Regex.Replace(Clipboard_Text, "[^a-zA-Z0-9-]", string.Empty);

                                if (Clipboard_Text.Length == 320)
                                {
                                    if (Helper_Class.ValidSHA1(Helper_Class.String_To_Byte_Array(Clipboard_Text), Amiibo_Keys_Hash))
                                    {
                                        this.Invoke(new Action(() =>
                                        {
                                            Helper_Class.FlashWindowEx(this);
                                            DialogResult DgResult = MessageBox.Show(this, i18n.__("Clipboard_Key_Message1"), this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                                            if (DgResult == DialogResult.Yes)
                                            {
                                                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                                                saveFileDialog1.Filter         = i18n.__("Clipboard_Key_Filter", "|*.bin");
                                                saveFileDialog1.Title          = i18n.__("Clipboard_Key_Title");

                                                if (saveFileDialog1.ShowDialog(this) == DialogResult.OK && saveFileDialog1.FileName != "")
                                                {
                                                    byte[] clipboardStringBytes = Helper_Class.String_To_Byte_Array(Clipboard_Text);
                                                    Helper_Class.ByteArrayToFile(saveFileDialog1.FileName, clipboardStringBytes);
                                                    MessageBox.Show(this, i18n.__("Clipboard_Key_Message2"), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                                }
                                                else
                                                {
                                                    Clipboard.SetDataObject("");
                                                }
                                            }
                                            else
                                            {
                                                Clipboard.SetDataObject("");
                                            }
                                        }));
                                    }
                                }
                            }
                        }
                    }
                    catch (Exception) {}
                }

                Application.DoEvents();
            }
        }
Exemple #2
0
        private void LoadAmiiboKey()
        {
            if (Helper_Class.ValidSHA1(File.ReadAllBytes(Config.KeyFile_Path), Amiibo_Keys_Hash))
            {
                AmiiKeys = AmiiboKeys.LoadKeys(Config.KeyFile_Path);
                splitContainer1.Visible = true;
            }
            else
            {
                Config.KeyFile_Path = null;
                File.WriteAllText(AmiiBomb_Config_File, JsonConvert.SerializeObject(Config));

                AskAmiiboKey();
            }
        }
Exemple #3
0
 private void selectKeybinFileToolStripMenuItem_Click(object sender, EventArgs e)
 {
     openFileDialog1.FileName = "";
     openFileDialog1.Title    = i18n.__("Select_Key_Title");
     openFileDialog1.Filter   = i18n.__("Select_Key_Filter", "|*.bin|", "|*.*");
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         if (Helper_Class.ValidSHA1(File.ReadAllBytes(openFileDialog1.FileName), Amiibo_Keys_Hash))
         {
             Config.KeyFile_Path = openFileDialog1.FileName;
             File.WriteAllText(AmiiBomb_Config_File, JsonConvert.SerializeObject(Config));
         }
         else
         {
             DialogResult DgResult = MessageBox.Show(i18n.__("Select_Key_Message", Environment.NewLine), this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
             if (DgResult == DialogResult.Yes)
             {
                 selectKeybinFileToolStripMenuItem.PerformClick();
             }
         }
     }
 }
Exemple #4
0
        private void Get_FileInfo(string BinFile)
        {
            byte[] Decrypted_Amiibo;

            if (File_IsEncrypted(BinFile))
            {
                Decrypted_Amiibo = Amiibo_Class.Decrypt(File.ReadAllBytes(Path.Combine(Current_Folder, BinFile)), AmiiKeys);
                spoofRandomIDToolStripMenuItem.Enabled = true;
            }
            else
            {
                Decrypted_Amiibo = File.ReadAllBytes(Path.Combine(Current_Folder, BinFile));
                spoofRandomIDToolStripMenuItem.Enabled = false;
            }

            string Char_ID       = Amiibo_Class.Get_Character_ID(Decrypted_Amiibo);
            string GameSeries_ID = Amiibo_Class.Get_GameSeries_ID(Decrypted_Amiibo);
            string NFC_ID        = Amiibo_Class.Get_NFC_ID(Decrypted_Amiibo);

            currentAmiiboToolStripMenuItem.DropDownItems.Clear();
            int Init = Amiibo_Class.Get_Amiibo_Initialize_UserData(Decrypted_Amiibo);

            if (Init != 0)
            {
                if (Init == 16 || Init == 48)
                {
                    currentAmiiboToolStripMenuItem.DropDownItems.Add(i18n.__("Menu_Amiibo_Owner") + ": " + Amiibo_Class.Get_Amiibo_Mii_Nickname(Decrypted_Amiibo));
                    currentAmiiboToolStripMenuItem.DropDownItems.Add(i18n.__("Menu_Amiibo_Nickname") + ": " + Amiibo_Class.Get_Amiibo_Nickname(Decrypted_Amiibo));
                }

                if (Init == 48)
                {
                    currentAmiiboToolStripMenuItem.DropDownItems.Add(i18n.__("Menu_Amiibo_LastModDate") + ": " + Amiibo_Class.Get_Amiibo_LastModifiedDate(Decrypted_Amiibo));
                    currentAmiiboToolStripMenuItem.DropDownItems.Add(i18n.__("Menu_Amiibo_WriteCounter") + ": " + Amiibo_Class.Get_Amiibo_Write_Counter(Decrypted_Amiibo));
                    currentAmiiboToolStripMenuItem.DropDownItems.Add(i18n.__("Menu_Amiibo_AppID") + ": " + Amiibo_Class.Get_Amiibo_AppID(Decrypted_Amiibo));
                    currentAmiiboToolStripMenuItem.DropDownItems.Add(i18n.__("Menu_Amiibo_InitAppID") + ": " + Amiibo_Class.Get_Amiibo_Initialized_AppID(Decrypted_Amiibo));
                    currentAmiiboToolStripMenuItem.DropDownItems.Add(i18n.__("Menu_Amiibo_Country") + ": " + Amiibo_Class.Get_Amiibo_Country(Decrypted_Amiibo));
                }
            }
            else
            {
                currentAmiiboToolStripMenuItem.DropDownItems.Add(i18n.__("Menu_Amiibo_Sorry"));
            }


            foreach (ToolStripMenuItem Item in currentAmiiboToolStripMenuItem.DropDownItems)
            {
                Item.RightToLeft = RightToLeft.No;
                Item.Enabled     = false;
            }

            string Cache_File_Path = Path.Combine("cache", Path.GetFileNameWithoutExtension(BinFile) + ".amiibomb");

            if (File.Exists(Cache_File_Path) && Config.Cache)
            {
                Stream stream                     = File.Open(Cache_File_Path, FileMode.Open);
                var    binaryFormatter            = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                AmiiboInfo_Cache_Class Cache_File = (AmiiboInfo_Cache_Class)binaryFormatter.Deserialize(stream);
                stream.Close();

                if (Helper_Class.ValidSHA1(Decrypted_Amiibo, Cache_File.SHA1))
                {
                    Current_NFC_ID               = Cache_File.NFC_ID;
                    pictureBox1.Image            = Cache_File.Picture;
                    nameToolStripMenuItem.Text   = label3.Text = Cache_File.Name;
                    seriesToolStripMenuItem.Text = label4.Text = Cache_File.Serie;
                }
                else
                {
                    File.Delete(Cache_File_Path);
                    Get_FileInfo(BinFile);
                }
            }
            else
            {
                Current_NFC_ID = NFC_ID;
                string[] AmiiboLife_Info = AmiiboInfo_Class.Get_AmiiboInfo(NFC_ID);
                if (AmiiboLife_Info[2] != "")
                {
                    pictureBox1.Load(AmiiboLife_Info[2]);
                    pictureBox1.Image = Helper_Class.DropShadow(pictureBox1.Image);
                }
                else
                {
                    pictureBox1.Image = null;
                }
                nameToolStripMenuItem.Text = AmiiboLife_Info[0].Trim();
                label3.Text = AmiiboLife_Info[0].Trim();
                seriesToolStripMenuItem.Text = AmiiboLife_Info[1].Trim();
                label4.Text = AmiiboLife_Info[1].Trim();

                AmiiboInfo_Cache_Class Cache_File = new AmiiboInfo_Cache_Class();
                Cache_File.SHA1    = Helper_Class.SHA1_File(Decrypted_Amiibo);
                Cache_File.Name    = AmiiboLife_Info[0].Trim();
                Cache_File.Serie   = AmiiboLife_Info[1].Trim();
                Cache_File.NFC_ID  = Current_NFC_ID;
                Cache_File.Picture = pictureBox1.Image;

                if (Config.Cache && AmiiboLife_Info[0] != "" && AmiiboLife_Info[1] != "" && AmiiboLife_Info[2] != "")
                {
                    Stream stream          = File.Open(Cache_File_Path, FileMode.Create);
                    var    binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                    binaryFormatter.Serialize(stream, Cache_File);
                    stream.Close();
                }

                if (AmiiboLife_Info[0] == "" || AmiiboLife_Info[1] == "" || AmiiboLife_Info[2] == "")
                {
                    moreInformationsToolStripMenuItem.Visible = false;
                }
                else
                {
                    moreInformationsToolStripMenuItem.Visible = true;
                }
            }
        }