数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3157|回复: 55

[STM] STM32去掉孔雀石1.10d固件唯一ID软件保护的过程

[复制链接]
发表于 2024-5-11 15:04:16 | 显示全部楼层 |阅读模式
本帖最后由 yjmwxwx 于 2024-5-11 15:25 编辑

最近搞视频没素材拍,正好有个网友给我个固件,因为我以前改过以前版本的,正好试试拿来当素材,只是我技术不行,也没硬件不能保证我分析的正确和是简单的方法。

修改后孔雀石1.10d版本的BIN文件,我没硬件没法验证,只是分享下过程,不保证能用变砖头别怪我。



修改过程视频
https://www.bilibili.com/video/BV1Nm421p744/?spm_id_from=333.999.0.0





这个固件采用STM32唯一ID防止被人抄袭,ID号经过加密后生成64位数密码,再把64位密码储存到FLASH,程序还有密码表和FLASH完整性校验,因为以前分析时候已经知道他密码表的内容,直接搜索BIN文件还容易就找到了密码表。

刷固件后,本机ID生成的密码和密码表里面进行比较,密码表里面没有就限制功能。

IDA PRO怎么打开固件的网上很多教程,这里就不再重复了。



因为以前知道了密码表里的,这次直接在新固件BIN文件里面搜索就可以了,通过搜索知道了密码表在新固件的0x803b1d0,于是直接搜索这个地址,就找到了密码表比较程序

程序入口R2是密码表地址,R0和R1是本机64位密码



比较程序,R6=0x3ca8是密码表长度,因为密码是64位所以有1881个注册用户,密码表里没本机号把0x58写到R7地址+0X818的地址,有本机号写0XFA到这个地址,可以把密码表里注册用户替换成非注册用户的密码,也可以通过把R6=0X3CA8改大来增加密码表长度,把非注册用户密码添加到后面空白地址,还可以直接把0XFA写到那个地址。



密码表还有完整性校验程序,校验长度0X3CB0



