搜索
bottom↓
回复: 35

BIN文件内容可根据需要自己修改吗?

[复制链接]

出0入0汤圆

发表于 2017-5-10 13:28:17 | 显示全部楼层 |阅读模式
本帖最后由 s15200380596 于 2017-5-10 13:41 编辑

CCS编译出来的BIN文件,可以根据自己的需要修改吗?
能不能通过修改BIN文件在特定的地址上写一个特定的值?,如果不更改CCS工程中的源代码的情况下直接改生产的BIN文件可以实现吗?

出10入61汤圆

发表于 2017-5-10 13:33:00 | 显示全部楼层
直接修改BIN文件增加功能, 神级人物啊   改下某些数字 字条串之类的还是可以的

出0入0汤圆

发表于 2017-5-10 13:34:16 | 显示全部楼层
改不了吧  或者说基本上不可能

出0入0汤圆

发表于 2017-5-10 13:35:24 | 显示全部楼层
那就可以不要编译器了啊,直接往里边写二进制就可以了。

出0入0汤圆

 楼主| 发表于 2017-5-10 13:40:29 | 显示全部楼层
tcm123 发表于 2017-5-10 13:33
直接修改BIN文件增加功能, 神级人物啊   改下某些数字 字条串之类的还是可以的 ...

不好意思没说清楚,能不能通过修改BIN文件在特定的地址上写一个特定的值?

出0入0汤圆

发表于 2017-5-10 13:42:23 | 显示全部楼层
s15200380596 发表于 2017-5-10 13:40
不好意思没说清楚,能不能通过修改BIN文件在特定的地址上写一个特定的值? ...

常量可以修改

出0入17汤圆

发表于 2017-5-10 14:12:31 来自手机 | 显示全部楼层
随便改,只要程序不访问的地址(包含取指)

出0入0汤圆

发表于 2017-5-10 14:21:23 | 显示全部楼层
本帖最后由 gyd0317 于 2017-5-10 14:24 编辑

定义成.text字段里面的变量 写个脚本直接修改,我们现在批量写序列号烧入程序就是这么做的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

发表于 2017-5-10 14:51:01 | 显示全部楼层
winhex                    

出0入4汤圆

发表于 2017-5-10 14:59:20 | 显示全部楼层
刚毕业的时候我们老大(60多的老头)就是这么改程序的 - -!

当然一般也就改几个参数而已。  比如原来是限制30的改成限制60.   好改 ,关键是要知道改哪个地方。

出0入0汤圆

 楼主| 发表于 2017-5-10 15:10:25 | 显示全部楼层

现在也在用winhex 但是有个问题,ccs生成的bin的偏移地址是0-0x20000,为保证程序正常运行需要避开0-0x20000,所以我想在0x30000这个地址写一个常量,winhex能在特定地址插入特定值吗?

出0入8汤圆

发表于 2017-5-10 16:19:04 | 显示全部楼层
s15200380596 发表于 2017-5-10 15:10
现在也在用winhex 但是有个问题,ccs生成的bin的偏移地址是0-0x20000,为保证程序正常运行需要避开0-0x20 ...

必须能,想改成什么都可以。

出0入0汤圆

发表于 2017-5-10 16:59:19 | 显示全部楼层
经常这么改。
改指令都试过。
NOP

出110入26汤圆

发表于 2017-5-10 17:42:34 来自手机 | 显示全部楼层
IDA就是干这个的

出0入0汤圆

发表于 2017-5-10 18:18:47 来自手机 | 显示全部楼层
可以,想怎么改就怎么改,例如我们改标定数据就是这么玩的

出0入0汤圆

发表于 2017-5-10 21:24:18 | 显示全部楼层
我记得好像以前没有编译器的时候,就有人根据指令码进行二进制编程

出0入0汤圆

发表于 2017-5-10 23:04:22 | 显示全部楼层
当然可以 比如write_1602(0X80);
BIN文件里面肯定有0X80 ,找到0X80 想改成什么数都可以

出0入0汤圆

 楼主| 发表于 2017-5-11 09:33:21 | 显示全部楼层
