mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-07-16 20:49:42 +00:00
52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
/**
|
|
* @file transparency.h
|
|
* @author Sina Karvandi (sina@hyperdbg.org)
|
|
* @brief headers for test functions
|
|
* @details
|
|
* @version 0.1
|
|
* @date 2020-07-30
|
|
*
|
|
* @copyright This project is released under the GNU Public License v3.
|
|
*
|
|
*/
|
|
#pragma once
|
|
|
|
//////////////////////////////////////////////////
|
|
// Definitions //
|
|
//////////////////////////////////////////////////
|
|
|
|
/**
|
|
* @brief Number of tests for each instruction sets
|
|
* @details used to generate test cases for rdts+cpuid+rdtsc
|
|
* and rdtsc+rdtsc commands
|
|
*/
|
|
#define TestCount 1000
|
|
|
|
//////////////////////////////////////////////////
|
|
// Functions //
|
|
//////////////////////////////////////////////////
|
|
|
|
void
|
|
GuassianGenerateRandom(vector<double> Data, UINT64 * AverageOfData, UINT64 * StandardDeviationOfData, UINT64 * MedianOfData);
|
|
|
|
BOOLEAN
|
|
TransparentModeCheckHypervisorPresence(UINT64 * Average,
|
|
UINT64 * StandardDeviation,
|
|
UINT64 * Median);
|
|
|
|
BOOLEAN
|
|
TransparentModeCheckRdtscpVmexit(UINT64 * Average,
|
|
UINT64 * StandardDeviation,
|
|
UINT64 * Median);
|
|
|
|
double
|
|
Randn(double mu, double sigma);
|
|
|
|
double
|
|
Median(vector<double> Cases);
|
|
|
|
unsigned long long
|
|
TransparentModeRdtscDiffVmexit();
|
|
|
|
unsigned long long
|
|
TransparentModeRdtscVmexitTracing();
|