下载地址:https://www.pan38.com/share.php?code=pvvmX 提取码:8888
这段代码实现了硬件信息获取和伪装功能,包含三个模块:硬件信息获取、伪装算法实现和主程序入口。代码通过Windows API获取真实硬件信息,然后使用随机数生成器创建伪装的硬件信息,并尝试修改注册表中的网络适配器信息。
include
include
include
include
include
include
include
pragma comment(lib, "iphlpapi.lib")
using namespace std;
// 获取CPU序列号
string GetCPUSerial() {
int CPUInfo[4] = {-1};
char CPUBrandString[0x40] = {0};
cpuid(CPUInfo, 0x80000002);
memcpy(CPUBrandString, CPUInfo, sizeof(CPUInfo)); cpuid(CPUInfo, 0x80000003);
memcpy(CPUBrandString + 16, CPUInfo, sizeof(CPUInfo));
__cpuid(CPUInfo, 0x80000004);
memcpy(CPUBrandString + 32, CPUInfo, sizeof(CPUInfo));
return string(CPUBrandString);
}
// 获取MAC地址
string GetMACAddress() {
PIP_ADAPTER_INFO AdapterInfo;
DWORD dwBufLen = sizeof(IP_ADAPTER_INFO);
AdapterInfo = (IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO));
if (GetAdaptersInfo(AdapterInfo, &dwBufLen) == ERROR_BUFFER_OVERFLOW) {
free(AdapterInfo);
AdapterInfo = (IP_ADAPTER_INFO *)malloc(dwBufLen);
}
if (GetAdaptersInfo(AdapterInfo, &dwBufLen) == NO_ERROR) {
char mac[18];
sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X",
AdapterInfo->Address[0], AdapterInfo->Address[1],
AdapterInfo->Address[2], AdapterInfo->Address[3],
AdapterInfo->Address[4], AdapterInfo->Address[5]);
free(AdapterInfo);
return string(mac);
}
free(AdapterInfo);
return "00:00:00:00:00:00";
}
"hardware_info.h"
class HardwareSpoofer {
private:
random_device rd;
mt19937 gen;
uniform_int_distribution<> dis;
public:
HardwareSpoofer() : gen(rd()), dis(0, 255) {}
// 生成随机MAC地址
string GenerateRandomMAC() {
char mac[18];
sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X",
dis(gen), dis(gen), dis(gen),
dis(gen), dis(gen), dis(gen));
return string(mac);
}
// 生成随机CPU序列号
string GenerateRandomCPUSerial() {
string serial;
for (int i = 0; i < 16; ++i) {
serial += static_cast<char>(dis(gen) % 26 + 'A');
}
return serial;
}
// 修改注册表中的硬件信息
bool SpoofRegistryHardwareInfo() {
HKEY hKey;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}",
0, KEY_WRITE, &hKey) != ERROR_SUCCESS) {
return false;
}
string newMAC = GenerateRandomMAC();
if (RegSetValueEx(hKey, "NetworkAddress", 0, REG_SZ,
(const BYTE*)newMAC.c_str(), newMAC.size()) != ERROR_SUCCESS) {
RegCloseKey(hKey);
return false;
}
RegCloseKey(hKey);
return true;
}
};
"hardware_info.h"
include "spoofing.h"
include
using namespace std;
int main() {
// 显示原始硬件信息
cout << "Original Hardware Information:" << endl;
cout << "CPU Serial: " << GetCPUSerial() << endl;
cout << "MAC Address: " << GetMACAddress() << endl << endl;
// 创建伪装器实例
HardwareSpoofer spoofer;
// 生成并显示伪装后的信息
cout << "Spoofed Hardware Information:" << endl;
cout << "New CPU Serial: " << spoofer.GenerateRandomCPUSerial() << endl;
cout << "New MAC Address: " << spoofer.GenerateRandomMAC() << endl << endl;
// 尝试修改注册表
if (spoofer.SpoofRegistryHardwareInfo()) {
cout << "Successfully modified registry hardware information!" << endl;
} else {
cout << "Failed to modify registry hardware information." << endl;
}
return 0;
}