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); } }
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 void Init() { var _firstclass = (IntPtr)SigScan.ScanPattern(Managers.Modules.ClientDLLName, "A1 ? ? ? ? C3 CC CC CC CC CC CC CC CC CC CC A1 ? ? ? ? B9", 1, 0, false); // dwGetAllClasses _firstclass = (IntPtr)CylMem.ReadInt((int)_firstclass); if (_firstclass == IntPtr.Zero) { //Environment.Exit(-1); } do { var table = (IntPtr)CylMem.ReadInt((int)_firstclass + 0xC); if (table != IntPtr.Zero) { var table_name = CylMem.ReadString(CylMem.ReadInt((int)table + 0xC)); ScanTable(table, 0, 0, table_name); } _firstclass = (IntPtr)CylMem.ReadInt((int)_firstclass + 0x10); } while (_firstclass != IntPtr.Zero); }