我正在尝试从Android设备上的FAT32驱动器读取引导扇区,但是我得到的数据与我期望的完全不同。
这是我在Android设备上的读取端点上使用bulkTransfer接收的输出。
33C08ED0BC007C8EC08ED8BE007CBF00
06B90002FCF3A450681C06CBFBB90400
BDBE07807E00007C0B0F850E0183C510
...
656D000000637B9A5BE2B3D70000800F
30000BFEFFF4E0030000205CF8000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000000000000000000055AA
这是在我的电脑上使用十六进制查看器转储的引导扇区。
EB58904D53444F53352E300002081004
0200000000F800003F00FF00E0030000
205CF800F83D00000000000002000000
...
0000000000000000000000000D0A5573
75E4206479736B69206C756220696E6E
79206E6F986E696BFF0D0A4288A56420
6479736B75FF0D0A5A72657374617274
756A2C206E616369736B616AA563206B
6C617769737A0D0A00ACC9D6000055AA
我在Android上收到的数据包含以下消息:“无效的分区表。错误加载操作系统。错误操作系统”。
谁能告诉我这里有什么问题?在阅读启动扇区之前是否应该执行任何操作?
截至目前,我的代码流程如下:
我会感谢任何建议
答案 0 :(得分:0)
哪个十六进制查看器?
win上的非管理员用户无法访问物理设备上的分区表,
所以你通常只得到分区的第一个扇区。你可以检查一下,它会在偏移0x52处包含FAT32
字符串。要阅读真实的分区表,您需要使用管理员权限访问pysical设备。
在android上,你读取分区表本身是因为你在低级别访问物理“光盘”。