public static int SetRegisters(registers regs) { if (IPAddress.Equals("") || ProcessName.Equals("")) { return(0); } byte[] data = OrbisDbg.getBytes(regs); return(ProcessSetRegisters(IPAddress, ProcessName, data)); }
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); }
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); }
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); }