Ejemplo n.º 1
0
        private void buttonOverwiteMacMsg_Click(object sender, EventArgs e)
        {
            try
            {
                PTExeDiscovery.WcharSize     = 4;
                PTExeDiscovery.CharByteOrder = PTCustomizeUtil.CharacterByteOrder.LittleEndian;

                long ppcOffset = PTExeDiscovery.FindMsgOffset(textBoxFindOffsetFile.Text);

                PTExeDiscovery.CharByteOrder = PTCustomizeUtil.CharacterByteOrder.BigEndian;

                long x86Offset = PTExeDiscovery.FindMsgOffset(textBoxFindOffsetFile.Text);

                long x64Offset = PTExeDiscovery.FindMsgOffset(textBoxFindOffsetFile.Text, x86Offset + 10);

                // Ensure the offset box contains a valid value
                if (ppcOffset == 0 || x86Offset == 0 || x64Offset == 0)
                {
                    MessageBox.Show("Couldn't find one of the three offsets.");
                    return;
                }

                // Overwrite the message
                m_PTUtil.OverwriteMacMsg(textBoxFindOffsetFile.Text, ppcOffset, x86Offset, x64Offset, textBoxOverwriteMsg.Text);
            }
            finally
            {
                m_PTUtil.CharByteOrder = PTCustomizeUtil.CharacterByteOrder.BigEndian;
                m_PTUtil.WcharSize     = 2;
            }
        }
Ejemplo n.º 2
0
 private void buttonGenerateMacExeInfo_Click(object sender, EventArgs e)
 {
     if (saveFileDialogInfo.ShowDialog() == System.Windows.Forms.DialogResult.OK)
     {
         PTExeDiscovery.GenerateMacExeInfoFile(textBoxFindOffsetFile.Text, saveFileDialogInfo.FileName);
     }
 }
Ejemplo n.º 3
0
        private void buttonFindMacPicOffsets_Click(object sender, EventArgs e)
        {
            string offset = String.Empty;

            PTCustomizeUtil.MacOffset macPicDataOffset = PTExeDiscovery.FindMacCustomPicDataOffsets(textBoxFindOffsetFile.Text);
            textBoxCustomPicOffset.Text = macPicDataOffset.ToString();

            PTCustomizeUtil.MacOffset macPicMsgOffset = PTExeDiscovery.FindMacCustomPicMsgOffset(textBoxFindOffsetFile.Text);
            textBoxCustomPicMsgOffset.Text = macPicMsgOffset.ToString();
        }
Ejemplo n.º 4
0
        private void buttonFindMacx86MsgOffset_Click(object sender, EventArgs e)
        {
            try
            {
                PTExeDiscovery.WcharSize = 4;

                textBoxMsgOffset.Text = PTExeDiscovery.FindMsgOffset(textBoxFindOffsetFile.Text).ToString();
            }
            finally
            {
                // Put it back to PC values
                PTExeDiscovery.WcharSize = 2;
            }
        }
Ejemplo n.º 5
0
        private void buttonFindOffset_Click(object sender, EventArgs e)
        {
            try
            {
                PTCustomizeUtil.FullKeyOffset keyOffset = PTExeDiscovery.FindKeyOffset(textBoxFindOffsetFile.Text);
                textBoxKeyOffset.Text = keyOffset.KeyOffset.ToString();

                textBoxInt64Pad.Text = keyOffset.Inter64bitPadding.ToString() + "," + keyOffset.Intra64bitPadding;
            }
            catch (Exception exc)
            {
                MessageBox.Show("Failed: " + exc.Message);
            }
        }
Ejemplo n.º 6
0
        private void buttonFindMacPPCMsgOffset_Click(object sender, EventArgs e)
        {
            try
            {
                PTExeDiscovery.CharByteOrder = PTCustomizeUtil.CharacterByteOrder.LittleEndian;
                PTExeDiscovery.WcharSize     = 4;

                textBoxMsgOffset.Text = PTExeDiscovery.FindMsgOffset(textBoxFindOffsetFile.Text).ToString();
            }
            finally
            {
                // Put it back to PC values
                PTExeDiscovery.CharByteOrder = PTCustomizeUtil.CharacterByteOrder.BigEndian;
                PTExeDiscovery.WcharSize     = 2;
            }
        }
Ejemplo n.º 7
0
 private void buttonFindMacx64MsgOffset_Click(object sender, EventArgs e)
 {
     try
     {
         PTExeDiscovery.WcharSize = 4;
         int offset = (int)PTExeDiscovery.FindMsgOffset(textBoxFindOffsetFile.Text);
         if (offset > 0)
         {
             textBoxMsgOffset.Text = PTExeDiscovery.FindMsgOffset(textBoxFindOffsetFile.Text, offset + 10).ToString();
         }
         else
         {
             textBoxMsgOffset.Text = "-1";
         }
     }
     finally
     {
         // Put it back to PC values
         PTExeDiscovery.WcharSize = 2;
     }
 }
