/[RomCheater]/trunk/RomCheater/Docking/UI/UIMemoryViewer.cs
ViewVC logotype

Diff of /trunk/RomCheater/Docking/UI/UIMemoryViewer.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 811 by william, Mon Jun 17 09:31:52 2013 UTC revision 812 by william, Tue Apr 15 14:52:10 2014 UTC
# Line 30  using System.Runtime.InteropServices; Line 30  using System.Runtime.InteropServices;
30  using RomCheater.PluginFramework.Events;  using RomCheater.PluginFramework.Events;
31  using Sojaner.MemoryScanner;  using Sojaner.MemoryScanner;
32  using RomCheater.Core;  using RomCheater.Core;
33    using Enterprise.Logging;
34    
35  namespace RomCheater.Docking.UI  namespace RomCheater.Docking.UI
36  {  {
# Line 92  namespace RomCheater.Docking.UI Line 93  namespace RomCheater.Docking.UI
93              }              }
94              catch (Exception ex)              catch (Exception ex)
95              {              {
96                  logger.Error.WriteLine("UIMemoryViewer.BrowseMemoryRegion(int MemoryRegion): Failed to Browse Memory Region: 0x{0:x8}", MemoryRegion);                  gLog.Error.WriteLine("UIMemoryViewer.BrowseMemoryRegion(int MemoryRegion): Failed to Browse Memory Region: 0x{0:x8}", MemoryRegion);
97                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
98                  return false;                  return false;
99              }              }
100          }          }
# Line 153  namespace RomCheater.Docking.UI Line 154  namespace RomCheater.Docking.UI
154          {          {
155              if (this.peData.Is32bitAssembly())              if (this.peData.Is32bitAssembly())
156              {              {
157                  logger.VerboseDebug.WriteLine("UIMemoryViewer::GotoAddress(0x{0:x8})", addr);                  gLog.Verbose.Debug.WriteLine("UIMemoryViewer::GotoAddress(0x{0:x8})", addr);
158                  this.CURRENT_TOP_ADDR = (ulong)(addr & 0xFFFFFFFF0);                  this.CURRENT_TOP_ADDR = (ulong)(addr & 0xFFFFFFFF0);
159              }              }
160              else              else
161              {              {
162                  logger.VerboseDebug.WriteLine("UIMemoryViewer::GotoAddress(0x{0:x16})", addr);                  gLog.Verbose.Debug.WriteLine("UIMemoryViewer::GotoAddress(0x{0:x16})", addr);
163                  this.CURRENT_TOP_ADDR = (ulong)(addr & (ulong)0xFFFFFFFFFFFFFFF0);                  this.CURRENT_TOP_ADDR = (ulong)(addr & (ulong)0xFFFFFFFFFFFFFFF0);
164              }              }
165                            
# Line 220  namespace RomCheater.Docking.UI Line 221  namespace RomCheater.Docking.UI
221              {              {
222                  if (this.peData.Is32bitAssembly())                  if (this.peData.Is32bitAssembly())
223                  {                  {
224                      logger.VerboseDebug.WriteLine("UIMemoryViewer::btnGotoAddress_Click(0x{0:x8})", txthexGoto.ToUInt32());                      gLog.Verbose.Debug.WriteLine("UIMemoryViewer::btnGotoAddress_Click(0x{0:x8})", txthexGoto.ToUInt32());
225                      this.GotoAddress(txthexGoto.ToUInt32());                      this.GotoAddress(txthexGoto.ToUInt32());
226                  }                  }
227                  else                  else
228                  {                  {
229                      logger.VerboseDebug.WriteLine("UIMemoryViewer::btnGotoAddress_Click(0x{0:x16})", txthexGoto.ToUInt64());                      gLog.Verbose.Debug.WriteLine("UIMemoryViewer::btnGotoAddress_Click(0x{0:x16})", txthexGoto.ToUInt64());
230                      this.GotoAddress(txthexGoto.ToUInt64());                      this.GotoAddress(txthexGoto.ToUInt64());
231                  }                  }
232              }              }
233              else              else
234              {              {
235                  logger.VerboseDebug.WriteLine("UIMemoryViewer::btnGotoAddress_Click(0x{0})", txthexGoto.ToUInt64().ToString("X"));                  gLog.Verbose.Debug.WriteLine("UIMemoryViewer::btnGotoAddress_Click(0x{0})", txthexGoto.ToUInt64().ToString("X"));
236                  this.GotoAddress(txthexGoto.ToUInt64());                  this.GotoAddress(txthexGoto.ToUInt64());
237              }              }
238                            
# Line 240  namespace RomCheater.Docking.UI Line 241  namespace RomCheater.Docking.UI
241          private void btnEditBytes_Click(object sender, EventArgs e)          private void btnEditBytes_Click(object sender, EventArgs e)
242          {          {
243              byte[] data = (txtData.ByteProvider as DynamicByteProvider).Bytes.ToArray();              byte[] data = (txtData.ByteProvider as DynamicByteProvider).Bytes.ToArray();
244              logger.Info.WriteLine("UIMemoryViewer :: editing {0} bytes", data.Length);              gLog.Info.WriteLine("UIMemoryViewer :: editing {0} bytes", data.Length);
245              bool reenable = false;              bool reenable = false;
246              if (this.UpdateEnabled) reenable = true;              if (this.UpdateEnabled) reenable = true;
247              this.UpdateEnabled = false;              this.UpdateEnabled = false;
# Line 264  namespace RomCheater.Docking.UI Line 265  namespace RomCheater.Docking.UI
265                  //_DynamicByteProvider.Changed += new EventHandler(HexResourceViewerBytes_Changed);                  //_DynamicByteProvider.Changed += new EventHandler(HexResourceViewerBytes_Changed);
266                  this.WriteCurrentBytes(this.CURRENT_TOP_ADDR, editor.AsBytes);                  this.WriteCurrentBytes(this.CURRENT_TOP_ADDR, editor.AsBytes);
267              }              }
268              logger.Info.WriteLine("UIMemoryViewer :: changed {0} bytes", changed_byte_count);              gLog.Info.WriteLine("UIMemoryViewer :: changed {0} bytes", changed_byte_count);
269              this.UpdateEnabled = reenable;              this.UpdateEnabled = reenable;
270          }          }
271          private bool ForceUpdate = false;          private bool ForceUpdate = false;
# Line 321  namespace RomCheater.Docking.UI Line 322  namespace RomCheater.Docking.UI
322              }              }
323              catch (Exception ex)              catch (Exception ex)
324              {              {
325                  logger.Error.WriteLine("{0}.GetMemory():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString());                  gLog.Error.WriteLine("{0}.GetMemory():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString());
326              }              }
327              finally              finally
328              {              {
# Line 393  namespace RomCheater.Docking.UI Line 394  namespace RomCheater.Docking.UI
394                          }                          }
395                          catch (Exception ex)                          catch (Exception ex)
396                          {                          {
397                              logger.Error.WriteLine("{0}.UpdateMemroyView().BuildingAsciiString:{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString());                              gLog.Error.WriteLine("{0}.UpdateMemroyView().BuildingAsciiString:{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString());
398                              return;                              return;
399                          }                          }
400                          count++;                          count++;
# Line 402  namespace RomCheater.Docking.UI Line 403  namespace RomCheater.Docking.UI
403                  }                  }
404                  catch (Exception ex)                  catch (Exception ex)
405                  {                  {
406                      logger.Error.WriteLine("{0}.UpdateMemroyView():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString());                      gLog.Error.WriteLine("{0}.UpdateMemroyView():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString());
407                      return;                      return;
408                  }                  }
409                  #endregion                  #endregion
410              }              }
411              catch (Exception ex) { logger.Error.WriteLine("{0}.UpdateMemroyView():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); }              catch (Exception ex) { gLog.Error.WriteLine("{0}.UpdateMemroyView():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); }
412          }          }
413          //private void HexResourceViewerBytes_Changed(object sender, System.EventArgs e)          //private void HexResourceViewerBytes_Changed(object sender, System.EventArgs e)
414          //{          //{
# Line 436  namespace RomCheater.Docking.UI Line 437  namespace RomCheater.Docking.UI
437                      provider.CloseProvider();                      provider.CloseProvider();
438                  }                  }
439              }              }
440              catch (Exception ex) { logger.Error.WriteLine("{0}.WriteCurrentBytes():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); }              catch (Exception ex) { gLog.Error.WriteLine("{0}.WriteCurrentBytes():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); }
441          }          }
442    
443          private void update_timer_Tick(object sender, EventArgs e) { this.UpdateGui(); }          private void update_timer_Tick(object sender, EventArgs e) { this.UpdateGui(); }
444          private void ResultsUpdateWorkerThread_DoWork(object sender, DoWorkEventArgs e) { try { this.UpdateMemroyView(); } catch (Exception ex) { logger.Error.WriteLine("{0}.ResultsUpdateWorkerThread_DoWork():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); } }          private void ResultsUpdateWorkerThread_DoWork(object sender, DoWorkEventArgs e) { try { this.UpdateMemroyView(); } catch (Exception ex) { gLog.Error.WriteLine("{0}.ResultsUpdateWorkerThread_DoWork():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); } }
445          private void ResultsUpdateWorkerThread_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)          private void ResultsUpdateWorkerThread_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
446          {          {
447              try              try
# Line 452  namespace RomCheater.Docking.UI Line 453  namespace RomCheater.Docking.UI
453                  //_DynamicByteProvider.Changed += new EventHandler(HexResourceViewerBytes_Changed);                  //_DynamicByteProvider.Changed += new EventHandler(HexResourceViewerBytes_Changed);
454              }              }
455              catch (ObjectDisposedException) { } // ignore errors aobut disposed objects (usually only happens when the parent closes)              catch (ObjectDisposedException) { } // ignore errors aobut disposed objects (usually only happens when the parent closes)
456              catch (Exception ex) { logger.Error.WriteLine("{0}.ResultsUpdateWorkerThread_RunWorkerCompleted():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); }              catch (Exception ex) { gLog.Error.WriteLine("{0}.ResultsUpdateWorkerThread_RunWorkerCompleted():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); }
457          }          }
458          private void Handle_KeyDown(object sender, KeyEventArgs e)          private void Handle_KeyDown(object sender, KeyEventArgs e)
459          {          {
# Line 643  namespace RomCheater.Docking.UI Line 644  namespace RomCheater.Docking.UI
644              {              {
645                  ImageBase = this.peData._VirtualImageBase;                  ImageBase = this.peData._VirtualImageBase;
646                  uint ib = Convert.ToUInt32(ImageBase);                  uint ib = Convert.ToUInt32(ImageBase);
647                  logger.VerboseDebug.WriteLine("UIMemoryViewer::GotoImageBase(0x{0:x8})", ib);                  gLog.Verbose.Debug.WriteLine("UIMemoryViewer::GotoImageBase(0x{0:x8})", ib);
648                  txthexGoto.Value = ib;                  txthexGoto.Value = ib;
649                  this.GotoAddress(txthexGoto.ToUInt32());                  this.GotoAddress(txthexGoto.ToUInt32());
650              }              }
# Line 651  namespace RomCheater.Docking.UI Line 652  namespace RomCheater.Docking.UI
652              {              {
653                  ImageBase = this.peData._VirtualImageBase;                  ImageBase = this.peData._VirtualImageBase;
654                  ulong ib = Convert.ToUInt64(ImageBase);                  ulong ib = Convert.ToUInt64(ImageBase);
655                  logger.VerboseDebug.WriteLine("UIMemoryViewer::GotoImageBase(0x{0:x16})", ib);                  gLog.Verbose.Debug.WriteLine("UIMemoryViewer::GotoImageBase(0x{0:x16})", ib);
656                  txthexGoto.Value = (ulong)ib;                  txthexGoto.Value = (ulong)ib;
657                  this.GotoAddress(txthexGoto.ToUInt64());                  this.GotoAddress(txthexGoto.ToUInt64());
658              }              }

Legend:
Removed from v.811  
changed lines
  Added in v.812

  ViewVC Help
Powered by ViewVC 1.1.22