手上有一个斐讯K2P路由器,刷机前我想把原机带的固件备份出来。搜到恩山A大开启telnet、固件备份的教程,里面提到了配置文件破解的方法,心血来潮试了一下,发现算出的密码不能解密,一直报"bad decrypt"。在确认不是openssl版本的问题后,只能硬着头皮去爬encryconfig的汇编代码。

发现是CRC32计算这一步存在差异,encryconfig比IEEE 802.3标准少了最后一步按位取反。感兴趣的朋友可以看看我另一篇关于CRC32算法的笔记。

最后贴一段我写的计算密码的程序:

 import binascii
import unittest def getcode(macstr):
code = ''
ss = macstr.split(':')
for s in ss:
a, b = s
code += '%d' % ((ord(a) + ord(b)) % 9)
return code def crc32(s):
crc = binascii.crc32(s.encode())
return '%08X' % (~crc & 0xffffffff) def getkey(macstr):
s = 'PHICOMMK2' + macstr + getcode(macstr)
return crc32(s) class TestMethods(unittest.TestCase):
def test_getcode(self):
self.assertEqual(getcode('CC:81:DA:8B:3A:20'), '')
self.assertEqual(getcode('CC:81:DA:A6:5C:02'), '') def test_getkey(self):
self.assertEqual(getkey('CC:81:DA:11:22:33'), '376BBAA8') if __name__ == '__main__':
unittest.main()

提供2个我之前下载的配置文件给大家做测试(不要轻易导入以防变砖):

斐讯K2P配置文件破解笔记的更多相关文章

  1. 斐讯k2p 月光银 硬件版本A2-软件版本22.7.8.5 刷官改系统

    Mark https://huabuyu.net/斐讯k2p%20月光银%20硬件版本A2-软件版本22.7.8.5%20刷官改系统.html 详细资源推荐:恩山论坛 https://www.righ ...

  2. 斐讯K2P通过配置文件开启telnet的原理分析

    看过几篇教程之后我已经知道怎么备份固件了.但是现在有一个问题,我的本意是把K2P原机带的固件备份出来,用教程上的方法进行开启telnet.备份固件等操作是否会改变固件呢?下面我们来验证这个问题. Op ...

  3. 斐讯K2 V22.X.X.X 新版固件 刷机教程 (开telnet,安装SSH,adbyby,刷breed,华硕Padavan)

    源:http://www.right.com.cn/forum/thread-191833-1-1.html 属于我的上一个帖子的升级版,基本属于无脑操作,点击恢复就可以自动刷好breed,浏览上传新 ...

  4. 斐讯N1折腾记

    斐讯N1折腾记:运行 Linux 及优化  2018-06-23  37条评论  4,445次阅读  11人点赞 最后更新时间:2019年03月10日 咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了 ...

  5. 斐讯自动下单抢购V1.3.4【自动验证码识别】

    20180530 更新 V1.3.41.增加有货下单:替代定时下单 20180519 更新 V1.3.31.增加订单满减优惠:支付宝每单立减5元2.修改商城域名及下单速度 功能介绍1.斐讯商城抢购专用 ...

  6. [无线路由] “免费”斐讯K2路由器刷OpenWRT(实战MWAN多宽带网速叠加)

    (阿财首发于什么值得买)斐讯K2可以算是一个非常另类的跨界数码产品,其产品完全的醉翁之意不在酒.最多值99元的 MT7260硬件架构和用料,售价399元,金额激活K码后自动转入合作理财P2P平台,等待 ...

  7. 斐讯Fir302b救砖教程

    首先本人是路由器小白,不算是硬件改装高手,昨天收到了微信活动中的斐讯Fir302b,大概当时得奖的有300人,所以最近肯定很大一批朋友手里有这样的一款路由. 上网查了一下,此款路由可以刷基于tomat ...

  8. 斐讯 FIR151M 频繁掉线(OpenWRT解决方案)

    0. 现象与前言 在使用斐讯 FIR151M 路由器连接网络时,传输数据时频繁掉线. 官方固件刷了两个版本,问题未解决. 建议高级用户看本教程,要做好不能使用 Web 管理界面的心理准备. 1. 准备 ...

  9. 斐讯K2 22.5.9固件刷华硕固件实测教程

    斐讯K2最新的固件是V22.5.9.163这个版本是锁死了,不能刷机的,而且不能降级到原来的可以刷机的老版本固件,也就不能刷第三方固件了,怎么破呢?下面就教大家怎么降级刷机到V22.4.2.8固件.  ...

随机推荐

  1. winfrom在图片上实现绘制

    在控件加载入图片的基础上进行绘制内容 添加文字 首先就是要确定输入的文字,还有文字的样式. 文字的样式用到了FontDialog控件,获取文字呢,就放个textbox就可以了.如果在输入文字的显示展示 ...

  2. Qt Signal and Slot

    Qt4中的信号槽 Qt4中的信号槽是通过SIGNAL,SLOT两个宏,将参数转换成字符串.Qt编译前,会从源码的头文件中提取由signal和slot声明的信号和槽的函数, 将其组成一张信号和槽对应的字 ...

  3. DEPENDS工具和DUMPBIN工具使用

    在系统部署运行时我们经常发现某个程序在开发机器中可以运行,但是部署在某台PC上缺不能运行,也存在在某些机器上可运行换一台机器却不能运行.主要表现出两种现象:        (1).运行.调试时出现程序 ...

  4. [C++] Lvalue and Rvalue Reference

    Lvalue and Rvalue Reference int a = 10;// a is in stack int& ra = a; // 左值引用 int* && pa ...

  5. Fix “Could Not Find This Item” When Deleting in Windows 7

    If you’ve been using Windows for as long as I have, you have probably run into your share of weird e ...

  6. 原型工具Axure vs Mockplus ——表格对比 , 你选谁?

    现如今原型设计能力是越来越多的UI/UX.产品经理.提案者和互联网创业者必不可少的技能之一,所以在这里着重向大家介绍这两款非常棒的原型设计工具在表格功能上到底有哪些不同. Axure大家比较熟悉,Mo ...

  7. mybatis 插入实体与数据库中的字段不一致的解决方案

    1.建立一个实体类 public class Student { private Integer id; private String name; private Double salary; pub ...

  8. 编写高质量代码改善C#程序的157个建议——建议76: 警惕线程的优先级

    建议76: 警惕线程的优先级 线程在C#中有5个优先级:Highest.AboveNormal.Normal.BelowNormal和Lowest.讲到线程的优先级,就会涉及线程的调度.Windows ...

  9. Linux-Linux基础入门

    第一节 Linux系统简介 初步了解了什么是Linux系统,有何优势.与Windows系统有何不同,并了解Linux学习方法. 第二节 基本概念及概念 1.完成实验楼入门基础课程,共两个实验:(1)& ...

  10. javascript 如何创建只能执行一次的事件。

    document.getElementById("myelement").addEventListener("click", handler);   // ha ...