Ejemplo n.º 1
0
        public static int SetRegisters(registers regs)
        {
            if (IPAddress.Equals("") || ProcessName.Equals(""))
            {
                return(0);
            }

            byte[] data = OrbisDbg.getBytes(regs);
            return(ProcessSetRegisters(IPAddress, ProcessName, data));
        }
Ejemplo n.º 2
0
        private static string regNameToBits(registers reg)
        {
            string bits  = Convert.ToString((int)reg, 2);
            int    iters = bits.Length;

            for (int i = iters; i < 5; i++)
            {
                bits = "0" + bits;
            }
            return(bits);
        }
Ejemplo n.º 3
0
        private static byte[] getBytes(registers str)
        {
            int num = Marshal.SizeOf(str);

            byte[] array  = new byte[num];
            IntPtr intPtr = Marshal.AllocHGlobal(num);

            Marshal.StructureToPtr(str, intPtr, true);
            Marshal.Copy(intPtr, array, 0, num);
            Marshal.FreeHGlobal(intPtr);
            return(array);
        }
Ejemplo n.º 4
0
        public static registers GetRegisters()
        {
            if (IPAddress.Equals("") || ProcessName.Equals(""))
            {
                return(default(registers));
            }

            registers regs = default(registers);

            byte[] data = new byte[Marshal.SizeOf <registers>(regs)];
            int    ret  = ProcessGetRegisters(IPAddress, ProcessName, data);

            if (ret != 0)
            {
                regs = GetStructure <registers>(data);
            }

            return(regs);
        }