我使用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*>(¤tDriver->DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]) = 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.sys
复制代码 4、修改成功!
该驱动程序现在将阻止任何 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. 本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与本站无关。
2. 本站的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3. 本站提供的一切软件、教程和内容信息等仅限用于学习和研究目的,不得用于商业或者游戏以及其它非法用途,否则,一切后果请用户自负。
4. 本站资源均来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容,如果您喜欢该程序和内容,请支持正版。
5. 本站本着互联网分享学习精神,本站大部分内容转载于其他网站和媒体,如内容涉及版权等问题,请联系本站进行删除或修改处理,敬请谅解!
6. 如有侵犯您版权的内容,请邮件与我们取得联系删除(E-mail:admin@12gamebbs.cc)本站将及时改正。
|