找回密码
 立即注册
查看: 8443|回复: 29

[原创] 猫盘刷X3P,完美恢复原机MAC和SN的方法,附上代码分析。

[复制链接]

2

主题

3

回帖

136

积分

初级渣柚V2

积分
136
发表于 2019-10-6 13:00:33 | 显示全部楼层 |阅读模式
本帖最后由 IamManho 于 2019-10-6 16:38 编辑 " D6 L" j  l* ^- y
2 W/ `: r8 b6 K0 S% y  k; ?9 ~
本方案仅针对 原版猫盘使用USB直刷X3P 有效。如使用一键刷机1.0和TTL等刷机方案不需要尝试,因为原机MAC和SN已经被覆盖。而一键刷机2.0,修改成对应的MAC也有效。
5 Z' m* i' ], A$ @/ ^# ^0 F
2 ?+ I. l8 i2 ]9 I/ d5 I+ a1、登陆SSH。9 U3 a0 M- C& g0 k
2、输入命令行。, ^9 F6 q- F0 _0 C. P
2.1、输入”mount -o remount,rw /# R9 h( g: ?/ J
2.2、输入”vi /etc/init.d/S21wire“最下面找到如图修改后保存。        这个步骤需要注意,我的方案是完美恢复原机MAC。9 e, ?2 Q3 a3 z! D- K& l& r
        也就是原机主板MAC和后盖的MAC是一致的,而不是其他教程修改成其他非原机MAC。
2 _% L( h# h: A0 q( @, e        修改MAC为原机前三段(猫盘后盖就是你的原机MAC,通常都是4C:65:A8),不是修改后三段。
* |0 t% a. J* }/ b, ? 未标题-1.jpg
5 U( L% k: K/ {2.3、输入”reboot“重启。/ [7 i/ H2 q0 @" A2 [: F9 d0 k
8 I7 T8 K0 u: c( G. G- |% k

' k; Z; J4 j! X% q& C9 R
+ J& \4 a) F; p0 B1 O顺便给大家科普一下这段代码的意思,与教程无关。setWireMacaddr()
; M- J- v: }. t: T& x! i% ?{
3 \  G' q8 p/ q# i: f9 D* h8 I) E        local face=$1- k$ Z5 g$ A( b! Z
        MacAddr=`/opt/bin/mac_tool read $2`   //读取主板的MAC,例如原装主板MAC为 4C:65:A8:AA:BB:CC
7 C1 p0 l" ]: M5 f( [        #if [ "ff:ff:ff:ff:ff:ff" != "$MacAddr" ] ; then
" w0 T( a. k+ m: r# v  W        #        ifconfig ${face} hw ether $MacAddr0 g8 n. @( }8 n( s5 ~7 `
        #fi/ z! H( i4 H1 y2 U& h4 k) _

1 M2 [) E3 j6 q. L7 n0 y$ ~! ~- J        MAC_ADDR_PRO="78:C2:C0"  //预设字符串 78:C2:C0
) n; E/ K5 A' g4 g( f; L! j        MAC_ADDR_ERR="E0:E0:E0"1 z( _3 Z1 t, P. l3 p& B
        PRO_TMP=${MacAddr:0:8}  //截取主板的MAC前八位字符4C:65:A8
