阅读:3134回复:11
能改写网卡的MAC地址吗?
一个软件加密后,非要认原先的网卡,可惜坏了,不过MAC地址记在本子上了。
|
|
沙发#
发布于:2003-08-30 09:30
可以编程修改mac地址。
你找找资料 |
|
板凳#
发布于:2003-09-12 19:57
楼上的问答是错误的,你编程修改的只是注册表的MAC,真正的物理地址很难修改
|
|
|
地板#
发布于:2003-09-13 09:12
试试这个:打开网卡的属性,选择高级选项卡,左边的列表框里有个Network Address,默认是不存在,你自己去填个值试试,不一定有用。
|
|
|
地下室#
发布于:2003-09-13 10:31
如果需要可找我,现成的软件
|
|
5楼#
发布于:2003-09-14 16:52
请看次贴:
http://www.driverdevelop.com/forum/viewthread.php?tid=6070 |
|
|
6楼#
发布于:2003-09-15 12:55
如果是我,那么我就会做一个Hook miniport的驱动,拦截MiniportQueryInformation,当系统查询MAC地址的时候,想返回什么就返回什么。
|
|
7楼#
发布于:2003-09-19 09:56
一个软件加密后,非要认原先的网卡,可惜坏了,不过MAC地址记在本子上了。 1.自己写一个虚拟的网卡驱动,想返回什么MAC地址就什么地址 2.买一个3Com网卡,那个网卡可以直接在网络设置里修改MAC地址 3.用中间层,呵呵 |
|
8楼#
发布于:2003-09-21 20:46
从哪里可以找到版主的《漫谈网卡地址》?
|
|
9楼#
发布于:2003-12-27 15:06
有一个软件叫SMAC,到google上一查就有了,专门改mac的。而且从新启动后不会变回来。
加分,加分 |
|
|
10楼#
发布于:2003-12-27 23:22
改MAC有太多的方法了。很简单的。
|
|
|
11楼#
发布于:2003-12-30 08:50
修改驱动程序就可以了,网卡有永久地址和当前地质,而永久地质可通过修改miniport 驱动完成。
2 MAC address type: OID_802_3_PERMANENT_ADDRESS OID_802_3_CURRENT_ADDRESS modify registry can change : OID_802_3_CURRENT_ADDRESS but OID_802_3_PERMANENT_ADDRESS, you must modify driver Use following APIs, you can get PERMANENT_ADDRESS. CreateFile: opened the driver DeviceIoControl: send query to driver Use softice to track where the OID_802_3_PERMANENT_ADDRESS is processed: Find the location: ................. :0001ACB6 8D B3 EA 00 00 00 lea esi, dword ptr [ebx+000000EA] :0001ACBC 8D7DDC lea edi, dword ptr [ebp-24] :0001ACBF A5 movsd //CYM: move out the mac address :0001ACC0 66A5 movsw :0001ACC2 C745F406000000 mov [ebp-0C], 00000006 :0001ACC9 8D75DC lea esi, dword ptr [ebp-24] :0001ACCC E926070000 jmp 0001B3F7 ............ change to: :0001ACB6 8D75DC lea esi, dword ptr [ebp-24] :0001ACB9 C70600002003 mov dword ptr [esi], 03200000 //CYM :0001ACBF 66C746041224 mov [esi+04], 2412 :0001ACC5 C745F406000000 mov [ebp-0C], 00000006 :0001ACCC E926070000 jmp 0001B3F7 ..... disassemble driver .sys file, find NdisReadNetworkAddress ...... :000109B9 50 push eax * Reference To: NDIS.NdisReadNetworkAddress, Ord:00EAh | :000109BA FF1538040100 Call dword ptr [00010438] :000109C0 837DF400 cmp dword ptr [ebp-0C], 00000000 :000109C4 7516 jne 000109DC //is set mac addr in registry, use it. others jump :000109C6 8B45E8 mov eax, dword ptr [ebp-18] :000109C9 8B08 mov ecx, dword ptr [eax] :000109CB 898EE4000000 mov dword ptr [esi+000000E4], ecx :000109D1 668B4004 mov ax, word ptr [eax+04] :000109D5 668986E8000000 mov word ptr [esi+000000E8], ax ...... set w memory breal point at esi+000000e4, find location: ...... :000124D6 8A83E5000000 mov al, byte ptr [ebx+000000E5] // mac addr 2nd byte :000124DC 0A83E6000000 or al, byte ptr [ebx+000000E6] // mac addr 3rd byte :000124E2 0A83E7000000 or al, byte ptr [ebx+000000E7] ... :000124E8 0A83E8000000 or al, byte ptr [ebx+000000E8] :000124EE 0A83E9000000 or al, byte ptr [ebx+000000E9] // mac addr 6th byte :000124F4 0A07 or al, byte ptr [edi] // :000124F6 7503 jne 000124FB // :000124F8 A5 movsd // :000124F9 66A5 movsw // if no station addr use permanent address as mac addr ..... change to :000124D6 C683E500000000 mov byte ptr [ebx+000000E5], 00 //CYM :000124DD C683E600000020 mov byte ptr [ebx+000000E6], 20 :000124E4 C683E700000003 mov byte ptr [ebx+000000E7], 03 :000124EB C683E800000012 mov byte ptr [ebx+000000E8], 12 :000124F2 C683E900000024 mov byte ptr [ebx+000000E9], 24 :000124F9 90 nop :000124FA 90 nop It seems that the driver can work now. Testing: disable nic, enable nic. jump 0xc0000221 error, checksum error Before windows load .sys file, it will check the checksum The checksum can be get by CheckSumMappedFile. Build a small tools to reset the checksum in .sys file. Test again, OK. |
|
|