4#define DTTR_TEST_BINARY_SUPPORT
6#undef DTTR_TEST_BINARY_SUPPORT
8#define DTTR_TEST_PCDOGS_REQUIRED_ALL \
9 DTTR_TEST_FIXTURE_MASK_ALL(DTTR_TEST_PCDOGS_FIXTURE_COUNT)
10#define DTTR_TEST_PCDOGS_REQUIRED_EN DTTR_TEST_FIXTURE_BIT(DTTR_TEST_PCDOGS_EN)
11#define DTTR_TEST_PCDOGS_REQUIRED_EU_SC \
12 (DTTR_TEST_FIXTURE_BIT(DTTR_TEST_PCDOGS_EU) \
13 | DTTR_TEST_FIXTURE_BIT(DTTR_TEST_PCDOGS_SC))
14#define DTTR_TEST_PCDOGS_REQUIRED_EN_EU \
15 (DTTR_TEST_FIXTURE_BIT(DTTR_TEST_PCDOGS_EN) \
16 | DTTR_TEST_FIXTURE_BIT(DTTR_TEST_PCDOGS_EU))
17#define DTTR_TEST_PCDOGS_REQUIRED_EN_SC \
18 (DTTR_TEST_FIXTURE_BIT(DTTR_TEST_PCDOGS_EN) \
19 | DTTR_TEST_FIXTURE_BIT(DTTR_TEST_PCDOGS_SC))
20#define DTTR_TEST_PCDOGS_SIG_NOT_FOUND DTTR_TEST_SIG_NOT_FOUND
21#define DTTR_TEST_PCDOGS_IMPORT_CAP DTTR_TEST_IMPORT_CAP
23#define TARGET_RESOLVE DTTR_TEST_TARGET_RESOLVE
24#define TARGET_JMP_HOOK DTTR_TEST_TARGET_JMP_HOOK
25#define TARGET_TRAMPOLINE_HOOK DTTR_TEST_TARGET_TRAMPOLINE_HOOK
26#define TARGET_POINTER_FF25_E8_TARGET DTTR_TEST_TARGET_POINTER_FF25_E8_TARGET
27#define TARGET_POINTER_U32_AT_MATCH_PLUS_2 DTTR_TEST_TARGET_POINTER_U32_AT_MATCH_PLUS_2
28#define TARGET_BYTE_PATCH DTTR_TEST_TARGET_BYTE_PATCH
57 const DTTR_TestPEImage *image,
66 const DTTR_TestPEImage *image,
75 const DTTR_TestPEImage *image,
76 DTTR_TestImportEntry *imports,
size_t DTTR_TestPE_CollectImports(const DTTR_TestPEImage *image, DTTR_TestImportEntry *imports, size_t imports_cap)
uintptr_t DTTR_TestPE_Sigscan(const DTTR_TestPEImage *image, const uint8_t *sig, const char *mask)
size_t DTTR_TestPE_SigscanCount(const DTTR_TestPEImage *image, const uint8_t *sig, const char *mask)
static uintptr_t pcdogs_sigscan(const DTTR_TestPEImage *image, const uint8_t *sig, const char *mask)
Scan a fixture image with the same signature format used by SDK symbol rows.
const char * pcdogs_fixture_dir()
Return the fixture directory used by PCDOGS signature tests.
const size_t DTTR_TEST_PCDOGS_SIDECAR_MSS_IMPORT_HOOK_COUNT
DTTR_TestBinaryFixture DTTR_TestPCDOGSFixture
DTTR_TestPatternExpectation DTTR_TestPCDOGSSignatureExpectation
const char *const DTTR_TEST_PCDOGS_SIDECAR_MSS_IMPORT_HOOKS[]
@ DTTR_TEST_PCDOGS_FIXTURE_COUNT
const pcdogs_target_expectation DTTR_TEST_PCDOGS_SIDECAR_TARGETS[]
static size_t pcdogs_collect_imports(const DTTR_TestPEImage *image, DTTR_TestImportEntry *imports, size_t imports_cap)
Collect fixture imports for tests that validate recovered sidecar targets.
DTTR_TestTargetKind E_TargetKind
bool pcdogs_fixtures_available()
Report whether all PCDOGS binary fixtures are available for signature tests.
bool pcdogs_for_each_fixture(DTTR_TestPEFixtureVisitor visitor, void *userdata)
Visit each available PCDOGS fixture image for signature and ABI checks.
DTTR_TestTargetExpectation pcdogs_target_expectation
static size_t pcdogs_sigscan_count(const DTTR_TestPEImage *image, const uint8_t *sig, const char *mask)
Count signature matches in a fixture image.
const DTTR_TestPCDOGSFixture DTTR_TEST_PCDOGS_FIXTURES[]
const size_t DTTR_TEST_PCDOGS_SIDECAR_TARGET_COUNT