原創 判斷程式的執行環境是VM收藏

2021-04-18 18:02:43 字數 773 閱讀 3700

原創 判斷程式的執行環境是vm收藏

老v的** 很古老的

抗vm分析

mov ecx, 0ah ; cx=function# (0ah=get_version)

mov eax, 'vmxh' ; eax=magic

mov dx, 'vx' ; dx=magic

in eax, dx ; specially processed io cmd

; output: eax/ebx/ecx = data

cmp ebx, 'vmxh' ; also eax/ecx modified (maybe vmw/os ver?)

je under_vmware

bool isinsidevmware()

} __except(exception_execute_handler)

return rc;

}bool isinsidevpc()

// the except block shouldn't get triggered if vpc is running!!

__except(isinsidevpc_exceptionfilter(getexceptioninformation()))

return rc;

}給個通用判斷的方法,不管vmware或virtuapc都有效

int dcvm ()

程式是在何種環境中執行的

問題 應用的執行環境,指的是什麼?作業系統 硬體 macintosh用的作業系統macos,在at相容機上能執行嗎?無法執行,不同的硬體種類需要不同的作業系統 windows上的應用,在macos上能執行嗎?無法執行,應用是為了在特定作業系統上執行而作成的 freebsd提供的ports,指的是什麼...

程式執行的過程分析 sky原創

程式執行的過程 比如我們要執行3 2 程式計數器 pc 指令位址 指令暫存器 ir 正在執行的命令 累加器 ac 臨時儲存體 那麼實際上執行了三條指令 每條指令又分為兩部分 取址 執行 取址就是從暫存器裡取一條指令放在ir暫存器 左上角的圖,pc暫存器裡面放的值是300 那麼我們就從記憶體位址為30...

程式執行的過程分析 sky原創

程式執行的過程 比如我們要執行3 2 程式計數器 pc 指令位址 指令暫存器 ir 正在執行的命令 累加器 ac 臨時儲存體 那麼實際上執行了三條指令 每條指令又分為兩部分 取址 執行 取址就是從暫存器裡取一條指令放在ir暫存器 左上角的圖,pc暫存器裡面放的值是300 那麼我們就從記憶體位址為30...