#pragma once #include #include #include #include namespace hex::plugin::builtin { class ViewYara : public View { public: ViewYara(); ~ViewYara() override; void drawContent() override; private: struct YaraMatch { std::string identifier; std::string variable; u64 address; size_t size; bool wholeDataMatch; u32 highlightId; u32 tooltipId; }; std::vector> m_rules; std::vector m_matches; u32 m_selectedRule = 0; TaskHolder m_matcherTask; std::vector m_consoleMessages; void reloadRules(); void applyRules(); void clearResult(); }; }