vmware的檢測與反檢測

2021-06-18 13:45:28 字數 1452 閱讀 4843

先說3種方法

**:#include

#include

bool ginvmware, ginvirtualpc;

bool vmwaretest()

}__except(exception_execute_handler)

return ginvmware;

}bool virtualpctest()

}__except(exception_execute_handler)

return ginvirtualpc;

}bool vmtest()

printf("idt = %08x\n" , xdt);

if (xdt > 0xd0000000)

else

__asm

printf("gdt = %08x\n" , xdt);

if (xdt > 0xd0000000)

else

return invm;

}int main()

else if (virtualpctest())

else if (vmtest())

else

getchar ();

return 1;

}ok,這樣vmware裡面基本都能檢測到

檢測虛擬機器,一般來說有3種方法:

1,是猥瑣法,比如系統中有沒有vmware類似的服務,程序等,檢查bios的資訊,虛擬裝置的名稱等等,這種方法是很猥瑣的,優點是防不勝防,缺點就是不準確,而且都能修改(注意:bios也是能修改的)。

2,是模擬漏洞法,由於虛擬機器畢竟不是真機,模擬上面是有一定的漏洞的,上面的vmtest就是漏洞法。優點是準確,基本上100%可以確定,因為是模擬的漏洞,所以不容易修改,缺點基本上沒有。

3,是後門法,虛擬機器需要和host進行通訊,利用通訊檢測虛擬機器,如上面的那個vmware.getversion的後門。優點是準確,缺點是可以遮蔽掉後門。

所以,一般來說都是用後門法,高階一點用模擬漏洞。

隨著硬體虛擬化技術的迅猛發展,模擬的漏洞越來越少,開了vt功能後,使用vmware 6.0以上基本上滅掉了所有模擬的漏洞,後門法,patch一下主程式和guest的tools。

下面圖是我修改過的開了vt-x的vmware,用上面的**是檢測不出來的

注意紅框,如果修改配置檔案遮蔽後門,vmware tools是無法啟動的。我這裡是patch了vmware tools和vmware-vmx.exe的主程式實現的,後來想想,還是避不開猥瑣的校驗。。

能過99%的anti vmware,主要還是靠vt技術,實在太強大了。

由於某些原因,上面的模擬漏洞我只貼了mj0011的**,還有幾個漏洞(暫時不公開寫出來,當然無法對付vmware的)可以對付其他幾款虛擬機器,比如vbox(開了vt也被檢測)。

虛擬機器檢測與反檢測相關

虛擬機器軟體的漏洞和虛擬機器執行環境的檢測與反檢測 一 虛擬機器軟體的漏洞和虛擬機器執行環境的檢測與反檢測 二 vmware的檢測與反檢測 檢測虛擬機器彙編 漏洞法檢測虛擬機器 虛擬機器檢測技術剖析 檢測原始碼 include include bool ginvmware,ginvirtualpc ...

禁止程式檢測vmware

isolation.tools.getptrlocation.disable true isolation.tools.setptrlocation.disable true isolation.tools.setversion.disable true isolation.tools.getver...

解決目標檢測中的難分樣本(漏檢測與誤檢測問題)

asdn網路使用roi池層提取的功能作為輸入影象補丁。asdn網路比 遮擋 退出掩碼,然後將其用於丟棄特徵值並傳遞到fast rcnn的分類塔。對抗空間丟棄網路 asdn 它學習如何封閉給定的目標,使得frcn難以對其進行分類。我們在本文中考慮的第二種型別的生成是變形。在這種情況下,我們提出了對抗空...