ldr r3, = 0x3c2efb46是校验正确结果,直接把下面STR R0, [r4, # 8]里面的R0改成R3来绕开。

还有几个死循环不知道是干什么的,因为没硬件没法验证,直接把B命令替换成MOV R0, R0,因为这条命令下面就是正确跳转结果,只要让这条指令失去作用就行了。







通过看反汇编看到代码最后还有数据这个不正常,于是发现有全FLASH完整性校验,校验范围从0X8000000开始到0X8100000







还有个校验程序,从大概0x800dd88开始到0X80DFFFF



需要修改的地方,因为我没硬件验证所以看到可疑的就改。 用编译器直接生成机器码,我技术不行不会别的方法。        地址@df04  从str r0, [r4, # 8] 改成 str r3, [r4, # 8]

  1. @df04
  2.         str r0, [r4, # 8]
  3.         str r3, [r4, # 8]

  4.         
  5.         @df84
  6. aa:
  7.         b aa
  8.         mov r0, r0

  9.         
  10.         @e6b0
  11. bb:
  12.         b bb
  13.         mov r0, r0

  14.         
  15.         @dffa
  16.         str r4, [r7, # 0x818]
  17.         str r2, [r7, # 0x818]
  18.         
  19.         @de86
  20.         str r0, [r3]
  21.         str r2, [r3]
  22.         
  23.         @ddac
  24.         str r0, [r4]
  25.         ldr r3, [r3]
  26.         
  27.         @ddae
  28.         ldr r3, [r3]
  29.         str r3, [r4]

  30.         @dec6
  31.         str r0, [r3, # 4]
  32.         str r2, [r3, # 4]

  33.         @de16
  34.         ldr r0, [r3, # 8]
  35.         str r2, [r3, # 8]
  36.         
  37.         @de18
  38.         cmp r0, r2
  39.         cmp r2, r2
复制代码




从固件剪出密码表的方法,直接用dd命令



剪出的密码表  








本帖子中包含更多资源

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

x

打赏

参与人数 3家元 +114 收起 理由
hylg + 66 老母牛不下崽----NB坏了
闻太师 + 30 锄头哥牛X
nokia5320 + 18

查看全部打赏

 楼主| 发表于 2024-5-11 17:00:36 | 显示全部楼层
本帖最后由 yjmwxwx 于 2024-5-11 17:02 编辑
猪小呆 发表于 2024-5-11 16:34
楼主可以分析一下许老师100k电桥的序列号算法吗:
https://oshwhub.com/nxpyhgp001/stm32lcd-biao ...

可以倒是可以,只是没什么动力,不如直接破解简单,许老师搞的ID保护比较简单没完整性校验什么的,记得很多年前改过,一个固件是直接绕过,另一个是把提示码改成密码。 我没许老师电桥的硬件哦,所以没法验证,变砖不要怪我。


本帖子中包含更多资源

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

x

打赏

参与人数 1家元 +20 收起 理由
猪小呆 + 20 謝謝分享

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 16:00:19 | 显示全部楼层
wangxiangtan2 发表于 2024-5-11 15:46
这是个高手,搞逆向都可以

我搞这个就是入门级别技术,只是我愿意分享自己学到的东西
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 16:01:22 | 显示全部楼层
chenlei1910 发表于 2024-5-11 17:06
b站看到视频了,你是原作者吗。

是的,平时搞点DIY的东西分享
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 16:02:30 | 显示全部楼层
猪小呆 发表于 2024-5-11 17:07
大神就是牛逼。。。

不要捧杀我了。。我是个在家蹲16年还在靠啃老吃饭的人,不敢吹牛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 16:03:13 | 显示全部楼层
茶壹杯 发表于 2024-5-11 20:31
哥们很有天赋   没在IT行业搞研究实在是可惜

都快奔4了,而且还是农村家里蹲,只能在家务农了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 16:15:14 | 显示全部楼层
amo73 发表于 2024-5-12 13:09
不错,很久没关注了,刚看下楼主在B站已经圈粉几万,看来已经不用外出工作了,这条网红路走对了 ...

纯粹为爱发电,比如我这次破解的这个固件,人家专业怎么也要收费100元吧,免费分享出来就算拍成视频也是没收入的,我搞的别的制作也是自己花钱买的电子元器件,只是得到网友的支持才有了薅厂家羊毛的机会,但是自己不努力搞制作也没薅的机会,去年参加了好几个厂家活动得奖,不算扣税薅到3000多元,还有个2000元奖也不知道给不给发,我去年在LCSC就花了2000多,第一次实现免费玩还有赚。


我们县城很多搞电动叉车的,都是对外采购电控部分,我也没机会接触那些厂家的人,要不直接抄袭或者自己做都可以,最起码能找个工作,一个月给我发2000元我就愿意干。

靠视频网站不靠谱的,视频网站赚的这点钱不够电费,薅厂家羊毛和视频网站收入都不可能持续,靠这些以后吃饭都成问题。

给你看看我B站的收入


本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 16:21:13 | 显示全部楼层
猪小呆 发表于 2024-5-12 16:14
B站那么多粉丝,随便搞点什么产品卖卖都能赚钱了,比如你可以设计自己的内阻仪卖,精度达到TS457的水平, ...

没动力啊,感觉为了赚钱做东西卖太辛苦,你看我搞的东西都是免费的,就这个帖子分享的东西找专业人员破解也要100元吧,我不还是免费分享了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 16:31:18 | 显示全部楼层
猪小呆 发表于 2024-5-12 16:24
不辛苦,你只要设计出来,制造什么的可以找别人代工的,咸鱼上一搜就有好多给人做贴片等代加工的,嘉立创 ...

TS457搞的已经很便宜了,真没必要自己搞了,人家在南方有电子产业的地方,别的地方成本和人家没法比的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-12 17:37:50 | 显示全部楼层
sunbester 发表于 2024-5-12 16:57
家那边有包地的么,去给做设备维护是不是也是条路?

没有,就算有我学的东西也用不到,需要学电工才行,在家根本没机会接触电工那些东西
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-13 10:23:06 | 显示全部楼层
茶壹杯 发表于 2024-5-12 21:10
还年轻着呢  继续学习提升自己
在农村可能更能让人静下心来
如果有空闲  linux方面可以看看  高级破解中 ...

多年前想过转LINUX,已经学到虚拟内存页表那了,但是感觉小城市根本用不上就放弃了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-13 11:10:49 | 显示全部楼层
amo73 发表于 2024-5-12 22:03
搞创作(圈粉)是必须坚持的。
粉丝是基础。
直播才能赚钱。

关键是我人比较懒,或者说是看不到希望所以没动力,搞DIY和搞视频都是靠兴趣,能分享出去我就开心,指望这个改变生活不靠谱,我嘴不会说也不会表演不会搞笑和卖惨,视频搞的也都是DIY类而且拍的特别无趣,要不是B站给流量根本没几个人看,根本就不是我视频搞的好。

虽然我生活不怎么样我也不打算从网友身上赚钱,网友想给我东西我都不要,反而我都是分享我学到的东西,就算薅厂家羊毛也都是人人都可以参加的活动,只是认识我的网友给我投票对参加活动的别人不公平。

我现在状态有点像躺着井底没力气动,看到绳子下来也懒得抓了,更不要说这根绳子大概率是假的。 看我的网友还以为我在家天天努力自学呢,其实根本没那回事 ,在网上和网友聊天的时间都远远大于搞DIY的。 不过我还是会坚持玩DIY和拍视频,估计还能坚持几年。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-13 14:02:02 | 显示全部楼层
firseve 发表于 2024-5-13 12:36
哎 破解。。。
大佬能不能出个32加密的方法防破解啊
要不好不容易写出来的东西就被别人破解,都不敢造东西 ...

感觉没必要,只有做的好的东西才有人抄,我做的东西都开源而且我还给人工解答别人制作时候遇到的问题,就这样都没几个抄的,求人家人家都不愿意抄 哈哈。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-13 16:53:44 | 显示全部楼层
飞向狙沙 发表于 2024-5-13 14:47
好好维护粉丝数量,带带货,可以适当规划一下,已经错过黄金时代了,单纯靠视频赚不到平台的钱了,只是注 ...

我以前也想过自己搞东西卖,后来觉得太麻烦就放弃了,还是就当个业余爱好玩玩吧,赚那点钱也没法改变我的生活,不脱离开家里蹲的状态以后肯定没路走,还得想办法在现实中和社会建立联系,只是我现在蹲太长时间感觉已经没改变的动力了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-14 08:58:02 | 显示全部楼层
猪小呆 发表于 2024-5-13 23:36
最近山东菏泽郭有才火了,楼主可以参考一下:
https://baijiahao.baidu.com/s?id=1798902694811754185 ...

没办法模仿,我不会表演只会实际动手做点东西,但是做的普遍都很丑,而且会做不会说,不适合卖嘴
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-14 09:07:19 | 显示全部楼层
aygcmy 发表于 2024-5-14 08:21
楼主技术很好,干个产品开发工作也可以的,小的城镇应该需要楼主这样的,因为干这个的都去大城市了,留在小 ...

业余自学的套路不正规,没法和专业人员接轨。 虽然小县城有相关工作,但是普遍一个萝卜一个坑不招人,就算招也要求很高不会要没学历的。也许只能自己搞点什么东西卖,我打算搞点农业能用上的东西,不为了赚钱就为了解决自己务农过程中遇到的问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-14 10:58:20 | 显示全部楼层
aygcmy 发表于 2024-5-14 09:15
楼主这个固件是立创商城开源的2个固件改的吗?好像文件大小相差很大

我的固件是网友很多年前给我的了,BIN文件会比HEX文件小很多,烧写进单片机的是BIN文件,HEX文件包含别的信息所以大。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-14 11:06:40 | 显示全部楼层
aygcmy 发表于 2024-5-14 09:19
有些私营企业对学历不敏感,人家要的是真正能干活的,我在的企业就是这样,我也和你差不多学历上不行,但 ...

我这是北方小县城,本身就没几个岗位,要是去南方应该也能找到相关工作,以前浙江有个小厂的老板就想让我去他那干
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-3 17:55:39 | 显示全部楼层
jpdd521 发表于 2024-6-3 17:11
月薪2K的话,每天工作5小时。可以的话PM我们研究一下。先签三年合同

也可以股份制。

  哈哈, 我是说现实中啦,这样我就可以脱蹲找个地方玩了,其实我要是离开我们县城到南方应该可以找个助理类技术工作的,只是没办法离开我们县城。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-8-20 21:53:32 | 显示全部楼层
南天音乐 发表于 2024-8-19 16:24
很好奇密码表是怎么发掘出来的

应该有比对BIN文件的程序,只不过我不知道怎么用,我用的是土办法,一开始保护比较简单程序里没密码表,肉眼比对下前后固件就发现了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-9-28 07:34 , Processed in 0.124801 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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