: c; ?( [% Z7 g( [" n        pool=(A B C D E F 1 2 3 4 5 6 7 8 9 0)
  S7 I* o% T: Z( U# U        num=${#pool}
1 \6 S$ F1 Y; H( j8 e        ADDERR="${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}":"${pool[$((RANDOM%num))]}""${pool[$((RANDOM%num))]}"$ _5 A7 ^4 l) R; ?, P

- R$ {3 h) \' V" l8 _( I        eth_part=$(echo $PRO_TMP | tr   [a-z]   [A-Z])" v9 s* Z5 \8 A) c1 B
        pro_tmp=$(echo  $MAC_ADDR_PRO   |   tr   [a-z]   [A-Z])9 z( M. n$ W$ J7 p' Q% i* ?: T# H
        if [ X"$eth_part" = X"$pro_tmp" ];then  //判断MAC——主板八位MAC(4C:65:A8)与预设字符串(78:C2:C0)
/ R3 i- Z$ R" x2 P( K& B                ifconfig ${face} hw ether $MacAddr  //如果MAC前八位一致,则使用主板MAC 3 G& c* P9 [8 q& q! m1 Z
        else
7 ~8 V- `8 C( [, A                ifconfig ${face} hw ether "$MAC_ADDR_ERR":"$ADDERR"  //不一致,则使用 (E0:E0:E0)+(随机生成的后八位组合),这一句就是为什么每次重启MAC都不一样的原因。
, d# S/ |: A, o3 q$ |9 M        fi
. R  c6 k! V8 i}; Z( l+ A8 _! _6 U( n
8 D" J8 B6 B! I/ F" I+ P
通过分析代码可以得出,如果你的猫盘是原装未经过TTL或者一键刷机,那么主板内置的MAC和SN和你后盖是一致的。
* g2 n9 p4 e; [' F0 n: s0 \那么只需要修改预设字符串为主板前三段即可,不需要像其他教程那样乱改。0 w+ x, Z, ~) g& V& \7 K6 T, O
如果你是已经过TTL或一键刷机,原机MAC有可能已经被覆盖,如何在分区内恢复原机SN和MAC,看心情开贴。& H% t1 I; t& x3 G% n" I! r

评分

参与人数 2渣金 +5 经验值 +30 收起 理由
zystbbs + 5 + 5 很给力!
xxx + 25

查看全部评分

5

主题

86

回帖

528

积分

中级渣柚V2

积分
528
发表于 2019-10-6 13:54:22 | 显示全部楼层
确定不是改后三段?保留前三段?
# d5 z! O6 f3 K6 z: \/ R8 y7 ^+ y我看到的都是改的后三段啊$ q6 O# R( x2 H- k7 F
自己的机器也是这样改后三段的

0

主题

31

回帖

271

积分

中级渣柚V1

积分
271
发表于 2019-10-6 15:31:06 | 显示全部楼层
改前六位还是后六位?不解!

11

主题

216

回帖

5738

积分

管理员

积分
5738
发表于 2019-10-6 15:42:21 来自手机 | 显示全部楼层
本帖最后由 no2key 于 2019-10-6 19:16 编辑 ! k' e# k; c7 w- R, n4 o

9 ~0 m5 m9 A9 s+ V% k5 e6 ]看得不够仔细,理解错了。抱歉。编辑下文字。

2

主题

3

回帖

136

积分

初级渣柚V2

积分
136
 楼主| 发表于 2019-10-6 15:54:14 | 显示全部楼层
no2key 发表于 2019-10-6 15:42. Z) `' i7 `: E( s
楼主的教程是错的,不要误人子弟。不能这样改掉固定的开头,会导致随机MAC,从而每次重启或开机分配不同的I ...
* D! u3 [: N  a$ g: B
看清楚,我的教程是让X3P恢复原机MAC,不是其他教程修改成其他MAC。
, h$ N! Y4 s4 F+ m所谓原机MAC就是你的猫盘MAC和你猫盘后盖的MAC一致。

2

主题

3

回帖

136

积分

初级渣柚V2

积分
136
 楼主| 发表于 2019-10-6 16:02:36 | 显示全部楼层
fqxxqwy 发表于 2019-10-6 13:54
2 J! M  w6 ?4 K确定不是改后三段?保留前三段?7 h  U6 J- f, n" T2 g
我看到的都是改的后三段啊6 Q5 Z, F8 g6 Z) ^& [
自己的机器也是这样改后三段的 ...
& J6 L  B6 k& K
你这种方法只是固定了MAC,而不是原机MAC。

11

主题

216

回帖

5738

积分

管理员

积分
5738
发表于 2019-10-6 19:10:54 来自手机 | 显示全部楼层
IamManho 发表于 2019-10-6 15:54
% k; V; g( c' D/ p4 Q/ }看清楚,我的教程是让X3P恢复原机MAC,不是其他教程修改成其他MAC。  }; k/ d% i2 Q9 v9 r
所谓原机MAC就是你的猫盘MAC和你猫盘 ...

( R# \6 ?6 Z# ]噢,对不住了。刚才误会了。

7

主题

238

回帖

840

积分

中级渣柚V2

积分
840
发表于 2019-10-6 20:01:31 | 显示全部楼层
IamManho 发表于 2019-10-6 15:546 |7 H: j6 j0 R; e% m8 b# j  _
看清楚,我的教程是让X3P恢复原机MAC,不是其他教程修改成其他MAC。/ j) u' u( v' L
所谓原机MAC就是你的猫盘MAC和你猫盘 ...

* |+ J/ R/ t* a你这个思路不错。过去是改mac的前六位跟x3p系统一直,你这是反过来该x3p的验证为猫盘的前六位。
4 c6 J6 O! N& ^! {不错。

11

主题

216

回帖

5738

积分

管理员

积分
5738
发表于 2019-10-6 20:07:31 | 显示全部楼层
不知道 x3p 有没除了这个脚本之外,其他地方做序列号或者Mac验证的。没心思去查。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2025-2-23 20:30 , Processed in 0.069437 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表