Ejemplo n.º 8
0
        private static void HandleCmdLine(string[] args)
        {
            // If the application is being run from the command line
            if (args[0] == "/geninfofile")
            {
                if (args.Length != 3)
                {
                    MessageBox.Show("Pass the EXE path as the first parameter and the output file as the second.");
                    return;
                }

                // Get the EXE path
                string   exePath = args[1];
                string   outFile = args[2];
                FileInfo exeInfo = new FileInfo(exePath);
                if (!exeInfo.Exists)
                {
                    Console.WriteLine("Cannot find EXE file (" + exePath + ")");
                }
                else
                {
                    PTExeDiscovery.GenerateExeInfoFile(exePath, outFile);
                }

                return;
            }
            else if (args[0] == "/genmacinfofile")
            {
                if (args.Length != 3)
                {
                    MessageBox.Show("Pass the EXE path as the first parameter and the output file as the second.");
                    return;
                }

                // Get the EXE path
                string   exePath = args[1];
                string   outFile = args[2];
                FileInfo exeInfo = new FileInfo(exePath);
                if (!exeInfo.Exists)
                {
                    Console.WriteLine("Cannot find EXE file (" + exePath + ")");
                }
                else
                {
                    PTExeDiscovery.GenerateMacExeInfoFile(exePath, outFile);
                }

                return;
            }
            else if (args[0] == "/setkey")
            {
                if (args.Length != 5)
                {
                    MessageBox.Show("USAGE: MsgKeyGen /setkey keyoffset intra64Padding keyvalue exepath");
                    return;
                }

                // Get the values
                long   keyOffsetVal   = long.Parse(args[1]);
                UInt64 keyValue       = UInt64.Parse(args[2]);
                int    intra64Padding = int.Parse(args[3]);
                string exePath        = args[4];

                FileInfo exeInfo = new FileInfo(exePath);
                if (!exeInfo.Exists)
                {
                    Console.WriteLine("Cannot find EXE file (" + exePath + ")");
                }
                else
                {
                    PTWebApp.PTCustomizeUtil util = new PTWebApp.PTCustomizeUtil();

                    PTCustomizeUtil.FullKeyOffset keyOffset = new PTCustomizeUtil.FullKeyOffset();
                    keyOffset.KeyOffset         = keyOffsetVal;
                    keyOffset.Intra64bitPadding = intra64Padding;

                    // Modify the EXE
                    util.OverwriteValueInEXE(exePath, keyValue, keyOffset);
                    Console.WriteLine("EXE key updated");
                }

                return;
            }
            else if (args[0] == "/findandsetkey")
            {
                if (args.Length != 3)
                {
                    MessageBox.Show("USAGE: MsgKeyGen /findandsetkey keyvalue exepath");
                    return;
                }

                // Get the values
                UInt64 keyValue = UInt64.Parse(args[1]);
                string exePath  = args[2];

                FileInfo exeInfo = new FileInfo(exePath);
                if (!exeInfo.Exists)
                {
                    Console.WriteLine("Cannot find EXE file (" + exePath + ")");
                }
                else
                {
                    PTCustomizeUtil util = new PTCustomizeUtil();

                    // Modify the EXE
                    PTCustomizeUtil.FullKeyOffset keyOffset = PTExeDiscovery.FindKeyOffset(exePath);
                    if (keyOffset.KeyOffset != 0)
                    {
                        util.OverwriteValueInEXE(exePath, keyValue, keyOffset);
                        Console.WriteLine("EXE key updated (Key found at:" + keyOffset + ")");
                    }
                    else
                    {
                        Console.WriteLine("Failed to find key offsset");
                    }
                }

                return;
            }
            else if (args[0] == "/setmsg")
            {
                if (args.Length != 4)
                {
                    MessageBox.Show("USAGE: MsgKeyGen /setmsg msgoffset msg exepath");
                    return;
                }

                // Get the values
                long   msgOffset = long.Parse(args[1]);
                string msg       = args[2];
                string exePath   = args[3];

                FileInfo exeInfo = new FileInfo(exePath);
                if (!exeInfo.Exists)
                {
                    Console.WriteLine("Cannot find EXE file (" + exePath + ")");
                }
                else
                {
                    PTCustomizeUtil util = new PTCustomizeUtil();

                    // Modify the EXE
                    util.OverwriteMsg(exePath, msgOffset, msg);
                    Console.WriteLine("EXE message updated");
                }

                return;
            }
            else if (args[0] == "/findandsetmsg")
            {
                if (args.Length != 3)
                {
                    MessageBox.Show("USAGE: MsgKeyGen /findandsetmsg msg exepath");
                    return;
                }

                // Get the values
                string msg     = args[1];
                string exePath = args[2];

                FileInfo exeInfo = new FileInfo(exePath);
                if (!exeInfo.Exists)
                {
                    Console.WriteLine("Cannot find EXE file (" + exePath + ")");
                }
                else
                {
                    long msgOffset = PTExeDiscovery.FindMsgOffset(exePath);

                    // Modify the EXE
                    if (msgOffset != 0)
                    {
                        new PTCustomizeUtil().OverwriteMsg(exePath, msgOffset, msg);
                        Console.WriteLine("EXE message updated (message found at: " + msgOffset + ")");
                    }
                    else
                    {
                        Console.WriteLine("Failed to find message offset");
                    }
                }

                return;
            }
        }
Ejemplo n.º 9
0
        private void buttonFindExpirationDateOffset_Click(object sender, EventArgs e)
        {
            long offset = PTExeDiscovery.FindEvalExpirationDateOffset(textBoxFindOffsetFile.Text);

            textBoxExpirationDateOffset.Text = offset.ToString();
        }
Ejemplo n.º 10
0
 private void buttonFindCustomPicOffset_Click(object sender, EventArgs e)
 {
     textBoxCustomPicOffset.Text    = PTExeDiscovery.FindCustomPicOffset(textBoxFindOffsetFile.Text).ToString();
     textBoxCustomPicMsgOffset.Text = PTExeDiscovery.FindCustomPicMsgOffset(textBoxFindOffsetFile.Text).ToString();
 }