virtual const bool toJSON(std::stringstream &outs, size_t level)
A base class of all the reports detailing on the output of the performed module's scan.
virtual const bool _toJSON(std::stringstream &outs, size_t level=JSON_LEVEL, const pesieve::t_json_level &jdetails=JSON_BASIC)
A container of all the process modules that were scanned.
A base class for all the scanners checking appropriate process' features.
A report from the thread scan, generated by ThreadScanner.
virtual const void fieldsToJSON(std::stringstream &outs, size_t level, const pesieve::t_json_level &jdetails)
ThreadScanReport(DWORD _tid)
static std::string translate_wait_reason(DWORD thread_wait_reason)
static const DWORD THREAD_STATE_UNKNOWN
static const DWORD THREAD_STATE_WAITING
virtual const bool toJSON(std::stringstream &outs, size_t level, const pesieve::t_json_level &jdetails)
static std::string translate_thread_state(DWORD thread_state)
ThreadScanner(HANDLE hProc, bool _isReflection, const util::thread_info &_info, ModulesInfo &_modulesInfo, peconv::ExportsMapper *_exportsMap)
virtual ThreadScanReport * scanRemote()
bool reportSuspiciousAddr(ThreadScanReport *my_report, ULONGLONG susp_addr, thread_ctx &c)
size_t enumStackFrames(IN HANDLE hProcess, IN HANDLE hThread, IN LPVOID ctx, IN OUT thread_ctx &c)
bool resolveAddr(ULONGLONG addr)
static bool FreeSymbols(HANDLE hProc)
bool fillAreaStats(ThreadScanReport *my_report)
bool isAddrInShellcode(ULONGLONG addr)
peconv::ExportsMapper * exportsMap
const util::thread_info & info
static bool InitSymbols(HANDLE hProc)
ModulesInfo & modulesInfo
bool fetchThreadCtx(IN HANDLE hProcess, IN HANDLE hThread, OUT thread_ctx &c)
size_t fill_iat(BYTE *vBuf, size_t vBufSize, IN const peconv::ExportsMapper *exportsMap, IN OUT IATBlock &iat, IN ThunkFoundCallback *callback)
struct pesieve::_thread_ctx thread_ctx
A custom structure keeping a fragment of a thread context.
A custom structure keeping a fragment of a thread context.