Можно много чего чекать, сколько памяти на жд, коннект в сеть, днс имена, реестр и т.д.ещё можна чекать есть ли на компе блютуз
Можно много чего чекать, сколько памяти на жд, коннект в сеть, днс имена, реестр и т.д.ещё можна чекать есть ли на компе блютуз
C#:if (SystemInformation.PowerStatus.BatteryChargeStatus == BatteryChargeStatus.NoSystemBattery) { // Desktop } else { // Laptop }
ещё можна чекать есть ли на компе блютуз
bool IsLaptop() // Courtesy of betamonkey -- Determines if the host computer is a laptop or a desktop
{
bool bReturn = FALSE;
SYSTEM_POWER_STATUS spsPowerInfo;
if(GetSystemPowerStatus(&spsPowerInfo))
{
if(spsPowerInfo.BatteryFlag < 128)
bReturn = TRUE;
}
return bReturn;
}
Да много чего расписано, но это не мешает не много сделать по своему и избегать авпроблема с этим знаменитым избеганием песочницы заключается в том, что AV обнаружит его быстро, как вы правильно объясняете, это очень хорошо задокументировано, нет смысла иметь анти-VM, если они могут статически обнаруживать ваш код AntiVM и блокировать выполнение, бессмысленная деятельность по созданию которые уже ищут в коммерческом вредоносном ПО
в моей голове
да 100% можно сделать творчески и избежать обнаружения известными методами, но риск нужно оценивать в зависимости от целевой среды на мой взглядДа много чего расписано, но это не мешает не много сделать по своему и избегать ав
Можете ли вы предоставить дополнительные материалы для чтения о таблице векторов прерываний и ее назначении?Из менее задроченных способов, которые я видел, является проверка таблицы векторов прерываний (IDT) через функцию __sidt. Суть в том, что на физической машине 5 и 6 байты равны нулям, когда на ВМ эти байты не равны нулю. С Win10 оно отрабатывает нормально, однако на Win7 имеется ядерная утечка адреса таблицы, из-за чего ВМ всегда будет определятся как физическая машинка, так как адрес (вероятней всего) расскрывается полностью. Теоретически, фиксится это побайтовой проверкой регистра IDTR (где хранится IDT), вместо целых 10 байт.
Разбирали это вот здесь.
