方法一:
第一處:
特征碼81 7D E4 68 58 4D 56
cmp dword ptr ss:[ebp-0x1Ch],0x564D5868h //把564D5868隨便改一下就行了
jnz L0069B0FF
push -0x4h
pop eax
jmp L0069B101
L0069B0FF:
xor eax,eax
L0069B101:
call L006B3C4C
retn//這里把eax賦值0也可以
原理:in eax,dx這個大家都知道
第二處:
特征碼55 8B EC 83 EC 14
push ebp//直接mov eax,0 retn
mov ebp,esp
sub esp,0x14h
push ebx
push esi
jmp L0069AFA9
方法二:
第一個是檢測注冊表
[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS]
"SystemManufacturer"="VMware, Inc."
564D5868h既是"VMware, Inc."ascii的hash值
這個注冊表的好像會在重啟之后被vmware恢復 目前我的辦法是寫個.reg 每次啟動虛擬機時手動覆蓋一次
第二個檢測是cpuid的1號功能 ecx的最高位
.vmx文件中添加
cpuid.1.ecx = "0111:1111:1101:1010:1111:1011:1011:1111"
即可直接過掉 這個檢測好像是從vmp3.x學來的
|