HEX文件说明Hex文件的INTEL格式:这是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示.
这是一个例子:
:10008000AF5F67F0602703E0322CFA92007780C361
:1000900089001C6B7EA7CA9200FE10D2AA00477D81
:0B00A00080FA92006F3600C3A00076CB
:00000001FF
第一行,":"符号表明记录的开始. 后面的两个字符表明记录的长度,这里是10h. 后面的四个字符给出调入的地址,这里是0080h. 后面的两个字符表明记录的类型;0 数据记录 1 记录文件结束 2 扩展段地址记录 3 开始段地址记录 4 扩展线性地址记录 5
开始线性地址记录后面则是真正的数据记录, 最后两位是校验和检查,它加上前面所有的数据和为0.最后一行特殊,总是写成这个样子.
那位能给出从HEX中提取出数据和地址的代码?谢谢。
这是一个例子:
:10008000AF5F67F0602703E0322CFA92007780C361
:1000900089001C6B7EA7CA9200FE10D2AA00477D81
:0B00A00080FA92006F3600C3A00076CB
:00000001FF
第一行,":"符号表明记录的开始. 后面的两个字符表明记录的长度,这里是10h. 后面的四个字符给出调入的地址,这里是0080h. 后面的两个字符表明记录的类型;0 数据记录 1 记录文件结束 2 扩展段地址记录 3 开始段地址记录 4 扩展线性地址记录 5
开始线性地址记录后面则是真正的数据记录, 最后两位是校验和检查,它加上前面所有的数据和为0.最后一行特殊,总是写成这个样子.
那位能给出从HEX中提取出数据和地址的代码?谢谢。
解决方案 »
- CDialogEx 虚拟列表中OnLvnGetdispinfo 函数不触发
- winexec打开浏览器
- VS2005所有工程都打不开了,The following error has occurred during XML parsing。帮下忙啊。
- 调用dodataexchange()后“exe遇到问题需要关闭”
- CAsyncSocket在Unicode下出现乱码
- 大虾帮忙,怎么才能生成VC++的可执行文件?
- COM传出参数的问题!
- 请教,dll可以主动调用exe吗?
- InstallShield的问题,急...在线等待
- 无线网络中的Layer3解码谁做过?
- 请问:想给exe文件打包,要在英文xp下用,需要注意哪些?
- 关于basetsd.h
while(n<nEnd)//先把所有字符转换成字节
{
if(pHex[n]==':')//发现':'就新增一条记录
{
pByteArray=new CArray<BYTE,BYTE>;
arByteRec.Add(pByteArray);//增加一条记录
n++;
}
}
这段是死循环吧
while(n <nEnd)//先把所有字符转换成字节
{
if(pHex[n]== ': ')//发现 ': '就新增一条记录
{
pByteArray=new CArray <BYTE,BYTE> ;
arByteRec.Add(pByteArray);//增加一条记录
//n++;
}
n++ ;
}