Exemplo n.º 1
0
        private void NewScanButton_Click(object sender, EventArgs e)
        {
            // Clear all the controls from the panel
            FoundDataPanel.Controls.Clear();

            // Format the dump base file name
            string OutFileName = Application.StartupPath + "\\Dumps\\dmp_";

            // Check to see if we have a dumps directory, if not, make one
            if (!Directory.Exists(Application.StartupPath + "\\Dumps"))
                Directory.CreateDirectory(Application.StartupPath + "\\Dumps");

            // Remove all of the files in the directory
            foreach (string fi in Directory.GetFiles(Application.StartupPath + "\\Dumps"))
            {
                File.Delete(fi);
            }

            // Check for the very last dump made
            int i;
            for (i = 0; ; i++)
            {
                if (!File.Exists(OutFileName + i.ToString()))
                    break;
            }

            // Create a new progress bar window
            ProgressWindow dmpw = new ProgressWindow();

            // Dump to a file
            dmpw.XboxDebugCommunicator = this.XboxDebugCommunicator;
            dmpw.Address = Convert.ToUInt32(StartScanCBox.Text, 16);
            dmpw.Length = Convert.ToUInt32(StopScanTextBox.Text, 16);

            dmpw.ProgressType = ProgressWindowType.Dumping;

            dmpw.Text = "Dumping, Please Wait";

            dmpw.OutDumpFileName = OutFileName + i.ToString();

            dmpw.ShowDialog();

            // Search for the data in the file
            dmpw.SearchingBuffer = File.ReadAllBytes(OutFileName + i.ToString());
            dmpw.ToSearch = ConvertValueFromDataBox();

            dmpw.ProgressType = ProgressWindowType.Scanning;

            dmpw.Text = "Searching, Please Wait";

            dmpw.ShowDialog();

            LastScan = dmpw.DataFound;

            if (LastScan.Count > 1000)
            {
                MessageBox.Show("Too many values, do another scan to narrow it down", "Warning");
                return;
            }

            // Put all the found values in the panel provided there is less than 1000
            foreach (uint FoundValues in dmpw.DataFound)
            {
                MemoryAddress m = new MemoryAddress();
                m.Address = Convert.ToUInt32(StartScanCBox.Text, 16) + FoundValues;

                FoundDataPanel.Controls.Add(m);
            }

            // Dispose it or we freeze next time we make a dump
            dmpw.Dispose();
        }
Exemplo n.º 2
0
        private void NewScanButton_Click(object sender, EventArgs e)
        {
            // Clear all the controls from the panel
            FoundDataPanel.Controls.Clear();

            // Format the dump base file name
            string OutFileName = Application.StartupPath + "\\Dumps\\dmp_";

            // Check to see if we have a dumps directory, if not, make one
            if (!Directory.Exists(Application.StartupPath + "\\Dumps"))
            {
                Directory.CreateDirectory(Application.StartupPath + "\\Dumps");
            }

            // Remove all of the files in the directory
            foreach (string fi in Directory.GetFiles(Application.StartupPath + "\\Dumps"))
            {
                File.Delete(fi);
            }


            // Check for the very last dump made
            int i;

            for (i = 0; ; i++)
            {
                if (!File.Exists(OutFileName + i.ToString()))
                {
                    break;
                }
            }

            // Create a new progress bar window
            ProgressWindow dmpw = new ProgressWindow();

            // Dump to a file
            dmpw.XboxDebugCommunicator = this.XboxDebugCommunicator;
            dmpw.Address = Convert.ToUInt32(StartScanCBox.Text, 16);
            dmpw.Length  = Convert.ToUInt32(StopScanTextBox.Text, 16);

            dmpw.ProgressType = ProgressWindowType.Dumping;

            dmpw.Text = "Dumping, Please Wait";

            dmpw.OutDumpFileName = OutFileName + i.ToString();

            dmpw.ShowDialog();

            // Search for the data in the file
            dmpw.SearchingBuffer = File.ReadAllBytes(OutFileName + i.ToString());
            dmpw.ToSearch        = ConvertValueFromDataBox();

            dmpw.ProgressType = ProgressWindowType.Scanning;

            dmpw.Text = "Searching, Please Wait";

            dmpw.ShowDialog();

            LastScan = dmpw.DataFound;

            if (LastScan.Count > 1000)
            {
                MessageBox.Show("Too many values, do another scan to narrow it down", "Warning");
                return;
            }

            // Put all the found values in the panel provided there is less than 1000
            foreach (uint FoundValues in dmpw.DataFound)
            {
                MemoryAddress m = new MemoryAddress();
                m.Address = Convert.ToUInt32(StartScanCBox.Text, 16) + FoundValues;

                FoundDataPanel.Controls.Add(m);
            }

            // Dispose it or we freeze next time we make a dump
            dmpw.Dispose();
        }