Mais um blog inútil.

Novembro 5, 2009

Detecção de Máquinas Virtuais

Filed under: Coding — charlie-lindinho @ 9:01

oi lindinhos. daqui falo-vos de coisas simples, desta vez de detecção de máquinas virtuais através do OUI (organizationally unique identifier) presente num MAC address (primeiros 3 bytes). o engraçado disto é pode ser aplicado tanto localmente, como remotamente.

aqui fica um pequeno exemplo capaz de detectar localmente o virtualbox e o vmware player :

#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>


int main(){


    unsigned int sfd; unsigned char *mac;

    struct ifreq ifr;

    sfd = socket(AF_INET, SOCK_DGRAM, 0);
    strcpy(ifr.ifr_name, "eth0");
    ioctl(sfd, SIOCGIFHWADDR, &ifr);

    mac = (unsigned char *) ifr.ifr_hwaddr.sa_data;

    /* virtualbox 3.0.8 / vmware player 3.0.0 OUIs */

    if(!(memcmp(mac, "\x08\x00\x27", 3)) || !(memcmp(mac, "\x00\x0c\x29", 3)))
        puts("VM detected!");


}

a quem interessar, prometo depois voltar a falar sobre o assunto. adeus.

[07:38:23] David says: se nao falares da gatinha esses posts nao funcionam

Comentar

widgeon
widgeon
widgeon
widgeon