OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6669|回复: 16

方案公司发什么文件给我,我就能直接烧录IC呢?

[复制链接]

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2023-2-8
在线时间
23 小时
发表于 2023-3-29 15:47:01 | 显示全部楼层 |阅读模式
小弟有几个小问题想问一下
1,正常开发完成的一个方案,是用那个文件进行烧录的呢?hex文件吗?
2,我得到hex文件或者是其它格式的烧录文件后直接烧进IC里面,但是有没有一种可能,就是限制这个文件在那个时间段才能烧录?
3,我得到hex文件或者是其它格式的烧录文件后,有没有可能反汇编得到C文件呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-3-30 13:08:11 | 显示全部楼层
自己做BootLoader,用BootLoader去烧录。这样可以自定义文件格式,比如头上加厂家,可以烧录此版本软件的硬件号,适用设备的序列号。然后后面跟随经过加密的hex或者bin文件。在BootLoader中解析这些数据并写到flash。不然hex文件只要发出去,别人直接抄板然后下载你提供的hex就没你啥事了
回复 支持 反对

使用道具 举报

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2023-2-8
在线时间
23 小时
 楼主| 发表于 2023-3-30 20:33:49 | 显示全部楼层
姚先起 发表于 2023-3-30 13:08
自己做BootLoader,用BootLoader去烧录。这样可以自定义文件格式,比如头上加厂家,可以烧录此版本软件的硬 ...

因为我的东西是经常需要修改里面的参数去配件不同硬件去工作的,所以如果我直接提供hex文件的话,对方要是换了不同配件,也会用不了我的hex文件,所以我想知道如果我提供hex文件的话,对方有没有办法反汇编得到我的C文件原代码呢?
回复 支持 反对

使用道具 举报

26

主题

1538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6376
金钱
6376
注册时间
2015-8-25
在线时间
1004 小时
发表于 2023-3-30 20:38:59 | 显示全部楼层
caihaijie 发表于 2023-3-30 20:33
因为我的东西是经常需要修改里面的参数去配件不同硬件去工作的,所以如果我直接提供hex文件的话,对方要 ...

hex不可能反汇编,hex文件去掉格式就是二进制数据了。没法反汇编
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复 支持 反对

使用道具 举报

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2023-2-8
在线时间
23 小时
 楼主| 发表于 2023-3-30 20:54:30 | 显示全部楼层
szczyb1314 发表于 2023-3-30 20:38
hex不可能反汇编,hex文件去掉格式就是二进制数据了。没法反汇编

好的,那我就直接发hex文件给他,问题也不大,因为他换配件又得找我改参数!
回复 支持 反对

使用道具 举报

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2023-2-8
在线时间
23 小时
 楼主| 发表于 2023-3-30 20:54:53 | 显示全部楼层
caihaijie 发表于 2023-3-30 20:54
好的,那我就直接发hex文件给他,问题也不大,因为他换配件又得找我改参数!

然后我想最后问一下,怎样限制烧录次数呢?
回复 支持 反对

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-3-31 08:39:42 | 显示全部楼层
caihaijie 发表于 2023-3-30 20:54
然后我想最后问一下,怎样限制烧录次数呢?

买个正点的下载器,把文件做好发过去也行,一般的程序也不会花大精力去破解,直接发hex可以被破解的,但是仅限于修改const变量类型和.init段
回复 支持 反对

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-3-31 11:12:29 | 显示全部楼层
szczyb1314 发表于 2023-3-30 20:38
hex不可能反汇编,hex文件去掉格式就是二进制数据了。没法反汇编

hex 或者 bin 是不是可以通过反汇编   出来汇编文件啊   只是出不来C文件???
Nothing is impossible
回复 支持 反对

使用道具 举报

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2023-2-8
在线时间
23 小时
 楼主| 发表于 2023-3-31 11:14:34 | 显示全部楼层
姚先起 发表于 2023-3-31 08:39
买个正点的下载器,把文件做好发过去也行,一般的程序也不会花大精力去破解,直接发hex可以被破解的,但 ...

那我想把hex转换成别个一个完全没办法破解的文件,请问要怎么转换呢?
回复 支持 反对

使用道具 举报

3

主题

