VC++ 改动VMware BIOSuuid_locationethernet0_address等

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC++ 改动VMware BIOSuuid_locationethernet0_address等相关的知识,希望对你有一定的参考价值。

VC++ 改动VMware Bios、uuid_location、ethernet0_address等。主要问题例如以下

(1)随机产生16进制数。

(2)改动vmx相应项。依据规则一般仅仅改动最后三项值;

/************************************************************************/
/* 
摘要:产生十六进制随机数串。比如 "0C 8B 9A"或"0C:8B:9A"
返回值:返回生成随机数串。格式如"0C 8B 9A"或"0C:8B:9A"
Author:AboLee
日期:2014年4月6日
*/
/************************************************************************/
void Random(char *szRand,BOOL isMacAddr)
{   
srand((unsigned)time(NULL));
if (!isMacAddr)
sprintf(szRand, "%02x %02x %02x", rand() & 0xFF, rand() & 0xFF, rand() & 0xFF);
else
sprintf(szRand, "%02X:%02X:%02X", rand() & 0xFF, rand() & 0xFF, rand() & 0xFF);


szRand[8] = ‘"‘;
}


/************************************************************************/
/* 
摘要:改动虚拟机*。vmx文件 uuid.bios??uuid.location??ethernet0.address
依据校验规则一般改动后三项值
Author:Abolee
日期:2014年4月6日
*/
/************************************************************************/
const char *uuid_bios = "uuid.bios = \"";
const char *uuid_location = "uuid.location = \"";
const char *ethernet0_address = "ethernet0.address = \"";
int ModifyVmBiosAndAddress(wchar_t *szVmwarePath)
{
char Buffer[8 * 1024];


CFile file;
file.Open(szVmwarePath,CFile::modeReadWrite);
int fileSize = file.Read(Buffer, 8 * 1024);


char *p = strstr(Buffer, uuid_bios);
if (p == NULL) return -1;
p += 52;
Random(p,FALSE);
char *p2 = strstr(Buffer, uuid_location);
p2 += 56;
memcpy(p2, p2, 8);


char *p3 = strstr(Buffer, ethernet0_address);
if (p3 == NULL) return -1;
p3 += 30;
Random(p3,TRUE);

file.SeekToBegin();
file.Write(Buffer,fileSize);
file.Close();

return 0;
}





























































以上是关于VC++ 改动VMware BIOSuuid_locationethernet0_address等的主要内容,如果未能解决你的问题,请参考以下文章

VMware虚拟机 VC里报告虚拟磁盘丢失的解决方案

vmware vc 6.0 在打开虚拟机控制台时,提示错误。如图所示。如何解决啊

关于VMware vSphere 直接将主机从VC中移除,导致该主机VDS丢失记录

VMware Vsphere 6.7 Learning Record----004(VUM)

vmware vsphere client 提示无法连接到远程服务器(无法连接连接vc,能ping通)

zabbix3.2监控vmware的esxi