kebaojun305 发表于 2017-5-10 16:19
必须能,想改成什么都可以。

现在BIN文件是0-0x20000地址的,我怎么在0x30000写值呢?0x20000-0x30000这段内存怎么处理,谢谢

出0入8汤圆

发表于 2017-5-11 10:24:57 | 显示全部楼层
s15200380596 发表于 2017-5-11 09:33
现在BIN文件是0-0x20000地址的,我怎么在0x30000写值呢?0x20000-0x30000这段内存怎么处理,谢谢 ...


你可以填充任意值,当然  实际上 这一段 你程序是不会运行到的,但是为了纠错,你可以查下你MC的 NOP指令或者跳转指令的二进制代码 填上去。(统一填充NOP指令或者跳转到 复位地址的指令) 或者直接填充ff

出0入0汤圆

发表于 2017-5-11 10:43:50 来自手机 | 显示全部楼层
four_zhg 发表于 2017-5-10 21:24
我记得好像以前没有编译器的时候,就有人根据指令码进行二进制编程

我这么干过,电脑都不需要,也买不起电脑,直接汇编后查二进制机器码,用开关写入RAM,RAM上焊个电池与二极管,防止掉电丢程序。

出0入0汤圆

 楼主| 发表于 2017-5-11 10:59:07 | 显示全部楼层
kebaojun305 发表于 2017-5-11 10:24
你可以填充任意值,当然  实际上 这一段 你程序是不会运行到的,但是为了纠错,你可以查下你MC的 NOP指令 ...

懂了,非常感谢。

出0入0汤圆

发表于 2017-5-11 11:54:11 | 显示全部楼层
可以,完全可以,但是你的功力夠不夠就不知道了

出0入0汤圆

发表于 2017-5-11 13:31:11 | 显示全部楼层
你用C语言写个控制台小程序,处理你的 bin 文件,想怎么改都行。

出0入4汤圆

发表于 2017-5-11 16:04:57 | 显示全部楼层
可以 例如 设备sn号之类的,我们就直接改的

出0入0汤圆

发表于 2017-5-11 20:04:20 来自手机 | 显示全部楼层
必须可以改,MAC地址就这么改的,不然难道每刷一个板子,都要改了地址编译后再下载。

出0入0汤圆

发表于 2017-5-11 20:23:37 | 显示全部楼层
buck 发表于 2017-5-11 11:09
可以玩,但花的成本比岽电脑高啊

你错啦,我的老师以前是买不起电脑,就是查汇编后进行二进制机器码编程的

出0入0汤圆

发表于 2017-5-11 20:32:18 来自手机 | 显示全部楼层
buck 发表于 2017-5-11 11:09
可以玩,但花的成本比岽电脑高啊

九十年代~~~

出0入0汤圆

发表于 2017-5-12 00:30:35 来自手机 | 显示全部楼层
能改,只要你会改就行

出0入0汤圆

发表于 2017-5-12 17:07:04 来自手机 | 显示全部楼层
只要是称为文件的东西都是可以改的,否则就不称为文件了,关键是要知道文件编码和转换规则。

出0入0汤圆

发表于 2017-5-12 17:16:46 | 显示全部楼层
完全可以啊

出0入0汤圆

发表于 2017-5-12 17:35:47 来自手机 | 显示全部楼层
80年代买得起电脑的没几个,所以弄单片机都是先手写汇编,然后翻书对应指令翻译成机器码,遇到跳转的时候还要计算偏移量,最后在单板机上输入进去保存到ram中……真是夸张的时代啊。

出10入12汤圆

发表于 2017-5-13 01:11:07 来自手机 | 显示全部楼层
当然可以  当年中九破解 让很多修电视机的知道了什么是bin文件

出0入0汤圆

发表于 2017-5-25 09:33:39 | 显示全部楼层
s15200380596 发表于 2017-5-10 13:40
不好意思没说清楚,能不能通过修改BIN文件在特定的地址上写一个特定的值? ...

可以通过源码实现。-》绝对地址
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-21 00:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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