14 |
using RomCheater.PluginFramework.Interfaces; |
using RomCheater.PluginFramework.Interfaces; |
15 |
using System.Diagnostics; |
using System.Diagnostics; |
16 |
using Sojaner.MemoryScanner; |
using Sojaner.MemoryScanner; |
17 |
|
using RomCheater.PluginFramework.Events; |
18 |
|
|
19 |
namespace RomCheater.Docking |
namespace RomCheater.Docking |
20 |
{ |
{ |
21 |
public partial class FloatingPEViewer : DockContent, |
public partial class FloatingPEViewer : DockContent, |
22 |
IAcceptsPlugin<IConfigPlugin>, |
IAcceptsPlugin<IConfigPlugin>, |
23 |
IAcceptsProcess<Process>, |
IAcceptsProcess<Process>, |
24 |
IAcceptsProcessAndConfig |
IAcceptsProcessAndConfig, |
25 |
|
IAcceptsPEData |
26 |
{ |
{ |
27 |
public FloatingPEViewer() { InitializeComponent(); this.AcceptedPlugin = null; this.AcceptedProcess = null; } |
public FloatingPEViewer() { InitializeComponent(); this.AcceptedPlugin = null; this.AcceptedProcess = null; OnPEDataUpdated = null; } |
28 |
public FloatingPEViewer(IConfigPlugin config) : this() { this.AcceptedPlugin = config; } |
public FloatingPEViewer(IConfigPlugin config) : this() { this.AcceptedPlugin = config; } |
29 |
public FloatingPEViewer(IConfigPlugin config, Process process) : this() { this.AcceptedPlugin = config; this.AcceptedProcess = process; } |
public FloatingPEViewer(IConfigPlugin config, Process process) : this() { this.AcceptedPlugin = config; this.AcceptedProcess = process; } |
30 |
#region IAcceptsProcess<Process> Members |
#region IAcceptsProcess<Process> Members |
35 |
private IConfigPlugin _AcceptedPlugin; |
private IConfigPlugin _AcceptedPlugin; |
36 |
public IConfigPlugin AcceptedPlugin { get { return _AcceptedPlugin; } set { _AcceptedPlugin = value; UpdateAcceptedPlugin(value); } } |
public IConfigPlugin AcceptedPlugin { get { return _AcceptedPlugin; } set { _AcceptedPlugin = value; UpdateAcceptedPlugin(value); } } |
37 |
#endregion |
#endregion |
38 |
|
#region IAcceptsPEData Members |
39 |
|
public event BaseEventHandler<PEViewerDataUpdatedEvent> OnPEDataUpdated; |
40 |
|
#endregion |
41 |
int MemoryRangeStart { get; set; } |
int MemoryRangeStart { get; set; } |
42 |
uint MemoryRangeSize { get; set; } |
uint MemoryRangeSize { get; set; } |
43 |
|
|
63 |
string filename = process.MainModule.FileName; |
string filename = process.MainModule.FileName; |
64 |
//string filename = @"c:\Windows\notepad.exe"; |
//string filename = @"c:\Windows\notepad.exe"; |
65 |
PEReader peReader = new PEReader(filename); |
PEReader peReader = new PEReader(filename); |
66 |
peprops.SelectedObject = peReader.GetData; |
PEReader.PEData peData = peReader.GetPEData; |
67 |
|
peprops.SelectedObject = peData; |
68 |
peprops.PropertySort = PropertySort.NoSort; |
peprops.PropertySort = PropertySort.NoSort; |
69 |
|
if (OnPEDataUpdated != null) |
70 |
|
OnPEDataUpdated(new PEViewerDataUpdatedEvent(this, peData)); |
71 |
} |
} |
72 |
else |
else |
73 |
{ |
{ |