示例#1
0
 /*
  * Appends res to a NetCheat text dump
  */
 public static void AppendDump(Form1.CodeRes res, String filen)
 {
     using (System.IO.StreamWriter file = new System.IO.StreamWriter(filen, true))
     {
         file.WriteLine(res.addr + " " + misc.ByteAToStringInt(res.val, " ") + " " + res.align);
     }
 }
示例#2
0
        /*
         * Reads a single line in a NetCheat text dump int a CodeRes struct
         * Used only by the search results copy feature
         */
        public static Form1.CodeRes ReadDump(String filen, int index, int align)
        {
            Form1.CodeRes ret = new Form1.CodeRes();
            string        a   = "";
            int           i   = 0;

            using (var sr = new StreamReader(filen))
            {
                for (i = 0; i < index; i++)
                {
                    sr.ReadLine();
                }
                a = sr.ReadLine();
            }

            string[] s = a.Split(' ');
            ret.addr = ulong.Parse(s[0]);
            string val = "";

            ret.align = int.Parse(s[s.Length - 1]);
            if (ret.align < 0)
            {
                int lenStr = int.Parse(s[s.Length - 2]);
                for (i = 0; i < lenStr; i++)
                {
                    val = val + s[i + 1];
                }
                ret.val = misc.StringToByteArray(val);
            }
            else
            {
                for (i = 0; i < align; i++)
                {
                    val = int.Parse(s[i + 1]).ToString("X2") + val;
                }
                if (val != "")
                {
                    ret.val = misc.ValueToByteArray(val, align);
                }
            }


            ret.state = false; //bool.Parse(s[i]);

            return(ret);
        }
示例#3
0
        /*
         * Reads a NetCheat text dump into a CodeRes struct array
         */
        public static Form1.CodeRes[] ReadDumpArray(String filen, long start, long stop, int align)
        {
            if (stop <= start)
            {
                return(null);
            }

            Form1.CodeRes[] ret = new Form1.CodeRes[stop - start + 1];
            String[]        a   = new String[stop - start + 1];
            int             i   = 0;

            if (File.Exists(filen) == false)
            {
                return(null);
            }

            using (var sr = new StreamReader(filen))
            {
                for (i = 0; i <= stop; i++)
                {
                    if (i >= start)
                    {
                        a[i - start] = sr.ReadLine();
                    }
                    else
                    {
                        sr.ReadLine();
                    }
                }
            }

            Application.DoEvents();

            for (int x = 0; x <= (stop - start); x++)
            {
                if (a[x] == null)
                {
                    break;
                }
                string[] s = a[x].Split(' ');
                ret[x].addr = ulong.Parse(s[0]);
                string val = "";
                ret[x].align = int.Parse(s[s.Length - 1]);
                if (align == 0)
                {
                    align = ret[x].align;
                }
                if (ret[x].align < 0)
                {
                    int lenStr = int.Parse(s[s.Length - 2]);
                    ret[x].val = new byte[lenStr];
                    for (i = 0; i < lenStr; i++)
                    {
                        //val = int.Parse(s[i + 1]).ToString("X2") + val;
                        //val = val + (char)int.Parse(s[i + 1]);
                        ret[x].val[i] = (byte)int.Parse(s[i + 1]);
                    }
                    //ret[x].val = misc.GetBytesFromString(val);
                }
                else
                {
                    for (i = 0; i < align; i++)
                    {
                        val = int.Parse(s[i + 1]).ToString("X2") + val;
                    }
                    if (val != "")
                    {
                        ret[x].val = misc.ValueToByteArray(val, align);
                    }
                }

                ret[x].state = false; //bool.Parse(s[i]);
                ret[x].align = align;
                Application.DoEvents();
            }

            return(ret);
        }