public CallRecord[] ReadNewCallRecords() { var buffer = HookedClient.ReadBuffer(); var modules = ProcessHelper.GetProcessModules(ProcessManager.Process.Id); var callRecs = SerializationHelper.ProcessCallRecords(buffer, HookedMethods); foreach (var callRec in callRecs) { foreach (var item in callRec.CallStack) { item.Module = modules.FirstOrDefault(x => x.BaseAddr <= item.Address && item.Address < x.EndAddr); } } CallRecords.AddRange(callRecs); return(callRecs); }
public void UnhookAndWaitForExit() { HookedClient.TerminateInjectionThread(); ProcessManager.Process.WaitForExit(); }