mirror of
https://github.com/orange-cpp/omath.git
synced 2026-04-19 05:43:26 +00:00
* Initial plan * Add Mach-O pattern scanner implementation and unit tests Co-authored-by: orange-cpp <59374393+orange-cpp@users.noreply.github.com> * Add Mach-O pattern scanner Co-authored-by: orange-cpp <59374393+orange-cpp@users.noreply.github.com> * Remove CodeQL build artifacts from PR Co-authored-by: orange-cpp <59374393+orange-cpp@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: orange-cpp <59374393+orange-cpp@users.noreply.github.com>
26 lines
819 B
C++
26 lines
819 B
C++
//
|
|
// Created by Copilot on 04.02.2026.
|
|
//
|
|
#pragma once
|
|
#include <cstdint>
|
|
#include <filesystem>
|
|
#include <optional>
|
|
#include <string_view>
|
|
#include "section_scan_result.hpp"
|
|
namespace omath
|
|
{
|
|
class MachOPatternScanner final
|
|
{
|
|
public:
|
|
[[nodiscard]]
|
|
static std::optional<std::uintptr_t>
|
|
scan_for_pattern_in_loaded_module(const void* module_base_address, const std::string_view& pattern,
|
|
const std::string_view& target_section_name = "__text");
|
|
|
|
[[nodiscard]]
|
|
static std::optional<SectionScanResult>
|
|
scan_for_pattern_in_file(const std::filesystem::path& path_to_file, const std::string_view& pattern,
|
|
const std::string_view& target_section_name = "__text");
|
|
};
|
|
} // namespace omath
|