Exemple #1
0
 /// <summary>
 /// Sets the requested register value for the current context.
 /// </summary>
 /// <param name="reg">The register.</param>
 /// <param name="value">The new register value.</param>
 /// <returns>Reference to the NIDebugger object</returns>
 public static void SetRegister(this Win32.CONTEXT ctx, NIRegister reg, uint value)
 {
     switch (reg)
     {
         case NIRegister.EAX:
             ctx.Eax = value;
             break;
         case NIRegister.ECX:
             ctx.Ecx = value;
             break;
         case NIRegister.EDX:
             ctx.Edx = value;
             break;
         case NIRegister.EBX:
             ctx.Ebx = value;
             break;
         case NIRegister.ESP:
             ctx.Esp = value;
             break;
         case NIRegister.EBP:
             ctx.Ebp = value;
             break;
         case NIRegister.ESI:
             ctx.Esi = value;
             break;
         case NIRegister.EDI:
             ctx.Edi = value;
             break;
         case NIRegister.EIP:
             ctx.Eip = value;
             break;
         default:
             break;
     }
 }
Exemple #2
0
 /// <summary>
 /// Gets the requested register value from the current context.
 /// </summary>
 /// <param name="reg">The register.</param>
 /// <param name="value">Output variable that will contain the requested value.</param>
 /// <returns>Reference to the NIDebugger object</returns>
 public static uint GetRegister(this Win32.CONTEXT ctx, NIRegister reg)
 {
     switch (reg)
     {
         case NIRegister.EAX:
             return ctx.Eax;
         case NIRegister.ECX:
             return ctx.Ecx;
         case NIRegister.EDX:
             return ctx.Edx;
         case NIRegister.EBX:
             return ctx.Ebx;
         case NIRegister.ESP:
             return ctx.Esp;
         case NIRegister.EBP:
             return ctx.Ebp;
         case NIRegister.ESI:
             return ctx.Esi;
         case NIRegister.EDI:
             return ctx.Edi;
         case NIRegister.EIP:
             return ctx.Eip;
         default:
             return 0;
     }
 }
Exemple #3
0
 /// <summary>
 /// Sets the requested register value for the current context.
 /// </summary>
 /// <param name="reg">The register.</param>
 /// <param name="value">The new register value.</param>
 /// <returns>Reference to the NIDebugger object</returns>
 public NIDebugger SetRegister(NIRegister reg, uint value)
 {
     switch (reg)
     {
         case NIRegister.EAX:
             Context.Eax = value;
             break;
         case NIRegister.ECX:
             Context.Ecx = value;
             break;
         case NIRegister.EDX:
             Context.Edx = value;
             break;
         case NIRegister.EBX:
             Context.Ebx = value;
             break;
         case NIRegister.ESP:
             Context.Esp = value;
             break;
         case NIRegister.EBP:
             Context.Ebp = value;
             break;
         case NIRegister.ESI:
             Context.Esi = value;
             break;
         case NIRegister.EDI:
             Context.Edi = value;
             break;
         case NIRegister.EIP:
             Context.Eip = value;
             break;
         default:
             value = 0;
             break;
     }
     return this;
 }
Exemple #4
0
 /// <summary>
 /// Gets the requested register value from the current context.
 /// </summary>
 /// <param name="reg">The register.</param>
 /// <param name="value">Output variable that will contain the requested value.</param>
 /// <returns>Reference to the NIDebugger object</returns>
 public NIDebugger GetRegister(NIRegister reg, out uint value)
 {
     switch(reg)
     {
         case NIRegister.EAX:
             value = Context.Eax;
             break;
         case NIRegister.ECX:
             value = Context.Ecx;
             break;
         case NIRegister.EDX:
             value = Context.Edx;
             break;
         case NIRegister.EBX:
             value = Context.Ebx;
             break;
         case NIRegister.ESP:
             value = Context.Esp;
             break;
         case NIRegister.EBP:
             value = Context.Ebp;
             break;
         case NIRegister.ESI:
             value = Context.Esi;
             break;
         case NIRegister.EDI:
             value = Context.Edi;
             break;
         case NIRegister.EIP:
             value = Context.Eip;
             break;
         default:
             value = 0;
             break;
     }
     return this;
 }