Gamer 发表于 2025-3-7 18:20:57

MAC地址修改器 | Fortnite、使命召唤等游戏解码

我使用Mac地址修改器已经有一段时间了,但在 Windows 11 上停止工作,所以我决定为你们更新它。

甚至不用费心使用 TMAC,因为这只会清空所有地址。

这适用于 Fortnite、使命召唤等游戏的封禁。

工作原理:
auto* base = Utils::GetModuleBase("ndis.sys");
if (!base)
      return STATUS_UNSUCCESSFUL;

/*
* In case this no longer works, you can use the signatures below to try to reverse it and find the new ones. But this is fully working on Windows 10 and Windows 11.
*
* Scan Signature (ndisDummyIrpHandler):
*      Windows 10: 48 8D 05 ? ? ? ? B9 ? ? ? ? 49 8D 7E 70
*      Windows 11: 4C 8D 05 ? ? ? ? B9 ? ? ? ? 49 8D 46 70
*
* listScan Signatures (ndisMiniDriverList):
*      Windows 10: 48 8B 35 ? ? ? ? 44 0F B6 F0
*      Windows 11: 48 8B 3D ? ? ? ? 44 0F B6 F8
*
* Comment out your opposite Winver and uncommect your Winver
*/


//ndisDummyIrpHandler

//Windows 10
//UINT64 scan = (UINT64)(Utils::FindPatternImage(base, ("\x48\x8D\x05\xCC\xCC\xCC\xCC\xB9\xCC\xCC\xCC\xCC\x49\x8D\x7E\x70"), "xxx????x????xxxx")); // 48 8D 05 ? ? ? ? B9 ? ? ? ? 49 8D 7E 70

//Windows 11
UINT64 scan = (UINT64)(Utils::FindPatternImage(base, ("\x4C\x8D\x05\xCC\xCC\xCC\xCC\xB9\xCC\xCC\xCC\xCC\x49\x8D\x46\x70"), "xxx????x????xxxx")); // 4C 8D 05 ? ? ? ? B9 ? ? ? ? 49 8D 46 70


if (!scan)
      return STATUS_UNSUCCESSFUL;
scan = reinterpret_cast<UINT64>(RELATIVE_ADDRESS((UINT8*)scan, 7));

//Windows 10
//UINT64 listScan = (UINT64)(Utils::FindPatternImage(base, ("\x48\x8B\x35\xCC\xCC\xCC\xCC\x44\x0F\xB6\xF0"), "xxx????xxxx")); //48 8B 35 ? ? ? ? 44 0F B6 F0

//Windows 11
UINT64 listScan = (UINT64)(Utils::FindPatternImage(base, ("\x48\x8B\x3D\xCC\xCC\xCC\xCC\x44\x0F\xB6\xF8"), "xxx????xxxx")); //48 8B 3D ? ? ? ? 44 0F B6 F8

// mov   rsi, cs:?ndisMiniDriverList@@3PEAU_NDIS_M_DRIVER_BLOCK@@EA ; _NDIS_M_DRIVER_BLOCK * ndisMiniDriverList
if (!listScan)
      return STATUS_UNSUCCESSFUL;

bool found = false;
PNDIS_M_DRIVER_BLOCK block = *reinterpret_cast<PNDIS_M_DRIVER_BLOCK*>(RELATIVE_ADDRESS(listScan, 7));
for (PNDIS_M_DRIVER_BLOCK currentDriver = block; currentDriver; currentDriver = reinterpret_cast<PNDIS_M_DRIVER_BLOCK>(currentDriver->NextDriver))
{
      if (!currentDriver->DriverObject)
                continue;

      if (!currentDriver->DriverObject->MajorFunction)
                continue;

      *reinterpret_cast<UINT64*>(&currentDriver->DriverObject->MajorFunction) = scan;
      found = true;
}

return found ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL;说明:
这款内核模式驱动程序会挂钩到 ndis.sys(Windows 网络驱动程序接口规范)以阻止、移除或伪造你的 MAC 地址,防止应用程序、游戏和反作弊系统通过网络硬件标识符追踪你的设备。

通过修改所有已加载网络驱动程序的 IRP_MJ_DEVICE_CONTROL 处理程序,该驱动程序可确保任何尝试读取或检索 MAC 地址的请求都会被重定向或阻止,从而有效地从系统级查询中移除你的 MAC 地址。

[*]查找 ndis.sys 的基址 – 在内存中定位 Windows 的网络驱动程序模块。
[*]扫描 ndisDummyIrpHandler – 识别负责处理设备控制 IRP(I/O 请求数据包)的函数。
[*]定位 ndisMiniDriverList – 检索所有活动网络驱动程序的列表。
[*]挂钩每个网络驱动程序的 IRP_MJ_DEVICE_CONTROL – 将请求 MAC 地址数据的系统调用重定向到一个虚拟处理程序,确保不返回有效的 MAC 地址。

## 设置方法:

1、修改 nics.cpp
在 Visual Studio 中打开 nics.cpp。
取消注释与您的操作系统(Windows 10 或 Windows 11)对应的签名。
注释掉未使用的操作系统版本。

2、构建驱动程序
将配置设置为“Release | x64”。
构建解决方案以生成 .sys 驱动程序。

3、加载驱动程序
使用 KdMapper 或其他内核驱动程序加载器将驱动程序映射到内存中。
KdMapper 的示例命令:
kdmapper.exe mydriver.sys4、修改成功!
该驱动程序现在将阻止任何 MAC 地址查询到达网络堆栈。

检查您的 Mac 地址:
1以管理员身份打开 powershell:
2运行以下命令:
Windows 10:
wmic path Win32_NetworkAdapter where "PNPDeviceID like '%%PCI%%' AND NetConnectionStatus=2 AND AdapterTypeID='0'" get MacAddress=Windows 11:
Get-CimInstance Win32_NetworkAdapter | Where-Object { $_.PNPDeviceID -like '*PCI*' -and $_.NetConnectionStatus -eq 2 -and $_.AdapterTypeID -eq 0 } | Select-Object -ExpandProperty MacAddress
页: [1]
查看完整版本: MAC地址修改器 | Fortnite、使命召唤等游戏解码