数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 595|回复: 27

[other] 许老师STM32 100K电桥的固件注册码逆向分析结果,献给没有注册码的我们!

[复制链接]
发表于 2026-1-30 08:30:44 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
本帖最后由 suhetao 于 2026-1-30 08:44 编辑

最近想DIY一个电桥,重复造轮子没有任何意义,综合考虑后想着从开源方案入手,改良复刻一个成熟度比较高的低成本开源方案。无疑最早开源的许老师电桥资料比较多,热度比较高,但是查看windows画图搞的原理图后,DDS是通过PWM+RC低通滤波器模拟DAC实现,受限于PWM精度以及MCU性能7.8125khz就是极限,无法实现更高测量频率的需求。
随后发现立创开源上有个公开的许老师电桥STM32 100khz电桥设计,感谢作者nxpyhgp001的分享

https://oshwhub.com/nxpyhgp001/stm32lcd-biao

mcu升级成cortex-m3 stm32f103,同时利用ad9850 DDS芯片提高了测量频率,然而不幸的是软件代码并没有开源,只提供了一个名为GPIO.hex半成品的烧录固件,需要许老师提供注册码手动输入后才能使用。此举无疑限制了此版本的发展,也让硬件无法改动,可玩性几乎等于0。加上原始贴所在矿坛删库跑路,此版本电桥唯恐要成为绝唱。
工作之余稍微花了点时间逆向分析一下固件,先分析出相关的序列号以及注册码生成算法。后续会慢慢逆向或者重构实现一个完全适配此硬件的开源软件版本。这里省略逆向分析的过程。这并不是这个帖子讨论的重点,直接上结果。

1、序列号生成算法是通过读取stm32 96位的Unique device ID register获取唯一设备ID,拆分成3个32位的DWORD类型表示和进行以下计算。
  1. uint32_t *CPUID = 0x1FFFF7E8;
  2. int iSerialKey;
  3. double fSerialKey = fmod(CPUID[0] * 7.0 + CPUID[1] * 2.0 + CPUID[2] * 9.0, 973000.0);
  4. fSerialKey = fabs(fSerialKey);
  5. iSerialKey = (int)fSerialKey;
  6. if (iSerialKey < 100000)
  7.     iSerialKey += 100000;
复制代码

例如stm32的96位唯一的设备ID是(16进制)
48FF6F064986
575624371187
通过以上运算后得到的iSerialKey就是924670(10进制)
屏幕上会在设备id下面显示924670-V2,序列号就是924670

2、注册码的生成,通过生成的序列号进行以下运算
  1. double cos_val = cos(iSerialKey % 97);
  2. double sin_val = sin(iSerialKey % 8843);
  3. double fLicenseKey = fabs(cos_val * sin_val);
  4. int iLicenseKey = (int)(fLicenseKey * 60043.0 + 5233.0);
复制代码

例如屏幕上显示的是924670-V2,序列号iSerialKey就是924670
924670通过以上运算得到的注册码iLicenseKey就是21468,输入21468既可完成注册且把结果保存写入在mcu内部flash。

再次重申一下宇宙声明
1、所有讨论仅限个人学习与研究目的,以上是我个人研究学习的一些经验所得和知识分享。
2、请尊重ta人的劳动成果和知识产权,许老师既然没有选择把STM32 100Khz电桥的软件代码开源自然有他自己的考量,本人深表理解和尊重。
3、帖子中任何内容被认定会让许老师STM32 100KHZ电桥的软件版权受到侵犯,请立即联系论坛管理或者联系我本人第一时间删除此贴。

打赏

参与人数 5家元 +155 收起 理由
zx367 + 30 謝謝分享
leacom + 30 原創內容
vip2128 + 30
猪小呆 + 30
yjmwxwx + 35 謝謝分享

查看全部打赏

发表于 2026-1-30 11:18:02 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-1-30 11:29:09 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-1-30 11:31:11 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-1-30 11:35:24 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-1-30 12:25:00 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-1-30 14:18:12 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-1-30 14:36:50 | 显示全部楼层
游客请登录后查看回复内容

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2026-1-30 16:31:30 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-1-31 23:51:34 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-1-31 23:51:35 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-2-1 08:14:51 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-2-1 10:00:56 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-2-1 10:26:59 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-2-1 10:28:29 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-2-1 10:29:01 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-2-1 12:31:16 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-2-1 22:49:56 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2026-2-2 12:07:35 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-2-24 18:17 , Processed in 0.296400 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2026 MyDigit.Net

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