static public void OutputHandle(long threadid, string opdata) { HookParam hp = ThreadHandleDict[threadid]; hp.Text = opdata; DataEvent?.Invoke(typeof(Textractor), hp); if (!string.IsNullOrWhiteSpace(GameConfig.HookCode) && GameConfig.HookCode == hp.Hookcode && (GameConfig.ThreadContext & 0xFFFF) == (hp.Ctx & 0xFFFF) && GameConfig.SubThreadContext == hp.Ctx2) { log.Info(hp.Text); SelectedDataEvent?.Invoke(typeof(Textractor), hp); } }
static public void OutputHandle(long threadid, string opdata) { HookParam hp = ThreadHandleDict[threadid]; hp.Text = opdata; DataEvent?.Invoke(typeof(Textractor), hp); if (gameInfo.HookCode != null && gameInfo.HookCode == hp.Hookcode && (gameInfo.ThreadContext & 0xFFFF) == (hp.Ctx & 0xFFFF) && gameInfo.SubThreadContext == hp.Ctx2) { log.Info(hp.Text); SelectedDataEvent?.Invoke(typeof(Textractor), hp); } }
static public void CreateThreadHandle( long threadId, uint processId, ulong address, ulong context, ulong subcontext, string name, string hookCode) { ThreadHandleDict[threadId] = new HookParam { Handle = threadId, Pid = processId, Addr = (long)address, Ctx = (long)context, Ctx2 = (long)subcontext, Name = name, Hookcode = hookCode }; }