antivm.py
from idautils import *
from idc import *
heads = Heads(SegStart(ScreenEA()), SegEnd(ScreenEA()))
antiVM = []
for i in heads:
if (GetMnem(i) == "sidt" or GetMnem(i) == "sgdt" or GetMnem(i) == "sldt" or GetMnem(i) == "smsw" or GetMnem(i) == "str" or GetMnem(i) == "in" or GetMnem(i) == "cpuid"):
antiVM.append(i) #취약한 명령어 보이면 antiVM 함수내에 i에 넣어줌
print "Number of potential Anti-VM instructions: %d" % (len(antiVM)) #발견된 명령어 갯수 출력
for i in antiVM:
SetColor(i, CIC_ITEM, 0x0000ff) #빨간색으로 표시
Message("Anti-VM: %08x\n" % i) #아래 command란에 주소 보여줌.
요즘 악성코드에서는 사용되지 않지만 혹시나 해서 정리!
(최근에는 vm 환경에서도 실사용하는 사람들이 많아져서! , 분석가들만 vm에서 하는게 아니라서 )
댓글 없음:
댓글 쓰기