Search results for 'vmware detection'

Vmware detection by vmware I/O port

2011. 4. 18. 15:37


악성코드 샘플을 수집해서 분석하는 중에 Vmware에서 실행을 하려 해도
제대로 실행이 되질 않는 놈이 있더군요. 몇번 클릭질 해보다 안되겠다 싶어
트레이싱을 해보니 아무래도 vmware 를 인식하고 알아서 죽는것 같더이다.

그래서 vmware detection 이라는 키워드로 구글링을 한참 해봤지만
원하는 자료가 쉬이 나오질 않으니, 시간은 점점 흐르고 분석 문서는 작성해야되는데
악성코드를 실행조차 못하는 상황T_T.. 그러던 와중에 원하는 자료를 발견(!)해서 정리해 둡니다.





In instruction에 대한 설명 - http://en.wikibooks.org/wiki/X86_Assembly/Other_Instructions

I/O Instructions

in dest, src

The IN instruction almost always has the operands AX and DX (or EAX and EDX) associated with it. DX (src) frequently holds the port address to read, and AX (dest) receives the data from the port. In Protected Mode operating systems, the IN instruction is frequently locked, and normal users can't use it in their programs.


DX(src)는 읽을 port address를 가지고 있고, AX(dest)는 그 port의 데이터를 받습니다.

위의 코드에서, "in   eax, dx" 가 실행될 때,
dx에는 0x5658(port address)이, eax에는 0x564D5867 (VMXh)이 들어 있습니다.

즉  In  0x564D5867, 0x5658  요런 모양으로 실행되겠죠.

그 후에 ebx의 값을 0x564D5867 과 비교해서 같으면 Vmware 환경에서 작동하는 것으로 판단,
종료 시킵니다.


참고 사이트  : http://isc.sans.edu/diary.html?storyid=3190

'Reversing' 카테고리의 다른 글

ARM assembly를 공부합시다.  (0) 2011.10.03
Protection ID  (0) 2011.05.11
TightVNC portable  (0) 2010.09.08
7.7 ddos 바이너리 대충 분석  (2) 2009.08.06
The best text for Reverse Engineering  (0) 2009.06.23
Reversing for Newbies (written by Lena)  (0) 2009.03.27
some instruction  (0) 2009.02.11
bypassing isDebuggerPresent WITHOUT changing mem  (0) 2009.01.28

badcob Reversing