写了个超微主板 IPMI 的高级功能激活码生成工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
KasuganoSoras
V2EX    分享创造

写了个超微主板 IPMI 的高级功能激活码生成工具

  •  1
     
  •   KasuganoSoras
    kasuganosoras 2019-06-24 00:30:05 +08:00 8680 次点击
    这是一个创建于 2306 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一台超微 X10DRi 主板的服务器,因为包装不知道哪去了,随主板附赠的光盘也不见了。

    看到 IPMI 里面有一个 Activate License,是一个激活码一样的东西,输入之后就可以解锁一些高级的 IPMI 功能,比如在线更新 BIOS,RAID 管理之类的。

    如果你是购买的全新主板或者包装完整的,光盘里就有激活码,但是像我这样丢掉包装或者买二手的机器就没办法了。

    上咕鸽搜索了一下,看到一篇关于超微 IPMI 源码的文章,讲到了授权码的计算方式,步骤是这样的:

    1. 将 IPMI BMC MAC 地址作为 16 进制字串转为二进制
    2. 使用 HMAC + SHA1 散列算法计算出 Key
    3. 取前 24 位作为授权密钥

    于是我就用 PHP 照着它的算法写了个生成工具

    https://tql.ink/ipmi/?mac=<你的 BMC MAC>

    目前已经开源了: https://github.com/kasuganosoras/SuperMicro-IPMI-LicenseGenerator

    如果有用的话欢迎点个 Star 噢~

    27 条回复    2024-12-25 09:58:58 +08:00
    privil
        1
    privil  
       2019-06-24 00:52:57 +08:00
    感谢分享,厉害了
    whileFalse
        2
    whileFalse  
       2019-06-24 09:08:21 +08:00
    建议改成 html 版本,这样不需要服务器部署了。
    jamesliu
        3
    jamesliu  
       2019-06-24 11:28:27 +08:00
    感谢分享
    azh7138m
        4
    azh7138m  
       2019-06-24 11:39:34 +08:00
    getBin 和 hex2bin 有啥区别吗?想改成 js 但是这里算出来不一样......
    KasuganoSoras
        5
    KasuganoSoras  
    OP
       2019-06-24 13:53:52 +08:00
    @azh7138m #4 Js hex2bin 算出来好像是会转成 base64,所以在 HMAC SHA1 的时候就变了
    https://stackoverflow.com/questions/19884738/openssl-hmac-sha1-digest-does-not-match-cryptos
    azh7138m
        6
    azh7138m  
       2019-06-24 14:2246 +08:00
    写了一个,还是算出来不一样

    https://codesandbox.io/s/trusting-chebyshev-igk5q

    咋回事啊.webp
    KasuganoSoras
        7
    KasuganoSoras  
    OP
       2019-06-24 17:27:44 +08:00
    @azh7138m #6 我看着你这个 js 代码改了半个小时……试来试去还是一样……挠头
    azh7138m
        8
    azh7138m  
       2019-06-24 20:53:20 +08:00
    @KasuganoSoras hhhhh
    是啊,我寻思也没几行代码,加密前打印 php 的结果和 js 做对比看着都一样,咋算出来就不一样了呢
    KasuganoSoras
        9
    KasuganoSoras  
    OP
       2019-06-25 00:16:12 +08:00
    @azh7138m #8 也许是 Js 的 Hmac SHA1 算法实现方式和 PHP 不一样?
    一个一个试了一下,觉得问题应该就出在加密这一块了,也许是编码问题导致的也说不定
    KasuganoSoras
        10
    KasuganoSoras  
    OP
       2019-06-25 02:23:18 +08:00   2
    msg7086
        11
    msg7086  
       2019-06-25 05:32:20 +08:00
    之前都是用命令行生成的,反正也挺方便 = =
    azh7138m
        12
    azh7138m  
       2019-06-25 10:48:50 +08:00
    @KasuganoSoras 唉唉唉,这是换了 hash 库?
    KasuganoSoras
        13
    KasuganoSoras  
    OP
       2019-06-25 12:21:25 +08:00
    @azh7138m #12 对……换了一个 hash 库不知道为啥就行了
    后面又把 Go,Python,Java 版本造了出来,现在想想还有什么语言可以写的……日常不务正业 hhhh
    azh7138m
        14
    azh7138m  
       2019-06-25 14:33:27 +08:00
    想把依赖去掉,算出来又不对了
    https://codesandbox.io/s/kind-lehmann-ks0zr
    我怀疑我看了假的文档
    wxlg1117
        15
    wxlg1117  
       2019-06-25 14:35:58 +08:00
    @KasuganoSoras ,来个 c 啊 c++或者 c#的带图形界面的 exe
    KasuganoSoras
        16
    KasuganoSoras  
    OP
       2019-06-25 14:52:38 +08:00
    @azh7138m #14 做成单文件版了…… https://codesandbox.io/s/weathered-cherry-gmwqf?fOntsize=14

    @wxlg1117 #15 不会写 C hhhhh
    azh7138m
        17
    azh7138m  
       2019-06-25 14:55:16 +08:00
    baoziking
        18
    baoziking  
       2020-04-05 08:49:07 +08:00
    我跟你说,我必须给你点个赞,为啥呢,因为我第一反应买一个授权,一看 30 美金,买吧,然后发现 TM 还必须要美国卡,逗我呢。然后我就搜索了一下,然后我用使用了一下。然后就美了。良心产品。
    KasuganoSoras
        19
    KasuganoSoras  
    OP
       2020-04-05 08:53:01 +08:00
    @baoziking #18 哈哈。。很高兴这个工具能帮到你
    linxijun
        20
    linxijun  
       2020-08-23 22:38:15 +08:00
    太感谢楼主了,我海淘的超微 e300-9d-4cn8tp 终于激活了,美国佬发邮件给他始终不回,谷歌到楼主的网页在复制粘贴 bmc 的 mac 到楼主写的网页上,算出来的激活码输入到我的 ipmi 上,就激活了,完美,太感谢楼主了
    https://s1.ax1x.com/2020/08/16/dEbd3V.md.jpg
    https://s1.ax1x.com/2020/08/16/dEbtNn.md.jpg
    https://s1.ax1x.com/2020/07/21/UIDRwq.md.jpg
    KasuganoSoras
        21
    KasuganoSoras  
    OP
       2020-08-24 00:01:56 +08:00
    @linxijun #20 感谢支持~另外这个单路的主板还是挺少见的,想问问支持什么系列的 CPU ?想买一个回来当 NAS 用
    linxijun
        22
    linxijun  
       2020-08-25 00:20:52 +08:00
    @KasuganoSoras 用的志强的 d-2123it,现在价格起步价都要 7800 。。。我这台是捡漏捡的。。。
    linxijun
        23
    linxijun  
       2020-08-25 00:21:23 +08:00
    @KasuganoSoras 而且是准系统,不带内存硬盘
    heqirong
        24
    heqirong  
       2021-09-20 12:32:46 +08:00
    感谢,激活成功,不过 x11sch 似乎只多了 bios 更新功能
    wjl1019547485
        25
    wjl1019547485  
       2022-10-30 22:24:23 +08:00
    h12ssl-i 好像更新了,不能通通过这个方式了
    gvdlmjwje
        26
    gvdlmjwje  
       2023-10-13 23:01:41 +08:00
    @KasuganoSoras g 感谢老哥
    iceking112
        27
    iceking112  
       295 天前
    @KasuganoSoras 感谢老哥的分享
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5895 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 02:19 PVG 10:19 LAX 19:19 JFK 22:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86