コード例 #1
0
 private void buttonOpen_Click(object sender, EventArgs e)
 {
     if (openPS4DMP.ShowDialog() == DialogResult.OK)
     {
         textOpen.Text = openPS4DMP.FileName;
         directoryName = Path.GetDirectoryName(textOpen.Text);
         if (PS4Nor.CheckHeader(textOpen.Text) == true)
         {
             if (PS4Nor.CheckSize(textOpen.Text) == true)
             {
                 checkBox1.Enabled = true;
                 checkBox2.Enabled = true;
             }
             else
             {
                 MessageBox.Show("PS4 Dump is corrupted");
             }
         }
         else
         {
             MessageBox.Show("Invalid file");
         }
     }
 }
コード例 #2
0
        private void buttonExtractNow_Click(object sender, EventArgs e)
        {
            // Final Process for PS4 NOR Dump Extraction
            if (textOpen.Text != "Select PS4 NOR Dump 2 Extract...")
            {
NORExtract:
                if (textSave.Text != "Select the Folder 2 save files in...")
                {
                    if (!Directory.Exists(textSave.Text + @"\flash_extracted\") == true)
                    {
                        Directory.CreateDirectory(textSave.Text + @"\flash_extracted\");

                        if (!Directory.Exists(textSave.Text + @"\flash_extracted\") == true)
                        {
                            MessageBox.Show("Can't create the Folder!");
                        }
                        else
                        {
                            flag = 3;
                        }
                    }
                    else if (checkFolder.Checked == true)
                    {
                        if (Directory.Exists(textSave.Text + @"\flash_extracted\"))
                        {
                            Directory.Delete(textSave.Text + @"\flash_extracted\", true);

                            if (Directory.Exists(textSave.Text + @"\flash_extracted\") == true)
                            {
                                MessageBox.Show("Sorry something went wrong, I can't delete the old Folder!\nPlease Move/Delete the Folder on your own.");
                            }
                            else
                            {
                                Directory.CreateDirectory(textSave.Text + @"\flash_extracted\");

                                if (!Directory.Exists(textSave.Text + @"\flash_extracted\") == true)
                                {
                                    MessageBox.Show("Can't create the Folder!");
                                }
                                else
                                {
                                    flag = 3;
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Folder allready exists!\nMove/Delete your files or Activate the Folder Override Chechbox.");
                    }

                    if (flag == 3)
                    {
                        int exception = 0;

                        try
                        {
                            PS4Nor.ExtractDump(textOpen.Text, textSave.Text);
                        }
                        catch (Exception a)
                        {
                            MessageBox.Show(a.ToString());
                            exception = 1;
                        }
                        finally
                        {
                            if (exception != 1)
                            {
                                MessageBox.Show("NOR Dump Successfull Extracted !");
                            }
                        }
                    }
                }
                else
                {
                    if (saveFolder.ShowDialog() == DialogResult.OK)
                    {
                        textSave.Text = saveFolder.SelectedPath;
                        goto NORExtract;
                    }
                }
            }



            // Final Process for PS4 SLB2 Extraction
            if (textOSLB2.Text != "Select PS4 SLB2 Container 2 Extract...")
            {
SLB2Extract:
                if (textSSLB2.Text != "Select the Folder 2 save files in...")
                {
                    if (!Directory.Exists(textSSLB2.Text + @"\slb2_extracted\") == true)
                    {
                        Directory.CreateDirectory(textSSLB2.Text + @"\slb2_extracted\");

                        if (!Directory.Exists(textSSLB2.Text + @"\slb2_extracted\") == true)
                        {
                            MessageBox.Show("Can't create the Folder!");
                        }
                        else
                        {
                            flag = 4;
                        }
                    }
                    else if (checkOFSLB2.Checked == true)
                    {
                        if (Directory.Exists(textSSLB2.Text + @"\slb2_extracted\"))
                        {
                            Directory.Delete(textSSLB2.Text + @"\slb2_extracted\", true);

                            if (Directory.Exists(textSSLB2.Text + @"\slb2_extracted\") == true)
                            {
                                MessageBox.Show("Sorry something went wrong, I can't delete the old Folder!\nPlease Move/Delete the Folder on your own.");
                            }
                            else
                            {
                                Directory.CreateDirectory(textSSLB2.Text + @"\slb2_extracted\");

                                if (!Directory.Exists(textSSLB2.Text + @"\slb2_extracted\") == true)
                                {
                                    MessageBox.Show("Can't create the Folder!");
                                }
                                else
                                {
                                    flag = 4;
                                }
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Folder allready exists!\nMove/Delete your files or Activate the Folder Override Chechbox.");
                    }

                    if (flag == 4)
                    {
                        int exception = 0;

                        try
                        {
                            SLB2.Extract(textOSLB2.Text, textSSLB2.Text + @"\slb2_extracted\");
                        }
                        catch (Exception a)
                        {
                            MessageBox.Show(a.ToString());
                            exception = 1;
                        }
                        finally
                        {
                            if (exception != 1)
                            {
                                MessageBox.Show("SLB2 Container Successfull Extracted !");
                            }
                        }
                    }
                }
                else
                {
                    if (saveFolder.ShowDialog() == DialogResult.OK)
                    {
                        textSSLB2.Text = saveFolder.SelectedPath;
                        goto SLB2Extract;
                    }
                }
            }

            flag = 0;
        }
コード例 #3
0
        private void CheckDumpPS4(string str)
        {
            int    s            = 0;
            int    r            = 0;
            string bufferString = "";

            ASCIIEncoding encode = new ASCIIEncoding();

            PS4Nor.CheckDumpFull(textOpen.Text);

            #region CheckingCID
            //Checking MAC Address and Display it in the GUI
            bufferA = PS4Nor.GetMAC(textOpen.Text);
            if (bufferA != null && bufferA != PS4Nor.ffMAC)
            {
                s++;
                textMAC.Text = BitConverter.ToString(bufferA).Replace("-", ":");
                Logger.WriteLine(l, "Console MAC Address is: " + textMAC.Text);
            }
            else
            {
                r++;
                Logger.WriteLine(l, "Console MAC Address is only Null or FF Bytes!");
            }
            bufferA = null;

            // Checking Console Serial and Display it in the GUI
            bufferA = PS4Nor.GetCID(textOpen.Text);
            if (bufferA != null && bufferA != PS4Nor.ffCSerial)
            {
                s++;
                bufferString = encode.GetString(bufferA);
                textCID.Text = bufferString.Insert(10, "-");
                Logger.WriteLine(l, "Console Serial is:" + textCID.Text);
            }
            else
            {
                r++;
                Logger.WriteLine(l, "Console Serial is only Null or FF Bytes!");
            }
            bufferA = null;

            // Checking SKU Version and Display it in the GUI
            bufferA = PS4Nor.GetSKU(textOpen.Text);
            if (bufferA != null && bufferA != PS4Nor.ffSKU)
            {
                s++;
                textSKU.Text = encode.GetString(bufferA);
                Logger.WriteLine(l, "Console SKU Version is: " + textSKU.Text);
            }
            else
            {
                r++;
                Logger.WriteLine(l, "Console SKU Version is only Null or FF Bytes!");
            }
            bufferA = null;

            // Checking FirmWare Version and Display it in the GUI
            bufferA = PS4Nor.GetFWV(textOpen.Text);
            if (bufferA != null && bufferA != PS4Nor.ffMAC)
            {
                s++;
                bufferString = BitConverter.ToString(bufferA).Replace("-", "");
                textFWV.Text = bufferString.Insert(2, ".").Replace("01.", "1.").Replace("02.", "2.").Replace("03.", "3.").Replace("04.", "4.").Replace("05.", "5.").Replace("06.", "6.").Replace("07.", "7.").Replace("08.", "8.").Replace("09.", "9.").Insert(4, ".");
                Logger.WriteLine(l, "Console FirmWare Version is: " + textFWV.Text);
            }
            else
            {
                r++;
                Logger.WriteLine(l, "Console FirmWare Version is only Null or FF Bytes!");
            }
            bufferA = null;
            #endregion CheckingCID

            Logger.WriteLine(l, "Result: " + s.ToString() + " of 31 Checks Passed!!\nErrors: " + r.ToString() + " where Detected!!");
        }
コード例 #4
0
        private void buttonOpen_Click(object sender, EventArgs e)
        {
            if (openPS4DMP.ShowDialog() == DialogResult.OK)
            {
                textOpen.Text = openPS4DMP.FileName;

                if (PS4Nor.CheckHeader(textOpen.Text) == true)
                {
                    if (PS4Nor.CheckSize(textOpen.Text) == true)
                    {
                        SHA1          sha    = new SHA1CryptoServiceProvider();
                        ASCIIEncoding encode = new ASCIIEncoding();
                        bufferB         = new byte[20];
                        Tool.readBuffer = null;
                        Tool.ReadWriteData(textOpen.Text, null, "r");
                        bufferB       = sha.ComputeHash(Tool.readBuffer);
                        textSHA1.Text = BitConverter.ToString(bufferB).Replace("-", "");

                        #region GetCID
                        //Checking MAC Address and Display it in the GUI
                        bufferA = PS4Nor.GetMAC(textOpen.Text);
                        if (bufferA != null && bufferA != PS4Nor.ffMAC)
                        {
                            textMAC.Text = BitConverter.ToString(bufferA).Replace("-", ":");
                            Logger.WriteLine(l, "Console MAC Address is: " + textMAC.Text);
                        }
                        else
                        {
                            Logger.WriteLine(l, "Console MAC Address is only Null or FF Bytes!");
                        }

                        bufferA = null;

                        // Checking Console Serial and Display it in the GUI
                        bufferA = PS4Nor.GetCID(textOpen.Text);
                        if (bufferA != null && bufferA != PS4Nor.ffCSerial)
                        {
                            bufferString = encode.GetString(bufferA);
                            textCID.Text = bufferString.Insert(10, "-");
                            Logger.WriteLine(l, "Console Serial is:" + textCID.Text);
                        }
                        else
                        {
                            Logger.WriteLine(l, "Console Serial is only Null or FF Bytes!");
                        }

                        bufferA = null;

                        // Checking SKU Version and Display it in the GUI
                        bufferA = PS4Nor.GetSKU(textOpen.Text);
                        if (bufferA != null && bufferA != PS4Nor.ffSKU)
                        {
                            textSKU.Text = encode.GetString(bufferA);
                            Logger.WriteLine(l, "Console SKU Version is: " + textSKU.Text);
                        }
                        else
                        {
                            Logger.WriteLine(l, "Console SKU Version is only Null or FF Bytes!");
                        }

                        bufferA = null;

                        // Checking FirmWare Version and Display it in the GUI
                        bufferA = PS4Nor.GetFWV(textOpen.Text);
                        if (bufferA != null && bufferA != PS4Nor.ffMAC)
                        {
                            bufferString = BitConverter.ToString(bufferA).Replace("-", "");
                            textFWV.Text = bufferString.Insert(2, ".").Replace("01.", "1.").Replace("02.", "2.").Replace("03.", "3.").Replace("04.", "4.").Replace("05.", "5.").Replace("06.", "6.").Replace("07.", "7.").Replace("08.", "8.").Replace("09.", "9.").Insert(4, ".");
                            Logger.WriteLine(l, "Console FirmWare Version is: " + textFWV.Text);
                        }
                        else
                        {
                            Logger.WriteLine(l, "Console FirmWare Version is only Null or FF Bytes!");
                        }
                        bufferA = null;
                        #endregion CheckingCID

                        buttonExtractNow.Enabled = true;
                    }
                    else
                    {
                        MessageBox.Show("PS4 NOR Dump is corrupted\nSize miss match\n\n");
                        Logger.WriteLine(l, "PS4 NOR Dump is corrupted\nSize miss match\n\n");
                        textOpen.Text = "Select PS4 NOR Dump 2 Extract...";
                    }
                }
                else
                {
                    MessageBox.Show("This is NOT a valide PS4 NOR Dump file\nHeader miss match\n\n");
                    Logger.WriteLine(l, "This is NOT a valide PS4 NOR Dump file\nHeader miss match\n\n");
                    textOpen.Text = "Select PS4 NOR Dump 2 Extract...";
                }
            }
        }
コード例 #5
0
        private void buttonExtractNow_Click(object sender, EventArgs e)
        {
            string path = Environment.CurrentDirectory;

            filename = Path.GetFileNameWithoutExtension(textOpen.Text);

            if (checkBox1.Checked)
            {
                if (!Directory.Exists(path + @"\flash_extracted\") == true)
                {
                    Directory.CreateDirectory(path + @"\flash_extracted\");
                    flag = 3;
                }
                if (flag == 3)
                {
                    int exception = 0;

                    try
                    {
                        PS4Nor.ExtractDump(textOpen.Text, path);
                    }
                    catch (Exception a)
                    {
                        MessageBox.Show(a.ToString());
                        exception = 1;
                    }
                    finally
                    {
                        if (exception != 1)
                        {
                            if (Directory.Exists(path + "\\" + filename + "_extracted\\"))
                            {
                                Directory.Delete(path + "\\" + filename + "_extracted\\", true);
                            }
                            System.IO.Directory.Move(path + @"\flash_extracted\", path + "\\" + filename + "_extracted\\");
                            MessageBox.Show("Extraction done", "Info");
                            System.Diagnostics.Process.Start("explorer.exe", path + "\\" + filename + "_extracted\\");
                        }
                    }
                }
            }
            else if (checkBox2.Checked)
            {
                string dir = path + "\\" + filename + "_sflash0";

                if (!Directory.Exists(path + "\\" + filename + "_sflash0"))
                {
                    Directory.CreateDirectory(dir);
                }

                //Header
                bufferB = sflash0.GetHeader(textOpen.Text);
                File.WriteAllBytes("Header.bin", bufferB);

                if (File.Exists(dir + "\\Header.bin"))
                {
                    File.Delete(dir + "\\Header.bin");
                }
                File.Move("Header.bin", dir + "\\Header.bin");

                //Unk
                bufferB = sflash0.GetUnk(textOpen.Text);
                File.WriteAllBytes("Unk.bin", bufferB);

                if (File.Exists(dir + "\\Unk.bin"))
                {
                    File.Delete(dir + "\\Unk.bin");
                }
                File.Move("Unk.bin", dir + "\\Unk.bin");

                //MBR1
                bufferB = sflash0.GetMBR1(textOpen.Text);
                File.WriteAllBytes("MBR1.bin", bufferB);

                if (File.Exists(dir + "\\MBR1.bin"))
                {
                    File.Delete(dir + "\\MBR1.bin");
                }
                File.Move("MBR1.bin", dir + "\\MBR1.bin");

                //MBR2
                bufferB = sflash0.GetMBR2(textOpen.Text);
                File.WriteAllBytes("MBR2.bin", bufferB);

                if (File.Exists(dir + "\\MBR2.bin"))
                {
                    File.Delete(dir + "\\MBR2.bin");
                }
                File.Move("MBR2.bin", dir + "\\MBR2.bin");

                //sflash0s0x32b
                bufferB = sflash0.Getsflash0s0x32b(textOpen.Text);
                File.WriteAllBytes("sflash0s0x32b.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s0x32b.bin"))
                {
                    File.Delete(dir + "\\sflash0s0x32b.bin");
                }
                File.Move("sflash0s0x32b.bin", dir + "\\sflash0s0x32b.bin");

                //sflash0s0x32
                bufferB = sflash0.Getsflash0s0x32(textOpen.Text);
                File.WriteAllBytes("sflash0s0x32.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s0x32.bin"))
                {
                    File.Delete(dir + "\\sflash0s0x32.bin");
                }
                File.Move("sflash0s0x32.bin", dir + "\\sflash0s0x32.bin");

                //sflash0s0x33
                bufferB = sflash0.Getsflash0s0x33(textOpen.Text);
                File.WriteAllBytes("sflash0s0x33.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s0x33.bin"))
                {
                    File.Delete(dir + "\\sflash0s0x33.bin");
                }
                File.Move("sflash0s0x33.bin", dir + "\\sflash0s0x33.bin");

                //sflash0s0x34
                bufferB = sflash0.Getsflash0s0x34(textOpen.Text);
                File.WriteAllBytes("sflash0s0x34.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s0x34.bin"))
                {
                    File.Delete(dir + "\\sflash0s0x34.bin");
                }
                File.Move("sflash0s0x34.bin", dir + "\\sflash0s0x34.bin");

                //sflash0s0x38
                bufferB = sflash0.Getsflash0s0x38(textOpen.Text);
                File.WriteAllBytes("sflash0s0x38.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s0x38.bin"))
                {
                    File.Delete(dir + "\\sflash0s0x38.bin");
                }
                File.Move("sflash0s0x38.bin", dir + "\\sflash0s0x38.bin");

                //sflash0s0x0
                bufferB = sflash0.Getsflash0s0x0(textOpen.Text);
                File.WriteAllBytes("sflash0s0x0.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s0x0.bin"))
                {
                    File.Delete(dir + "\\sflash0s0x0.bin");
                }
                File.Move("sflash0s0x0.bin", dir + "\\sflash0s0x0.bin");

                //Header2
                bufferB = sflash0.GetHeader2(textOpen.Text);
                File.WriteAllBytes("Header2.bin", bufferB);

                if (File.Exists(dir + "\\Header2.bin"))
                {
                    File.Delete(dir + "\\Header2.bin");
                }
                File.Move("Header2.bin", dir + "\\Header2.bin");

                //Unk2
                bufferB = sflash0.GetUnk2(textOpen.Text);
                File.WriteAllBytes("Unk2.bin", bufferB);

                if (File.Exists(dir + "\\Unk2.bin"))
                {
                    File.Delete(dir + "\\Unk2.bin");
                }
                File.Move("Unk2.bin", dir + "\\Unk2.bin");

                //MBR3
                bufferB = sflash0.GetMBR3(textOpen.Text);
                File.WriteAllBytes("MBR3.bin", bufferB);

                if (File.Exists(dir + "\\MBR3.bin"))
                {
                    File.Delete(dir + "\\MBR3.bin");
                }
                File.Move("MBR3.bin", dir + "\\MBR3.bin");

                //MBR4
                bufferB = sflash0.GetMBR4(textOpen.Text);
                File.WriteAllBytes("MBR4.bin", bufferB);

                if (File.Exists(dir + "\\MBR4.bin"))
                {
                    File.Delete(dir + "\\MBR4.bin");
                }
                File.Move("MBR4.bin", dir + "\\MBR4.bin");

                //sflash0s1_cryptx2b
                bufferB = sflash0.Getsflash0s1_cryptx2b(textOpen.Text);
                File.WriteAllBytes("sflash0s1_cryptx2b.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s1_cryptx2b.bin"))
                {
                    File.Delete(dir + "\\sflash0s1_cryptx2b.bin");
                }
                File.Move("sflash0s1_cryptx2b.bin", dir + "\\sflash0s1_cryptx2b.bin");

                //sflash0s1_cryptx2
                bufferB = sflash0.Getsflash0s1_cryptx2(textOpen.Text);
                File.WriteAllBytes("sflash0s1_cryptx2.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s1_cryptx2.bin"))
                {
                    File.Delete(dir + "\\sflash0s1_cryptx2.bin");
                }
                File.Move("sflash0s1_cryptx2.bin", dir + "\\sflash0s1_cryptx2.bin");

                //sflash0s1_cryptx1
                bufferB = sflash0.Getsflash0s1_cryptx1(textOpen.Text);
                File.WriteAllBytes("sflash0s1_cryptx1.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s1_cryptx1.bin"))
                {
                    File.Delete(dir + "\\sflash0s1_cryptx1.bin");
                }
                File.Move("sflash0s1_cryptx1.bin", dir + "\\sflash0s1_cryptx1.bin");

                //sflash0s1_cryptx39
                bufferB = sflash0.Getsflash0s1_cryptx39(textOpen.Text);
                File.WriteAllBytes("sflash0s1_cryptx39.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s1_cryptx39.bin"))
                {
                    File.Delete(dir + "\\sflash0s1_cryptx39.bin");
                }
                File.Move("sflash0s1_cryptx39.bin", dir + "\\sflash0s1_cryptx39.bin");

                //sflash0s1_cryptx6
                bufferB = sflash0.Getsflash0s1_cryptx6(textOpen.Text);
                File.WriteAllBytes("sflash0s1_cryptx6.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s1_cryptx6.bin"))
                {
                    File.Delete(dir + "\\sflash0s1_cryptx6.bin");
                }
                File.Move("sflash0s1_cryptx6.bin", dir + "\\sflash0s1_cryptx6.bin");

                //sflash0s1_cryptx3b
                bufferB = sflash0.Getsflash0s1_cryptx3b(textOpen.Text);
                File.WriteAllBytes("sflash0s1_cryptx3b.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s1_cryptx3b.bin"))
                {
                    File.Delete(dir + "\\sflash0s1_cryptx3b.bin");
                }
                File.Move("sflash0s1_cryptx3b.bin", dir + "\\sflash0s1_cryptx3b.bin");

                //sflash0s1_cryptx3
                bufferB = sflash0.Getsflash0s1_cryptx3(textOpen.Text);
                File.WriteAllBytes("sflash0s1_cryptx3.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s1_cryptx3.bin"))
                {
                    File.Delete(dir + "\\sflash0s1_cryptx3.bin");
                }
                File.Move("sflash0s1_cryptx3.bin", dir + "\\sflash0s1_cryptx3.bin");

                //sflash0s1_cryptx40
                bufferB = sflash0.Getsflash0s1_cryptx40(textOpen.Text);
                File.WriteAllBytes("sflash0s1_cryptx40.bin", bufferB);

                if (File.Exists(dir + "\\sflash0s1_cryptx40.bin"))
                {
                    File.Delete(dir + "\\sflash0s1_cryptx40.bin");
                }
                File.Move("sflash0s1_cryptx40.bin", dir + "\\sflash0s1_cryptx40.bin");

                MessageBox.Show("Extraction done", "Info");
                System.Diagnostics.Process.Start("explorer.exe", dir);
            }
        }
コード例 #6
0
        private void CheckDumpPS4(string str)
        {
            s = 0;
            r = 0;

            if (str == "s")
            {
                bufferString = textSave.Text;
            }
            else if (str == "o")
            {
                bufferString = textOpen.Text;
            }

            ASCIIEncoding encode = new ASCIIEncoding();

            PS4Nor.CheckDumpFull(bufferString);

            #region CheckingResult
            if (PS4Nor._sceBigMagic == true)
            {
                s++;
                console.WriteOutput("sceBigMagic is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "sceBigMagic is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("sceBigMagic is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "sceBigMagic is NOT OK!");
            }
            if (PS4Nor._sceSmallMagic1 == true)
            {
                s++;
                console.WriteOutput("sceSmallMagic1 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "sceSmallMagic1 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("sceSmallMagic1 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "sceSmallMagic1 is NOT OK!");
            }
            if (PS4Nor._sceSmallMagic2 == true)
            {
                s++;
                console.WriteOutput("sceSmallMagic2 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "sceSmallMagic2 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("sceSmallMagic2 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "sceSmallMagic2 is NOT OK!");
            }
            if (PS4Nor._dbcbMagic1 == true)
            {
                s++;
                console.WriteOutput("dbcbMagic1 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "dbcbMagic1 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("dbcbMagic1 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "dbcbMagic1 is NOT OK!");
            }
            if (PS4Nor._dbcbMagic2 == true)
            {
                s++;
                console.WriteOutput("dbcbMagic2 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "dbcbMagic2 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("dbcbMagic2 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "dbcbMagic2 is NOT OK!");
            }
            if (PS4Nor._dbcbMagic3 == true)
            {
                s++;
                console.WriteOutput("dbcbMagic3 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "dbcbMagic3 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("dbcbMagic3 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "dbcbMagic3 is NOT OK!");
            }
            if (PS4Nor._scevtrmMagic1 == true)
            {
                s++;
                console.WriteOutput("scevtrmMagic1 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "scevtrmMagic1 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("scevtrmMagic1 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "scevtrmMagic1 is NOT OK!");
            }
            if (PS4Nor._scevtrmMagic2 == true)
            {
                s++;
                console.WriteOutput("scevtrmMagic2 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "scevtrmMagic2 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("scevtrmMagic2 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "scevtrmMagic2 is NOT OK!");
            }
            if (PS4Nor._slb2Magic1 == true)
            {
                s++;
                console.WriteOutput("slb2Magic1 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "slb2Magic1 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("slb2Magic1 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "slb2Magic1 is NOT OK!");
            }
            if (PS4Nor._slb2Magic2 == true)
            {
                s++;
                console.WriteOutput("slb2Magic2 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "slb2Magic2 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("slb2Magic2 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "slb2Magic2 is NOT OK!");
            }
            if (PS4Nor._slb2Magic3 == true)
            {
                s++;
                console.WriteOutput("slb2Magic3 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "slb2Magic3 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("slb2Magic3 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "slb2Magic3 is NOT OK!");
            }
            if (PS4Nor._slb2Magic4 == true)
            {
                s++;
                console.WriteOutput("slb2Magic4 is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "slb2Magic4 is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("slb2Magic4 is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "slb2Magic4 is NOT OK!");
            }
            if (PS4Nor._blobMagic1 == true)
            {
                s++;
                console.WriteOutput("1 512 byte long Hex-Blob with constant Offset in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "1 512 byte long Hex-Blob with constant Offset in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("1 512 byte long Hex-Blob with constant Offset in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "1 512 byte long Hex-Blob with constant Offset in Unk File is NOT OK!");
            }
            if (PS4Nor._blobMagic2 == true)
            {
                s++;
                console.WriteOutput("2 512 byte long Hex-Blob with constant Offset in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "2 512 byte long Hex-Blob with constant Offset in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("2 512 byte long Hex-Blob with constant Offset in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "2 512 byte long Hex-Blob with constant Offset in Unk File is NOT OK!");
            }
            if (PS4Nor._blobMagic3 == true)
            {
                s++;
                console.WriteOutput("3 512 byte long Hex-Blob with constant Offset in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "3 512 byte long Hex-Blob with constant Offset in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("3 512 byte long Hex-Blob with constant Offset in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "3 512 byte long Hex-Blob with constant Offset in Unk File is NOT OK!");
            }
            if (PS4Nor._blobMagic4 == true)
            {
                s++;
                console.WriteOutput("4 512 byte long Hex-Blob with constant Offset in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "4 512 byte long Hex-Blob with constant Offset in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("4 512 byte long Hex-Blob with constant Offset in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "4 512 byte long Hex-Blob with constant Offset in Unk File is NOT OK!");
            }
            if (PS4Nor._blobMagic5 == true)
            {
                s++;
                console.WriteOutput("5 304 byte long Hex-Blob with constant Offset in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "5 304 byte long Hex-Blob with constant Offset in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("5 304 byte long Hex-Blob with constant Offset in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "5 304 byte long Hex-Blob with constant Offset in Unk File is NOT OK!");
            }
            if (PS4Nor._blobMagic6 == true)
            {
                s++;
                console.WriteOutput("6 224 byte long Hex-Blob with constant Offset in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "6 224 byte long Hex-Blob with constant Offset in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("6 224 byte long Hex-Blob with constant Offset in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "6 224 byte long Hex-Blob with constant Offset in Unk File is NOT OK!");
            }
            if (PS4Nor._blobMagic7 == true)
            {
                s++;
                console.WriteOutput("7 352 byte long Hex-Blob with constant Offset in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "7 352 byte long Hex-Blob with constant Offset in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("7 352 byte long Hex-Blob with constant Offset in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "7 352 byte long Hex-Blob with constant Offset in Unk File is NOT OK!");
            }
            if (PS4Nor._blobMagic8 == true)
            {
                s++;
                console.WriteOutput("8 64 byte long Hex-Blob with constant Offset in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "8 64 byte long Hex-Blob with constant Offset in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("8 64 byte long Hex-Blob with constant Offset in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "8 64 byte long Hex-Blob with constant Offset in Unk File is NOT OK!");
            }
            if (PS4Nor._blobMagic9 == true)
            {
                s++;
                console.WriteOutput("2 32 byte long Hex-Blob of Console Specific Constant in SCEVTRM is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "2 32 byte long Hex-Blob of Console Specific Constant in SCEVTRM is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("2 32 byte long Hex-Blob of Console Specific Constant in SCEVTRM is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "2 32 byte long Hex-Blob of Console Specific Constant in SCEVTRM is NOT OK!");
            }
            if (PS4Nor._ccMagic1 == true)
            {
                s++;
                console.WriteOutput("1 50 byte long Console Constant Hex-Blob in SCEVTRM is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "1 50 byte long Console Constant Hex-Blob in SCEVTRM is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("1 50 byte long Console Constant Hex-Blob in SCEVTRM is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "1 50 byte long Console Constant Hex-Blob in SCEVTRM is NOT OK!");
            }
            if (PS4Nor._ccMagic2 == true)
            {
                s++;
                console.WriteOutput("2 48 byte long Console Constant Hex-Blob in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "2 48 byte long Console Constant Hex-Blob in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("2 48 byte long Console Constant Hex-Blob in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "2 48 byte long Console Constant Hex-Blob in Unk File is NOT OK!\n");
            }
            if (PS4Nor._ccMagic3 == true)
            {
                s++;
                console.WriteOutput("3 9 byte long Console Constant Hex-Blob in Unk File is OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "3 9 byte long Console Constant Hex-Blob in Unk File is OK!");
            }
            else
            {
                r++;
                console.WriteOutput("3 9 byte long Console Constant Hex-Blob in Unk File is NOT OK!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "3 9 byte long Console Constant Hex-Blob in Unk File is NOT OK!");
            }
            if (PS4Nor._c01A == true)
            {
                s++;
                console.WriteOutput("1 32 byte long Hex-Blob of MediaCon FW Stage1 & Stage2 do Match between each Other!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "1 32 byte long Hex-Blob of MediaCon FW Stage1 & Stage2 do Match between each Other!");
            }
            else
            {
                r++;
                console.WriteOutput("1 32 byte long Hex-Blob of MediaCon FW Stage1 & Stage2 do NOT Match between each Other!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "1 32 byte long Hex-Blob of MediaCon FW Stage1 & Stage2 do NOT Match between each Other!");
            }
            if (PS4Nor._c01B == true)
            {
                s++;
                console.WriteOutput("2 32 byte long Hex-Blob of MediaCon FW Stage1 & Stage2 do Match between each Other!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "2 32 byte long Hex-Blob of MediaCon FW Stage1 & Stage2 do Match between each Other!");
            }
            else
            {
                r++;
                console.WriteOutput("2 32 byte long Hex-Blob of MediaCon FW Stage1 & Stage2 do NOT Match between each Other!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "2 32 byte long Hex-Blob of MediaCon FW Stage1 & Stage2 do NOT Match between each Other!");
            }
            if (PS4Nor._slb2NR3Checksum == true)
            {
                s++;
                console.WriteOutput("Checksum of the Third SLB2 in Flash Image is not Null or only FF bytes...does look Good!\n\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Checksum of the Third SLB2 in Flash Image is not Null or only FF bytes...does look Good!");
            }
            else
            {
                r++;
                console.WriteOutput("Checksum of the Third SLB2 in Flash Image is Null or only FF bytes...does NOT look Good!\n\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Checksum of the Third SLB2 in Flash Image is Null or only FF bytes...does NOT look Good!");
            }
            #endregion CheckingResult

            #region GetCID
            //Checking MAC Address and Display it in the GUI
            bufferA = PS4Nor.GetMAC(textOpen.Text);
            if (bufferA != null && bufferA != PS4Nor.ffMAC)
            {
                s++;
                textMAC.Text = BitConverter.ToString(bufferA).Replace("-", ":");
                console.WriteOutput("Console MAC Address is: " + textMAC.Text + "\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Console MAC Address is: " + textMAC.Text);
            }
            else
            {
                r++;
                console.WriteOutput("Console MAC Address is only Null or FF Bytes!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Console MAC Address is only Null or FF Bytes!");
            }
            bufferA = null;

            // Checking Console Serial and Display it in the GUI
            bufferA = PS4Nor.GetCID(textOpen.Text);
            if (bufferA != null && bufferA != PS4Nor.ffCSerial)
            {
                s++;
                bufferString = encode.GetString(bufferA);
                textCID.Text = bufferString.Insert(10, "-");
                console.WriteOutput("Console Serial is: " + textCID.Text + "\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Console Serial is:" + textCID.Text);
            }
            else
            {
                r++;
                console.WriteOutput("Console Serial is only Null or FF Bytes!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Console Serial is only Null or FF Bytes!");
            }
            bufferA = null;

            // Checking SKU Version and Display it in the GUI
            bufferA = PS4Nor.GetSKU(textOpen.Text);
            if (bufferA != null && bufferA != PS4Nor.ffSKU)
            {
                s++;
                textSKU.Text = encode.GetString(bufferA);
                console.WriteOutput("Console SKU Version is: " + textSKU.Text + "\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Console SKU Version is: " + textSKU.Text);
            }
            else
            {
                r++;
                console.WriteOutput("Console SKU Version is only Null or FF Bytes!\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Console SKU Version is only Null or FF Bytes!");
            }
            bufferA = null;

            // Checking FirmWare Version and Display it in the GUI
            bufferA = PS4Nor.GetFWV(textOpen.Text);
            if (bufferA != null && bufferA != PS4Nor.ffMAC)
            {
                s++;
                bufferString = BitConverter.ToString(bufferA).Replace("-", "");
                textFWV.Text = bufferString.Insert(2, ".").Replace("01.", "1.").Replace("02.", "2.").Replace("03.", "3.").Replace("04.", "4.").Replace("05.", "5.").Replace("06.", "6.").Replace("07.", "7.").Replace("08.", "8.").Replace("09.", "9.").Insert(4, ".");
                console.WriteOutput("Console FirmWare Version is: " + textFWV.Text + "\n\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Console FirmWare Version is: " + textFWV.Text);
            }
            else
            {
                r++;
                console.WriteOutput("Console FirmWare Version is only Null or FF Bytes!\n\n", System.Drawing.Color.Yellow);
                Logger.WriteLine(l, "Console FirmWare Version is only Null or FF Bytes!");
            }
            bufferA = null;
            #endregion CheckingCID

            Logger.WriteLine(l, "Result: " + s.ToString() + " of 31 Checks Passed!!\nErrors: " + r.ToString() + " where Detected!!");
            console.WriteOutput("Result: " + s.ToString() + " of 31 Checks Passed\nErrors: " + r.ToString() + " where Detected!!\n\n", System.Drawing.Color.Yellow);

            if (r == 0 && str == "o" || r != 0 && str == "o" && File.Exists("developer.conf") == true)
            {
                Write.Enabled    = true;
                WriteV.Enabled   = true;
                buttonOL.Enabled = true;
            }
            else if (r == 0 && str == "s" || r != 0 && str == "s" && File.Exists("developer.conf") == true)
            {
                buttonOL.Enabled = true;
            }
        }