| 205 | } |
| 206 | |
| 207 | std::string Helpers::GetKernelModuleByAddress(ULONG_PTR address) { |
| 208 | WinSys::KernelModuleTracker m_Tracker; |
| 209 | |
| 210 | auto count = m_Tracker.EnumModules(); |
| 211 | auto modules = m_Tracker.GetModules(); |
| 212 | for (decltype(count) i = 0; i < count; i++) { |
| 213 | auto m = modules[i]; |
| 214 | ULONG_PTR limit = (ULONG_PTR)((char*)m->ImageBase + m->ImageSize); |
| 215 | if (address > (ULONG_PTR)m->ImageBase && address < limit) { |
| 216 | return m->FullPath; |
| 217 | } |
| 218 | } |
| 219 | |
| 220 | return ""; |
| 221 | } |
| 222 | |
| 223 | |
| 224 | std::wstring Helpers::GetUserModuleByAddress(ULONG_PTR address, ULONG pid) { |
nothing calls this directly
no test coverage detected