- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
DWORD WINAPI NewGetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen)
{
PIP_ADAPTER_INFO pAdapter = NULL;
DWORD nRet = NULL;
// 这里调用HOOK前的原始函数
nRet = OldGetAdaptersInfo(pAdapterInfo,pOutBufLen);
if(nRet == ERROR_BUFFER_OVERFLOW)
{
free(pAdapterInfo);
pAdapterInfo = (IP_ADAPTER_INFO *)malloc(pOutBufLen);
nRet = GetAdaptersInfo(pAdapterInfo,&pOutBufLen);
}
if (nRet == NO_ERROR)
{
pAdapter = pAdapterInfo;
while (pAdapter)
{
TRACE("旧MAC: \t%02x-%02x-%02x-%02x-%02x-%02x\r\n",
pAdapter->Address[0],
pAdapter->Address[1],
pAdapter->Address[2],
pAdapter->Address[3],
pAdapter->Address[4],
pAdapter->Address[5]);
// 新的MAC为随机值
srand((unsigned)time(NULL));
for (unsigned int i=0; i<MAX_ADAPTER_ADDRESS_LENGTH; i++)
pAdapter->Address[i] = rand() % 255;
pAdapter = pAdapter->Next;
}
}
} |
|