| 19 | |
| 20 | |
| 21 | class CProcessATHookTable : |
| 22 | public CTable<EATHookInfo>, |
| 23 | public CWindowImpl<CProcessATHookTable> { |
| 24 | public: |
| 25 | DECLARE_WND_CLASS_EX(NULL, CS_DBLCLKS | CS_VREDRAW | CS_HREDRAW, COLOR_WINDOW); |
| 26 | |
| 27 | CProcessATHookTable(BarInfo& bars, TableInfo& table, DWORD pid, bool x64); |
| 28 | int ParseTableEntry(CString& s, char& mask, int& select, EATHookInfo& info, int column); |
| 29 | bool CompareItems(const EATHookInfo& s1, const EATHookInfo& s2, int col, bool asc); |
| 30 | |
| 31 | BEGIN_MSG_MAP(CProcessATHookTable) |
| 32 | MESSAGE_HANDLER(WM_DESTROY, OnDestroy) |
| 33 | MESSAGE_HANDLER(WM_CREATE, OnCreate) |
| 34 | MESSAGE_HANDLER(WM_PAINT, OnPaint) |
| 35 | MESSAGE_HANDLER(WM_HSCROLL, OnHScroll) |
| 36 | MESSAGE_HANDLER(WM_VSCROLL, OnVScroll) |
| 37 | MESSAGE_HANDLER(WM_USER_VABS, OnUserVabs) |
| 38 | MESSAGE_HANDLER(WM_USER_VREL, OnUserVrel) |
| 39 | MESSAGE_HANDLER(WM_USER_CHGS, OnUserChgs) |
| 40 | MESSAGE_HANDLER(WM_MOUSEWHEEL, OnMouseWheel) |
| 41 | MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove) |
| 42 | MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLBtnDown) |
| 43 | MESSAGE_HANDLER(WM_LBUTTONUP, OnLBtnUp) |
| 44 | MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRBtnDown) |
| 45 | MESSAGE_HANDLER(WM_USER_STS, OnUserSts) |
| 46 | MESSAGE_HANDLER(WM_WINDOWPOSCHANGED, OnWindowPosChanged) |
| 47 | MESSAGE_HANDLER(WM_KEYDOWN, OnKeyDown) |
| 48 | MESSAGE_HANDLER(WM_SYSKEYDOWN, OnSysKeyDown) |
| 49 | END_MSG_MAP() |
| 50 | |
| 51 | LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 52 | LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lparam, BOOL& /*bHandled*/); |
| 53 | LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 54 | LRESULT OnHScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 55 | LRESULT OnVScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 56 | LRESULT OnUserVabs(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 57 | LRESULT OnUserVrel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 58 | LRESULT OnUserChgs(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 59 | LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 60 | LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 61 | LRESULT OnLBtnDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 62 | LRESULT OnLBtnUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 63 | LRESULT OnRBtnDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 64 | LRESULT OnUserSts(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 65 | LRESULT OnWindowPosChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 66 | LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 67 | LRESULT OnSysKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 68 | |
| 69 | void Refresh(); |
| 70 | |
| 71 | enum class Column { |
| 72 | HookObject, HookType, Address, TargetAddress, Module |
| 73 | }; |
| 74 | std::shared_ptr<WinSys::ModuleInfo> GetModuleByAddress(ULONG_PTR address); |
| 75 | CString TypeToString(ATHookType type); |
| 76 | void CheckEATHook(const std::shared_ptr<WinSys::ModuleInfo>& m); |
| 77 | void CheckIATHook(const std::shared_ptr<WinSys::ModuleInfo>& m); |
| 78 | std::shared_ptr<WinSys::ModuleInfo> GetModuleByName(std::wstring name); |
nothing calls this directly
no outgoing calls
no test coverage detected