您的位置:首页 > 编程语言 > C#

关于C#加载hex文件,并且寻址的方式修改数据

2015-04-24 18:10 204 查看
上位机开发中遇到一个提问,特此写一下,做备忘。

单片机开发时候生成hex文件,下载前我们需要修改hex文件中的一个地址,修改的原因是因为我们要在那个位置写下一个加密字符串,这个字符串是根据单片机的uid生成的,每个都不同。所以我们必须要寻址的方式找到这个位置,并且替换我们加密过的字符串。

贴代码:

01 public bool setmac(String hex,String add)
02         {
03             String old;
04             sr = new StreamReader(System.Environment.CurrentDirectory + "/test.hex", Encoding.Default);
05             int i = 0;
06 
07             do
08             {
09                 str = sr.ReadLine().Trim();
10                 i++;
11                 //iniString(str.Trim());
12 
13                 tbRevMsg.AppendText(str + "\n");
14             } while (str.Substring(3, 3) != add);
15 
16            if (str.Substring(3, 3) == add)
17            {
18              //
MessageBox.Show(hex1.Substring(33, 8));
19                
20               // old
= hex.Replace("000102030405", hex);
21          String qian  = str.Substring(0,21);//
str.IndexOf("000102030405").ToString());
22          String hou = str.Substring(33, 10);
23          String new1 = qian + hex + hou;
24          
25                sr.Close();
26 
27               EditFile(i, new1, System.Environment.CurrentDirectory+"/test.hex");
28            
29            }
30 
31            return true;
32         }
33 
34 
35   
36 
37         //把这个方法直接复制到你的项目中,后面直接调用就行了
38         public static bool EditFile(int curLine, 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息