800

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3775
金钱
3775
注册时间
2017-3-7
在线时间
1645 小时
发表于 2023-3-31 11:37:18 | 显示全部楼层
不排除某些大牛能从bin或者hex反编译得到源码信息,但是成本肯定很大,99%应该不会这么搞,编译的时候再-o1,-o2,-os之类的优化下,感觉更难逆向,所以基本上不用担心这个问题。
至于烧录次数限值,这个不清楚,不知道离线烧录器能否设置烧录次数。
回复 支持 反对

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-3-31 13:26:44 | 显示全部楼层
caihaijie 发表于 2023-3-31 11:14
那我想把hex转换成别个一个完全没办法破解的文件,请问要怎么转换呢?

基本不可能,达到这个的条件非常苛刻,首先你的目标芯片需要支持加密运行(就是flash取一条指令解码后运行),不然可以进行磨片激光读取flash中的hex(如果没加读保护就更简单了,jlink直接读),其次hex是一种公开的文件格式,你要不被破解就是需要对hex的二进制进行加密。但是加密后芯片也不认识加密的hex,你需要给芯片提供一个解密的bootloader。
一般公司解析的做法就是:
1,制作一个BootLoader,带有解密功能,将flash指定区域的加密程序读取出来进行解密。
2.将解密后的程序(这时的程序和编译器生成的hex一致)加载到ram中
3.跳转PC指针到ram程序的reset中断
加密做法:
1.生成hex并转换成bin,给bin加密
2。将加密的bin程序下载到flash指定区域

这样做以后,程序在公司和客户以及远程升级过程中都是不可破解的。
回复 支持 反对

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-3-31 13:47:57 | 显示全部楼层
姚先起 发表于 2023-3-31 13:26
基本不可能,达到这个的条件非常苛刻,首先你的目标芯片需要支持加密运行(就是flash取一条指令解码后运 ...

请教一下  谢谢啦

如果BootLoader 和 用户程序   在程序运行中都没有加密处理的话   是不是把整个Flash都读出来   下载到另外一个设备中  就可以直接运行了呢?
Nothing is impossible
回复 支持 反对

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-3-31 13:56:09 | 显示全部楼层
unnormal 发表于 2023-3-31 13:47
请教一下  谢谢啦

如果BootLoader 和 用户程序   在程序运行中都没有加密处理的话   是不是把整个Flas ...

这是肯定的啊,像jlink,就BootLoader被破解了,然后由于支持电脑的jlink commander升级固件,不照样盗版满天飞。一般情况下,BootLoader被破解外加官网升级软件不校验合法性,也是可以无限复制的
回复 支持 反对

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-3-31 13:59:19 | 显示全部楼层
姚先起 发表于 2023-3-31 13:56
这是肯定的啊,像jlink,就BootLoader被破解了,然后由于支持电脑的jlink commander升级固件,不照样盗版 ...

谢谢

程序加密   很值得思考

您提供的方法挺不错   感觉就是对RAM大小要求多了一点
Nothing is impossible
回复 支持 反对

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2023-3-31 14:38:32 | 显示全部楼层
unnormal 发表于 2023-3-31 13:59
谢谢

程序加密   很值得思考

我目前用的RT1052 32M的SDRAM,我的程序就达到了4M了,在小产品上这个方法可行性不高,有的单片机才4k的ram,能跑起来就不错了。而且rt1052自带加密运行,还是不错的。
回复 支持 反对

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-3-31 15:42:32 | 显示全部楼层
姚先起 发表于 2023-3-31 14:38
我目前用的RT1052 32M的SDRAM,我的程序就达到了4M了,在小产品上这个方法可行性不高,有的单片机才4k的r ...

恩恩  不错不错  至少这个思路很好

如果能够使用类似的处理器  可以考虑这个思路

谢谢您啦
Nothing is impossible
回复 支持 反对

使用道具 举报

8

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2023-2-8
在线时间
23 小时
 楼主| 发表于 2023-3-31 18:23:14 | 显示全部楼层
姚先起 发表于 2023-3-31 13:26
基本不可能,达到这个的条件非常苛刻,首先你的目标芯片需要支持加密运行(就是flash取一条指令解码后运 ...

谢谢,那我直接发hex文件给他,他只要没办法改到里面的参数就行,因为我的程序需要根据不同的配件去改参数的,所以他没有原代码的话,也是没办法改参数
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 12:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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