/[RomCheater]/trunk/Win32/Sojaner.MemoryScanner/MemoryScanner.cs
ViewVC logotype

Diff of /trunk/Win32/Sojaner.MemoryScanner/MemoryScanner.cs

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

revision 811 by william, Mon Apr 7 12:55:47 2014 UTC revision 812 by william, Tue Apr 15 14:52:10 2014 UTC
# Line 26  using System.ComponentModel; Line 26  using System.ComponentModel;
26  using ManagedWinapi;  using ManagedWinapi;
27  using RomCheater.PluginFramework.Events;  using RomCheater.PluginFramework.Events;
28  using RomCheater.Core;  using RomCheater.Core;
29    using Enterprise.Logging;
30    
31  namespace Sojaner.MemoryScanner  namespace Sojaner.MemoryScanner
32  {  {
# Line 290  namespace Sojaner.MemoryScanner Line 291  namespace Sojaner.MemoryScanner
291              }              }
292              catch (SEHException ex)              catch (SEHException ex)
293              {              {
294                  logger.Error.WriteLine("ReadFirstNonZeroByte() SEHException was thrown: (0x{0:x8}) - {1}", ex.ErrorCode, ex.Message);                  gLog.Error.WriteLine("ReadFirstNonZeroByte() SEHException was thrown: (0x{0:x8}) - {1}", ex.ErrorCode, ex.Message);
295                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
296                  throw ex;                  throw ex;
297              }              }
298              catch (OutOfMemoryException ex)              catch (OutOfMemoryException ex)
299              {              {
300                  logger.Error.WriteLine("ReadFirstNonZeroByte(): OutOfMemoryException");                  gLog.Error.WriteLine("ReadFirstNonZeroByte(): OutOfMemoryException");
301                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
302              }              }
303              catch (Exception ex)              catch (Exception ex)
304              {              {
305                  logger.Error.WriteLine("ReadFirstNonZeroByte(): Exception");                  gLog.Error.WriteLine("ReadFirstNonZeroByte(): Exception");
306                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
307                  throw ex;                  throw ex;
308              }              }
309              return false;              return false;
# Line 382  namespace Sojaner.MemoryScanner Line 383  namespace Sojaner.MemoryScanner
383              data.Initialize();              data.Initialize();
384              Buffer.BlockCopy(buffer_list.ToArray(), 0, data, 0, (int)bytesToRead);              Buffer.BlockCopy(buffer_list.ToArray(), 0, data, 0, (int)bytesToRead);
385              st.Stop();              st.Stop();
386              logger.Profiler.WriteLine("ReadProcessMemoryAtOnce(): start=0x{0:x8} end=0x{1:x8} took {2:0.0000} seconds", MemoryAddress, MemoryAddress + bytesToRead, st.Elapsed.TotalSeconds);              gLog.Profiler.WriteLine("ReadProcessMemoryAtOnce(): start=0x{0:x8} end=0x{1:x8} took {2:0.0000} seconds", MemoryAddress, MemoryAddress + bytesToRead, st.Elapsed.TotalSeconds);
387          }          }
388          #region public void ReadProcessMemory(int MemoryAddress, uint bytesToRead, out int bytesRead, out byte[] data)          #region public void ReadProcessMemory(int MemoryAddress, uint bytesToRead, out int bytesRead, out byte[] data)
389          public void ReadProcessMemory(long MemoryAddress, long bytesToRead, out ulong bytesRead, out byte[] data)          public void ReadProcessMemory(long MemoryAddress, long bytesToRead, out ulong bytesRead, out byte[] data)
# Line 397  namespace Sojaner.MemoryScanner Line 398  namespace Sojaner.MemoryScanner
398              }              }
399              catch (SEHException ex)              catch (SEHException ex)
400              {              {
401                  logger.Error.WriteLine("ReadProcessMemory() SEHException was thrown: (0x{0:x8}) - {1}", ex.ErrorCode, ex.Message);                  gLog.Error.WriteLine("ReadProcessMemory() SEHException was thrown: (0x{0:x8}) - {1}", ex.ErrorCode, ex.Message);
402                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
403                  throw ex;                  throw ex;
404              }              }
405              catch (Exception ex)              catch (Exception ex)
406              {              {
407                  logger.Error.WriteLine("ReadProcessMemory(): Exception");                  gLog.Error.WriteLine("ReadProcessMemory(): Exception");
408                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
409                  throw ex;                  throw ex;
410              }              }
411          }          }
# Line 434  namespace Sojaner.MemoryScanner Line 435  namespace Sojaner.MemoryScanner
435              }              }
436              catch (SEHException ex)              catch (SEHException ex)
437              {              {
438                  logger.Error.WriteLine("WriteProcessMemory() SEHException was thrown: (0x{0:x8}) - {1}", ex.ErrorCode, ex.Message);                  gLog.Error.WriteLine("WriteProcessMemory() SEHException was thrown: (0x{0:x8}) - {1}", ex.ErrorCode, ex.Message);
439                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
440                  throw ex;                  throw ex;
441              }              }
442              catch (Exception ex)              catch (Exception ex)
443              {              {
444    
445                  logger.Error.WriteLine("WriteProcessMemory() Exception");                  gLog.Error.WriteLine("WriteProcessMemory() Exception");
446                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
447                  bytesWritten = 0;                  bytesWritten = 0;
448                  throw ex;                  throw ex;
449              }              }
# Line 496  namespace Sojaner.MemoryScanner Line 497  namespace Sojaner.MemoryScanner
497                      }                      }
498                      bytesRead = _bytesRead;                      bytesRead = _bytesRead;
499                  }                  }
500                  logger.Info.WriteLine("Succefully dumped memory (0x{0:x8}-0x{1:x8}) from pid=({3}) to file {2}", MemoryAddress, MemoryAddress + bytesToRead, filename, string.Format("0x{0:x4} {1}.exe", ReadProcess.Id, ReadProcess.ProcessName));                  gLog.Info.WriteLine("Succefully dumped memory (0x{0:x8}-0x{1:x8}) from pid=({3}) to file {2}", MemoryAddress, MemoryAddress + bytesToRead, filename, string.Format("0x{0:x4} {1}.exe", ReadProcess.Id, ReadProcess.ProcessName));
501                  return true;                  return true;
502              }              }
503              catch (SEHException ex)              catch (SEHException ex)
504              {              {
505                  logger.Error.WriteLine("WriteProcessMemoryToFile() SEHException was thrown: (0x{0:x8}) - {1}", ex.ErrorCode, ex.Message);                  gLog.Error.WriteLine("WriteProcessMemoryToFile() SEHException was thrown: (0x{0:x8}) - {1}", ex.ErrorCode, ex.Message);
506                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
507                  throw ex;                  throw ex;
508              }              }
509              catch (OutOfMemoryException ex)              catch (OutOfMemoryException ex)
510              {              {
511                  logger.Error.WriteLine("WriteProcessMemoryToFile(): Exception");                  gLog.Error.WriteLine("WriteProcessMemoryToFile(): Exception");
512                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
513              }              }
514              catch (Exception ex)              catch (Exception ex)
515              {              {
516                  logger.Error.WriteLine("WriteProcessMemoryToFile(): Exception");                  gLog.Error.WriteLine("WriteProcessMemoryToFile(): Exception");
517                  logger.Error.WriteLine(ex.ToString());                  gLog.Verbose.Error.WriteLine(ex.ToString());
518                  throw ex;                  throw ex;
519              }              }
520              return false;              return false;

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

  ViewVC Help
Powered by ViewVC 1.1.22