找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 14703|回复: 11

小米路由器 SSH 密码计算器

[复制链接]
本帖最后由 xiaooloong 于 2016-7-23 15:01 编辑

写了个 php 命令行版的,用自己的 mini 版(R1CM)测试了一下,和官方给出的 SSH 密码一样。
解包了三代(R3),二代(R2D),青春版(R1CL)的 mkxqimage ,盐和 mini 版一样,可以使用。
解包了垃圾桶(R1D)的,发现盐是 'A2E371B0-B34B-48A5-8C40-A7133F3B5D88',且 hash 时不反转

  1. #!/usr/bin/env php
  2. <?php
  3. //路由器固件解包后,从 /bin/mkxqimage 中提取的盐
  4. $salt = array(
  5.     'r1d' => 'A2E371B0-B34B-48A5-8C40-A7133F3B5D88',
  6.     'others' => 'd44fb0960aa0-a5e6-4a30-250f-6d2df50a'
  7. );

  8. isset($argv[1]) or die('Usage: ' . $argv[0] . " SN\n");
  9. print_line(get_passwd($argv[1]));

  10. function print_line($message) {
  11.     echo $message . "\n";
  12. }

  13. //密码算法:
  14. //原始 SN 拼接反转后的盐,做 md5 运算取前 8 个字符
  15. function get_passwd($sn) {
  16.     return substr(md5($sn . get_salt($sn)), 0, 8);
  17. }

  18. // SN 中不含 '/' 则为 r1d
  19. function get_salt($sn) {
  20.     global $salt;
  21.     if (false === strpos($sn, '/')) {
  22.         return $salt['r1d'];
  23.     } else {
  24.         return swap_salt($salt['others']);
  25.     }
  26. }

  27. //非 R1D 盐要反转后才能使用
  28. function swap_salt($salt) {
  29.     return implode('-', array_reverse(explode('-', $salt)));
  30. }
复制代码


使用方法:
保存为 a.php
在命令行界面运行:

  1. [xiaooloong@localhost ~]# php a.php 0000/00000000 #输入完整的 sn (带有 /)
  2. 6e9ea860 #即可获取 ssh 密码
复制代码


centos 可以用
  1. yum install -y php-cli
复制代码

安装 php 命令行环境


评分

参与人数 1恩山币 +1 收起 理由
如*** + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| | 显示全部楼层
本帖最后由 xiaooloong 于 2016-7-14 16:59 编辑

顺便借问一下,有没有知道
d44fb0960aa0-a5e6-4a30-250f-6d2df50a
是怎么变成算密码用的盐的?


老眼昏花,就是把 - 分隔的翻转一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

试了一下和程序算出的一样:
<?php
$sn = 'xxx';
echo substr(md5($sn . '6d2df50a-250f-4a30-a5e6-d44fb0960aa0'), 0, 8);



R1D的salt是 "A2E371B0-B34B-48A5-8C40-A7133F3B5D88"

剩下的机型全部是 "6d2df50a-250f-4a30-a5e6-d44fb0960aa0"

登陆官方系统后运行 "mkxqimage -I" 就会显示SN对应的root密码,

不过光算出密码是登陆不了的,还得把nvram参数ssh_en设置为1才能启动dropbear,

还有论坛里这个帖子https://www.right.com.cn/FORUM/thread-160082-1-1.html,方法全是错误的,ssh_rom.bin文件根本就不通用,SN不一样是过不了验证执行不了脚本的,不知道怎么就被版主稀里糊涂高亮加精了。


R1D:
<?php
$sn = 'xxx';
echo substr(md5($sn . 'A2E371B0-B34B-48A5-8C40-A7133F3B5D88'), 0, 8);



这里有个在线算R1D的 http://www.iptvfans.cn/miwifi/passwd/


点评

现在还没拿到 R1D,请教一下,一代的盐不用反转么?  详情 回复 发表于 2016-7-14 19:17
我就说 iptvfan 上的盐不对,原来是算 R1D 的  详情 回复 发表于 2016-7-14 18:30
我就说这个地址怎么算出来不对,原来是算 R1D  详情 回复 发表于 2016-7-14 18:29
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
tianbaoha 发表于 2016-7-14 17:51
试了一下和程序算出的一样:

我就说这个地址怎么算出来不对,原来是算 R1D
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
tianbaoha 发表于 2016-7-14 17:51
试了一下和程序算出的一样:

我就说 iptvfan 上的盐不对,原来是算 R1D 的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
tianbaoha 发表于 2016-7-14 17:51
试了一下和程序算出的一样:

现在还没拿到 R1D,请教一下,一代的盐不用反转么?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

学习了,顶起!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

有没有帮忙算的,我不会弄这个
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

kozhai 发表于 2022-4-14 22:46
有没有帮忙算的,我不会弄这个

把sn码复制到这个网站里面就行了,如果这还不会就别考虑刷机了。
[url=https://www.oxygen7.cn/miwifi/]https://www.oxygen7.cn/miwifi/[/url]
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

获取了登陆密码,那怎么开启连接ssh啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感谢大佬分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 dsanke 于 2023-8-22 17:16 编辑

感谢分享,很有用,整了个python3的:
  1. from hashlib import md5
  2. from sys import argv

  3. salt_r1d = r'A2E371B0-B34B-48A5-8C40-A7133F3B5D88'
  4. salt_others = r'6d2df50a-250f-4a30-a5e6-d44fb0960aa0'

  5. if len(argv) == 2:
  6.     if r'/' not in argv[1]:
  7.         salt = salt_r1d
  8.     else:
  9.         salt = salt_others
  10.     print(md5((argv[1]+salt).encode('utf-8')).hexdigest()[:8])
复制代码
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-27 05:21

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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