Embedded 更改嵌入式序列号

Embedded 更改嵌入式序列号,embedded,hex,Embedded,Hex,我有一个序列号字符串“1080910”嵌入在一个可编程设备中,该设备已使用ALL-100编程器下载到二进制文件中。这是我的主文件。我需要将此序列号更改为我需要使用主文件重新闪存的单元的序列号-ALL-100程序员使用XACCESS用户界面,该界面具有显示地址位置、十六进制数据字段和Ascii字段的编辑功能。在这个文件的某个地方是序列号字符串-有谁能帮助我找到和编辑序列号字符串,因为我无法使用搜索功能找到它,也无法直观地提取序列号。救命啊 可能它存储在e中,因此备用字符为00。如果数据在源代码中有

我有一个序列号字符串“1080910”嵌入在一个可编程设备中,该设备已使用ALL-100编程器下载到二进制文件中。这是我的主文件。我需要将此序列号更改为我需要使用主文件重新闪存的单元的序列号-ALL-100程序员使用XACCESS用户界面,该界面具有显示地址位置、十六进制数据字段和Ascii字段的编辑功能。在这个文件的某个地方是序列号字符串-有谁能帮助我找到和编辑序列号字符串,因为我无法使用搜索功能找到它,也无法直观地提取序列号。救命啊

可能它存储在e中,因此备用字符为00。

如果数据在源代码中有符号地址,并且不是局部变量,则其地址将显示在链接器生成的映射文件中。如果它是一个用文字常量初始化的局部变量,则数据将存在于静态初始化数据中,该数据的位置也应在映射文件中标识

另一种可能是应用程序映像被压缩,启动代码在运行时将其扩展到RAM中。如果数据和代码地址在RAM而不是ROM中,这在映射文件中会很明显。如果是这种情况,那么您尝试的将非常困难。您必须知道使用的压缩算法,以及图像的哪一部分是commpressed部分(其中一部分是从ROM运行的解压缩代码)。然后必须解压缩图像,修改字符串,然后重新压缩。此外,如果解压缩对压缩或解压缩的数据执行任何类型的校验和,您也必须重新计算和修改该校验和


如果从一开始就需要这样做,那么最好在链接器脚本中保留空间,或者使用特定于编译器的扩展名将数据绝对定位到特定位置。

也许您最好使用十六进制编辑器(谷歌)编辑二进制文件,并将其重新发送到设备上