public static IntPtr ScanPatterna(string mModuleName, string mPattern) { IntPtr hProcess = CylMem.hProcess.Handle; ProcessModule SelectedModule = null; foreach (ProcessModule module in CylMem.hProcess.Modules) { if (Path.GetFileName(module.FileName) == mModuleName) { SelectedModule = module; } } if (SelectedModule == null) { throw new Exception("Selected Module is Null !"); } var scanner = new SigScan(hProcess); scanner.SelectModule(SelectedModule.BaseAddress, SelectedModule.ModuleMemorySize); IntPtr Scaned = (IntPtr)scanner.FindPattern(mPattern, out long time); if (Scaned != IntPtr.Zero) { return(Scaned); } else { return(IntPtr.Zero); } }
public static int ScanPattern(string mModuleName, string mPattern, int Offset = 0, int Extra = 0, bool ModuleSubract = false) { IntPtr hProcess = CylMem.hProcess.Handle; ProcessModule SelectedModule = null; foreach (ProcessModule module in CylMem.hProcess.Modules) { if (Path.GetFileName(module.FileName) == mModuleName) { SelectedModule = module; } } if (SelectedModule == null) { throw new Exception("Selected Module is Null !"); } var scanner = new SigScan(hProcess); scanner.SelectModule(SelectedModule.BaseAddress, SelectedModule.ModuleMemorySize); int Scaned = (int)scanner.FindPattern(mPattern, out long time); if (Scaned != 0) { var Scan = CylMem.ReadInt(Scaned + Offset) + Extra; if (ModuleSubract) { Scan -= (Int32)SelectedModule.BaseAddress; } return(Scan); } else { return(0); } }