All Projects → PicoJr → inside-vm

PicoJr / inside-vm

Licence: Apache-2.0 license
Detect if code is running inside a virtual machine (x86 and x86-64 only).

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to inside-vm

es-feature-detection
ECMAScript feature and API detection
Stars: ✭ 16 (-50%)
Mutual labels:  detect, test
MathLib
The Math Algorithm
Stars: ✭ 38 (+18.75%)
Mutual labels:  test
ara
Agile Regression Analyzer
Stars: ✭ 74 (+131.25%)
Mutual labels:  test
patchgirl
Manual reproducible web API tests for web developers
Stars: ✭ 95 (+196.88%)
Mutual labels:  test
detect-cloudflare-plus
True Sight Firefox extension.
Stars: ✭ 34 (+6.25%)
Mutual labels:  detect
jest-expect-contain-deep
Assert deeply nested values in Jest
Stars: ✭ 68 (+112.5%)
Mutual labels:  test
threat9-test-bed
No description or website provided.
Stars: ✭ 26 (-18.75%)
Mutual labels:  test
TorXakis
A tool for Model Based Testing
Stars: ✭ 40 (+25%)
Mutual labels:  test
Testables
Make private properties testable
Stars: ✭ 40 (+25%)
Mutual labels:  test
wazero
wazero: the zero dependency WebAssembly runtime for Go developers
Stars: ✭ 2,065 (+6353.13%)
Mutual labels:  vm
scalatest-junit-runner
JUnit 5 runner for Scalatest
Stars: ✭ 30 (-6.25%)
Mutual labels:  test
very good performance
Utility on top of the Flutter Driver API that facilitates measuring the performance of your app in an automated way created by Very Good Ventures 🦄
Stars: ✭ 78 (+143.75%)
Mutual labels:  test
butterfly
Butterfly connects Virtual Machines and control their traffic flow
Stars: ✭ 48 (+50%)
Mutual labels:  vm
framework
Lightweight, open source and magic-free framework for testing solidity smart contracts.
Stars: ✭ 36 (+12.5%)
Mutual labels:  test
arch-ansible
An Ansible playbook to install Arch Linux
Stars: ✭ 33 (+3.13%)
Mutual labels:  vm
playwright-test
Run unit tests with several runners or benchmark inside real browsers with playwright.
Stars: ✭ 81 (+153.13%)
Mutual labels:  test
Conceptum
Conceptum is a stack-based, lightweight, Turing-equivalent JIT virtual machine running a small set of bytecodes for benchmarking VM performance.
Stars: ✭ 17 (-46.87%)
Mutual labels:  vm
acquia-cloud-vm
VirtualBox/Vagrant-based VM to closely match Acquia Cloud environment.
Stars: ✭ 20 (-37.5%)
Mutual labels:  vm
titef
🌠 A tiny, lightning-fast, zero-dependecies JavaScript test framework 🌠
Stars: ✭ 19 (-40.62%)
Mutual labels:  test
UnitySettings
Runtime debugging menu (like setting on Android) for Unity.
Stars: ✭ 26 (-18.75%)
Mutual labels:  test

rtw crate rtw documentation

inside-vm

Detect if code is running inside a virtual machine.

Only works on x86 and x86-64.

How does it work

Measure average cpu cycles when calling cpuid and compare to a threshold, if the value is high assume code is running inside a VM.

Quick Start

git clone https://github.com/PicoJr/inside-vm
cd inside-vm/
cargo run --example test-inside-vm

output: avg cycles for __cpuid: 108

vs inside VM

[vagrant@archlinux vagrant]$ ./target/release/examples/test-inside-vm 

output: avg cycles for __cpuid: 30578

API

use inside_vm::inside_vm;

let inside = inside_vm();
println!("inside vm: {}", inside);

Credits

https://evasions.checkpoint.com/techniques/timing.html#difference-vm-hosts

Changelog

Please see the CHANGELOG for a release history.

License

Dual-licensed under MIT or the Apache License V2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].