示例#1
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="DebugEngineProxy" /> class.
 /// </summary>
 /// <param name="control">The control.</param>
 /// <param name="client">The client.</param>
 /// <param name="registers">The registers.</param>
 /// <param name="systemObjects">The system objects.</param>
 /// <param name="debugDataSpaces">The debug data spaces.</param>
 public DebugEngineProxy(IDebugControl6 control, IDebugClient5 client, IDebugRegisters2 registers,
                         IDebugSystemObjects systemObjects, IDebugDataSpaces debugDataSpaces)
 {
     Control        = control;
     Client         = client;
     Registers      = registers;
     Dataspaces     = debugDataSpaces;
     ExecuteWrapper = new ExecuteWrapper(Client);
     RegisterEngine = new RegisterEngine(); // todo: inject
     MemoryEngine   = new MemoryEngine();
     SystemObjects  = systemObjects;
     Is32Bit        =
         Regex.Match(ExecuteWrapper.Execute("!peb"), @"PEB at (?<peb>[a-fA-F0-9]+)").Groups["peb"].Value
         .Length == 8;
 }
示例#2
0
 /// <summary>
 ///     Executes the specified command
 ///     e.g. k, bl, u
 /// </summary>
 /// <param name="command">The command.</param>
 /// <returns>System.String.</returns>
 public string Execute(string command)
 {
     return ExecuteWrapper.Execute(command);
 }
示例#3
0
 /// <summary>
 ///     Disposes this instance.
 /// </summary>
 public void Dispose()
 {
     ExecuteWrapper?.Dispose();
 }