This repository was archived by the owner on Jan 4, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
36 lines (27 loc) · 1.38 KB
/
main.cpp
File metadata and controls
36 lines (27 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "SigHunt.h"
#include <chrono>
int main()
{
auto start = std::chrono::high_resolution_clock::now();
// External scanning
uintptr_t addr = SigHunt::External::Find("CalculatorApp.exe",
"E8 C3 ?? ?? ?? ?? ?? 90");
// Internal scanning
uintptr_t addr2 = SigHunt::Internal::Find("E8 C3 ?? ?? ?? ?? ?? 90");
// Find all external matches
std::vector<uintptr_t> allResExternal = SigHunt::External::FindAll("CalculatorApp.exe",
"E8 C3 ?? ?? ?? ?? ?? 90");
// Find all internal matches
std::vector<uintptr_t> allResInternal = SigHunt::Internal::FindAll("E8 C3 ?? ?? ?? ?? ?? 90");
// VTable instances from first match
std::vector<uintptr_t> vtableInstances = SigHunt::VTableScanner::FindVTableInstances(addr);
auto end = std::chrono::high_resolution_clock::now();
auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
std::cout << "External: 0x" << std::hex << addr << std::endl;
std::cout << "Internal: 0x" << std::hex << addr2 << std::endl;
std::cout << "All External matches: " << std::dec << allResExternal.size() << std::endl;
std::cout << "All Internal matches: " << std::dec << allResInternal.size() << std::endl;
std::cout << "VTable instances: " << std::dec << vtableInstances.size() << std::endl;
std::cout << "Total scan time: " << std::dec << ms.count() << "ms\n";
return 0;
}