
VMAWARE (VM+ AWARLE) adalah perpustakaan cross-platform C ++ untuk deteksi mesin virtual.
Perpustakaannya adalah:
# include " vmaware.hpp "
# include < iostream >
int main () {
if ( VM::detect ()) {
std::cout << " Virtual machine detected! " << " n " ;
} else {
std::cout << " Running on baremetal " << " n " ;
}
std::cout << " VM name: " << VM::brand () << " n " ;
std::cout << " VM type: " << VM::type () << " n " ;
std::cout << " VM certainty: " << ( int ) VM::percentage () << " % " << " n " ;
}kemungkinan output:
Virtual machine detected!
VM name: VirtualBox
VM type: Hypervisor (type 2)
VM certainty: 100%

Proyek ini juga menyediakan alat CLI kecil, tetapi berguna yang memanfaatkan potensi penuh dari apa yang dapat dilakukan perpustakaan. Ini akan memberi Anda segala macam detail tentang lingkungan yang berjalan di bawah.

Untuk menginstal perpustakaan, unduh file vmaware.hpp di bagian rilis terbaru untuk proyek Anda. Binari juga terletak di sana. Tidak ada hubungan cmake atau objek bersama yang diperlukan, secara harfiah sesederhana itu.
Namun, jika Anda menginginkan proyek lengkap (header yang dapat diakses secara global dengan <vmaware.hpp> dan alat CLI), ikuti perintah ini:
git clone https://github.com/kernelwernel/VMAware
cd VMAwaresudo dnf/apt/yum update -y # change this to whatever your distro is
mkdir build
cd build
cmake ..
sudo make installcmake -S . -B build/ -G " Visual Studio 16 2019 " # edit this
set ( DIRECTORY "/path/to/your/directory/" )
# if you want the MIT version, toggle this to ON
option (MIT "MIT version" OFF )
if (MIT)
set (EXTENSION "_MIT" )
else ()
set (EXTENSION "" )
endif ()
set ( DESTINATION " ${DIRECTORY} vmaware ${EXTENSION} .hpp" )
if ( NOT EXISTS ${DESTINATION} )
message ( STATUS "Downloading VMAware" )
set (URL "https://github.com/kernelwernel/VMAware/releases/latest/download/vmaware ${EXTENSION} .hpp" )
file (DOWNLOAD ${URL} ${DESTINATION} SHOW_PROGRESS )
else ()
message ( STATUS "VMAware already downloaded, skipping" )
endif ()Anda dapat melihat dokumen lengkap di sini. Semua detail seperti fungsi, teknik, pengaturan dan contoh disediakan. Percayalah, itu tidak terlalu mengintimidasi;)
Ini menggunakan daftar komprehensif tingkat rendah (CPU, GPU, HDD, dan firmware) dan teknik anti-VM tingkat tinggi yang diperhitungkan dalam sistem penilaian. Skor (0-100) untuk setiap teknik diberikan secara sewenang-wenang, dan setiap teknik yang telah mendeteksi VM akan memiliki skor mereka ditambahkan ke titik akumulatif tunggal, di mana angka titik ambang akan memutuskan apakah itu benar-benar berjalan dalam VM.
Ini dirancang untuk peneliti keamanan, insinyur VM, pengembang gamer, dan hampir semua orang yang membutuhkan mekanisme deteksi VM yang praktis dan kuat dalam proyek mereka. Misalnya, perpustakaan cocok jika Anda membuat VM dan Anda menguji efektivitas menyembunyikan dirinya sendiri. Jika Anda seorang pengembang game/pengembang perangkat lunak berpemilik, perpustakaan berguna untuk menggagalkan terhadap insinyur terbalik. Jika Anda seorang analis malware dan Anda ingin memeriksa kemampuan penyembunyian VM Anda, ini akan menjadi alat yang sempurna untuk membandingkan seberapa baik VM Anda bertentangan dengan malware. Selain itu, perangkat lunak dapat mengoptimalkan penggunaan kinerja atau sumber daya berdasarkan lingkungan yang terdeteksi, dan beberapa aplikasi mungkin ingin membatasi penggunaan dalam VM untuk mencegah distribusi atau pengujian yang tidak sah.
Sudah ada banyak proyek yang memiliki tujuan yang sama seperti Invizzzible, Pafish dan Al-Khaser. Tetapi perbedaan antara proyek-proyek yang disebutkan di atas adalah bahwa mereka tidak menyediakan antarmuka yang dapat diprogram untuk berinteraksi dengan mekanisme deteksi, di atas memiliki sedikit atau tidak ada dukungan untuk sistem non-windows. Saya ingin teknik deteksi inti dapat diakses secara terprogram dengan cara lintas platform bagi semua orang untuk mendapatkan sesuatu yang berguna darinya daripada menyediakan hanya alat CLI. Ini juga berisi jumlah teknik yang lebih besar, jadi pada dasarnya hanya perpustakaan deteksi VM dan pahat pada steroid dengan fleksibilitas maksimum.
Ada beberapa perangkat lunak berbayar untuk melindungi lisensi perangkat lunak lain terhadap terhadap insinyur terbalik atau perangkat lunak retak, seperti RMS Sentinel Thales dan VMprotect. Meskipun ini tidak dimaksudkan hanya untuk menjadi perpustakaan deteksi VM, mereka terbatas dalam kemampuan mereka dengan cara yang berbeda. Deteksi VM Sentinel RMS tidak memiliki banyak merek VM (belum lagi harga hanya dimaksudkan untuk perusahaan, bukan individu), dan VMProtect memiliki sejumlah teknik deteksi yang sangat terbatas, di mana beberapa dari mereka tidak memerlukan banyak upaya untuk melewati hanya beberapa konfigurasi yang ada di VM (mekanisme deteksi juga telah di -leak, tidak ada yang telah di -leaked, tidak ada yang telah di -leaked, tidak ada yang telah di -leaked, tidak ada yang dikendalikan. Omong -omong, satu -satunya downside ke Vmaware adalah bahwa itu sepenuhnya open source, yang membuat pekerjaan pengamat lebih mudah dibandingkan dengan memiliki sumber tertutup. Namun, saya berpendapat bahwa itu adalah tradeoff yang layak dengan memiliki banyak teknik deteksi VM dengan cara yang terbuka dan interaktif, termasuk memiliki umpan balik masyarakat yang berharga untuk membuat perpustakaan lebih efektif dan akurat.
Hyper-V memiliki fitur yang tidak jelas di mana jika diaktifkan dalam sistem host, nilai-nilai perangkat keras CPU membuatnya terlihat seperti seluruh sistem berjalan di dalam Hyper-V, yang tidak benar. Ini membuatnya menjadi tantangan untuk menentukan apakah nilai perangkat keras yang dikumpulkan perpustakaan adalah Hyper-V VM yang nyata, atau hanya artefak dari apa yang ditinggalkan Hyper-V sebagai konsekuensi dari memungkinkannya dalam sistem host. Alasan mengapa ini menjadi masalah adalah karena perpustakaan mungkin secara keliru menyimpulkan bahwa sistem host Anda berjalan di Hyper-V, yang merupakan positif palsu. Di sinilah mekanisme Hyper-X berperan untuk membedakan antara keduanya. Ini dirancang oleh Requiem

Ya. Ada beberapa teknik yang sepele spoofable, dan tidak ada yang bisa dilakukan perpustakaan tentang apakah itu positif palsu yang disengaja atau bahkan negatif palsu. Ini adalah masalah bahwa setiap proyek deteksi VM menghadapi apakah open source atau open source, itulah sebabnya perpustakaan mencoba menguji setiap teknik yang mungkin untuk mendapatkan hasil terbaik berdasarkan lingkungan yang dijalankannya. Ingat, semuanya secara teknis spoofable.
Proyek ini tidak meminta pengembangan malware karena alasan yang jelas. Bahkan jika Anda bermaksud menggunakannya untuk tujuan penyembunyian, kemungkinan besar itu akan ditandai oleh antivirus dan tidak ada yang dikalahkan. Keberuntungan yang bagus untuk mengaburkan 10K+ baris kode C ++ LMAO.
Saya akan membuatnya benar -benar MIT sehingga perangkat lunak berpemilik dapat memanfaatkan perpustakaan, tetapi beberapa teknik yang digunakan berasal dari proyek GPL 3.0, dan saya tidak punya pilihan selain menggunakan lisensi yang sama karena alasan hukum. Ini memberi saya ide untuk membuat versi MIT tanpa semua kode GPL sehingga juga dapat digunakan tanpa memaksa kode Anda menjadi sumber terbuka. Perlu dicatat bahwa versi MIT menghilangkan 12 teknik dari 116 (pada versi 1.9), dan semakin rendah jumlah teknik, semakin sedikit hasil keseluruhannya.
Jika Anda menyusun dengan GCC atau Clang, tambahkan bendera
-lmdan-lstdc++, atau gunakan kompiler G ++/Clang ++ sebagai gantinya. Jika Anda menerima kesalahan linker dari lingkungan VM baru di Linux, perbarui sistem Anda dengansudo apt/dnf/yum update -yuntuk menginstal komponen C ++ yang diperlukan.
Jika Anda memiliki saran, ide, atau kontribusi apa pun, jangan ragu untuk bertanya! Saya akan dengan senang hati mendiskusikan di bagian masalah ini. Jika Anda ingin secara pribadi menanyakan sesuatu secara pribadi, perselisihan saya adalah kr.nl
Dan jika Anda menemukan proyek ini bermanfaat, bintang akan dihargai :)
Saya tidak bertanggung jawab atau bertanggung jawab atas kerusakan yang Anda sebabkan melalui penggunaan berbahaya dari proyek ini.
Lisensi: GPL-3.0/MIT