我有一个FAT16镜像,我想用C语言复制存储在此镜像中特定内存位置的数据。
如果使用十六进制编辑打开myful16.img文件
0000A320 44 54 FC 0C 19 85 13 E9 F6 D5 20 7F 56 24 EB A7 DC 2F 54 7A 20 10 9F 80 54 45 BB AE E9 C2 6E 08 08 4F 01 11 16 EF 1B A7 1E 00 00 01 05 3B F0 A8 DT........ .V$.../Tz ...TE....n..O...........;..我如何访问say 0xA322?
唯一的方法是用open()打开它,然后计算到这个地址为止的字节数?
谢谢
发布于 2012-11-18 23:50:04
使用C标准库打开fopen,然后使用fseek直接转到您感兴趣的地址,然后使用fread或任何对您来说最方便的读取函数。
如果您必须直接使用POSIX syscall,则可以分别使用open、lseek和read。
发布于 2012-11-18 23:50:27
您可以使用fopen()、fseek(),当然还有fread()来读取感兴趣的字节。
发布于 2012-11-18 23:51:18
您可以使用open
然后用read()函数将文件读入buffer
然后从地址0xA322复制
memcpy(buffer2, buffer+0xA322, len);https://stackoverflow.com/questions/13441685
复制相似问题