macos-sierra на компьютере Intel: при анализе двоичного файла fat и проверке содержимого fat_header в Xcode / lldb отображается магическое число в формате с прямым порядком байтов.
Однако hexdump отображает его в формате с прямым порядком байтов.
Документация Apple в OS X Справочник по формату файлов Mach-O ABI прямо заявляет: «Независимо от контекста, эта структура данных описывает все ее поля, хранящиеся в порядке байтов с прямым порядком байтов»
Итак, я предполагаю, что где-то в fopen, fread или Xcode есть вызов для процедур подкачки, потому что я этого не делаю.
Для меня это означает, что ключ здесь «хранится на диске / SSD», а не в памяти.
Я прав?
просто проверка с использованием переменной кадра lldb fatHeaderRef-> magic -f hex
против hexdump
struct fat_header *fatHeaderRef;
fatHeaderRef = malloc(fatHeaderSize);
bzero(fatHeaderRef,fatHeaderSize);
numRead = fread(fatHeaderRef,byte,fatHeaderSize,fp);
if (FAT_CIGAM == fatHeaderRef->magic)
fprintf(stderr, "little endian %u %x\n", fatHeaderRef->magic, fatHeaderRef->magic );
else if (FAT_MAGIC == fatHeaderRef->magic)
fprintf(stderr, "big endian\n" );
else
fprintf(stderr, "not fat header\n" );