打印

如何修改烧录文件中字符串

[复制链接]
2581|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kongjw|  楼主 | 2012-3-22 15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
xwj| | 2012-3-22 16:41 | 只看该作者
盗版别人的?

使用特权

评论回复
板凳
yewuyi| | 2012-3-22 16:45 | 只看该作者
在HEX或者BIN文件中搜索到那一串字符串,然后手工改成其他字符串对应的编码值。

使用特权

评论回复
地板
kongjw|  楼主 | 2012-3-22 17:17 | 只看该作者
2楼:
盗版别人的?

是不是盗版别人的我不知道,那个时候我还在上中学。

3楼:
在HEX或者BIN文件中搜索到那一串字符串,然后手工改成其他字符串对应的编码值。

用一般的工具打开HEX文件,看到的都是16进制代码,就算看到ASCII码,也看不到中文,如何搜索呢?

使用特权

评论回复
5
lyjian| | 2012-3-22 18:49 | 只看该作者
用UltraEdit太简单了

使用特权

评论回复
6
yewuyi| | 2012-3-22 19:21 | 只看该作者
2楼:
盗版别人的?

是不是盗版别人的我不知道,那个时候我还在上中学。

3楼:
在HEX或者BIN文件中搜索到那一串字符串,然后手工改成其他字符串对应的编码值。

用一般的工具打开HEX文件,看到的都是16进制代码, ...
kongjw 发表于 2012-3-22 17:17


你难道不会手工转换成ASCII码吗?你总不是想到里面直接搜索到中文字符把。。。:L

使用特权

评论回复
7
kongjw|  楼主 | 2012-3-23 09:57 | 只看该作者
5# lyjian
以前从没研究过格式转换和HEX文件的内部格式,请问5楼能说的再详细点吗?

使用特权

评论回复
8
lyjian| | 2012-3-23 12:38 | 只看该作者
还有一个简单的方法:
直接用烧录器(如ALL11之类)装入烧录文件,然后转到EDIT模式下修改字符。

使用特权

评论回复
9
lyjian| | 2012-3-23 12:40 | 只看该作者
5# lyjian
以前从没研究过格式转换和HEX文件的内部格式,请问5楼能说的再详细点吗?
kongjw 发表于 2012-3-23 09:57

烧录文件是BIN格式还是HEX格式?
BIN格式直接用Ultraedit编辑器的BIN模式修改即可
或者如楼上说的方法做

使用特权

评论回复
10
kongjw|  楼主 | 2012-3-26 10:27 | 只看该作者
文件是HEX格式的,
实际上没有以上各位说的那么简单,我做了一个实验:
我写了一个单片机程序,在代码段定义了英文字符串和中文字符串,用UE打开,英文字符串可以完整看到,并且可以修改,但是中文字符不一定能完整看到,其中涉及到对齐的问题,每行中文字符串第一个汉字对齐了,后面都可以看到,没对齐就是乱码。汉字是以国标码存在HEX文件中。

使用特权

评论回复
11
yewuyi| | 2012-3-26 10:56 | 只看该作者
本帖最后由 yewuyi 于 2012-3-26 11:19 编辑

闷倒。

你直接把原来显示的汉字用ASCII码列出来,然后在HEX中查哪些位置出现了这些ASCII码,然后向里面另外写一个汉字的ASCII码,然后烧片看结果,如果不对,再换另一个位置替换,多试几次就差不多可以找到了。

使用特权

评论回复
12
jiang390625| | 2012-3-26 11:12 | 只看该作者
进来学习下,:lol

使用特权

评论回复
13
kongjw|  楼主 | 2012-3-26 11:27 | 只看该作者
11楼的方法,我肯定试过了,
在keil编译的HEX文件中,这种方法确实可行,但是我那个项目是摩托罗拉的芯片,用这种方法查找不到。

使用特权

评论回复
14
jjjyufan| | 2012-3-26 11:47 | 只看该作者
翻箱倒柜找源文件。
我觉得每个电工,对于自己的产品,资料都是保存的很好的,
只不过是否是“有人原意帮你去找”
或者你把HEX文件发上来,说明要修改什么,大家帮你改,改了后,你烧录测试。
坛子里大牛很多,会有人知道的。

使用特权

评论回复
15
yewuyi| | 2012-3-26 12:00 | 只看该作者
11楼的方法,我肯定试过了,
在keil编译的HEX文件中,这种方法确实可行,但是我那个项目是摩托罗拉的芯片,用这种方法查找不到。
kongjw 发表于 2012-3-26 11:27


MOTO的编译器生成的S19格式,网络上有转化成HEX的软件,你转换一下再搞。

使用特权

评论回复
16
kongjw|  楼主 | 2012-3-28 11:39 | 只看该作者
本帖最后由 kongjw 于 2012-3-28 17:44 编辑

我已经将烧录文件转换成BIN格式,而且已经找到需要修改的中文字符串的位置,在这个程序中,自己做了中文点阵字库和ASCII码字库,我直接在BIN文件中修改了这个字符串的二进制代码,但是实际运行显示却不是我想要的汉字,而是其他汉字,而且看不出关联。

使用特权

评论回复
17
kongjw|  楼主 | 2012-3-28 14:11 | 只看该作者
奇怪的是,我把一个字符串中的所有汉字都修改成同一个代码,实际运行显示出来却不是同一个字。

使用特权

评论回复
18
yanghh159| | 2013-2-22 13:53 | 只看该作者
lyjian 发表于 2012-3-23 12:40
烧录文件是BIN格式还是HEX格式?
BIN格式直接用Ultraedit编辑器的BIN模式修改即可
或者如楼上说的方法做 ...

大神,我现在就有一个bin的文件,是PIC单片机里面的,我要定位的汉字没法搜索到,用的就是UE,但是搜我需要的汉字没法搜索到,运行显示出来是存在这个汉字的,我没法定位这个汉字就没法改,求大神指点......

使用特权

评论回复
19
delin17| | 2013-2-22 13:59 | 只看该作者
你要看汉字是什么码存的。不能接直接搜汉字,搜他的编码啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:QQ:4719188

7

主题

75

帖子

1

粉丝