Exemple #1
0
 private void Form1_DragDrop(object sender, DragEventArgs e)
 {
     try {
         var file = ((string[])e.Data.GetData(DataFormats.FileDrop, false))[0];
         if (reader != null)
         {
             reader.Close();
         }
         reader        = new NANDReader(file);
         textBox1.Text = file;
         var smc = _nand.GetSmc(reader, true);
         textBox2.Text = _smc.GetVersion(ref smc);
     }
     catch { }
 }
Exemple #2
0
 private static void CheckSmc(string file)
 {
     try {
         Console.WriteLine("Checking {0}:", file);
         var smc = NAND.GetSmc(new NANDReader(file, true), true);
         if (Smc.GetType(ref smc) != Smc.SmcTypes.Retail)
         {
             return;
         }
         var ver = Smc.GetVersion(ref smc);
         Console.WriteLine("SMC Is clean... version: {0}", ver);
         if (!File.Exists(ver + ".bin"))
         {
             Console.WriteLine("Saving it!");
             File.WriteAllBytes(ver + ".bin", smc);
         }
     }
     catch { }
 }
Exemple #3
0
        private void GetsmcbtnClick(object sender, EventArgs e)
        {
            _sw = Stopwatch.StartNew();
            var ofd = new OpenFileDialog();

            if (ofd.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            var bw = new BackgroundWorker();

            bw.DoWork += (o, args) => {
                try {
                    using (var reader = new NANDReader(ofd.FileName)) {
                        AddOutput("Grabbing SMC from NAND: ");
                        var data = _x360NAND.GetSmc(reader, true);
                        var smc  = new Smc();
                        var type = smc.GetType(ref data);
                        AddOutput("\r\nSMC Version: {0} [{1}]", smc.GetVersion(ref data), smc.GetMotherBoardFromVersion(ref data));
                        AddOutput("\r\nSMC Type: {0}", type);
                        if (type == Smc.SmcTypes.Jtag || type == Smc.SmcTypes.RJtag)
                        {
                            Smc.JtagsmcPatches.AnalyseSmc(ref data);
                        }
                        AddOutput("\r\nSMC Glitch Patched: {0}", smc.CheckGlitchPatch(ref data) ? "Yes" : "No");
                    }
                }
                catch (X360UtilsException ex) {
                    AddOutput("FAILED!");
                    AddException(ex.ToString());
                }
                AddOutput(Environment.NewLine);
                AddDone();
            };
            bw.RunWorkerCompleted += BwCompleted;
            bw.RunWorkerAsync();
        }