Проблема с поиском сырых данных с помощью DataRun NTFS - PullRequest
0 голосов
/ 05 августа 2020

У меня есть образ файла NTFS, который содержит несколько тестовых файлов. Когда я добираюсь до windows Bin, я сталкиваюсь с запусками данных: 1 кластер => 4096 / 0x1000 байт

22 BD 00 42 01 21 56 67 FF 11 03 97 11 13 D7 00.

Обычно это означает, что у меня есть 4 прогона:

22 BD 00 42 01 => кластеры 0xBD @ смещение кластера 0x142

21 56 67 FF => 0x56 кластеров @ смещение кластера 0xFF67

11 03 97 => 0x3 кластеров при смещении кластера 0x97

11 13 D7 => 0x13 кластеров при смещении кластера 0xD7

Проблема в том, что недостаточно кластеров для достижения 0xFF67, вы выходите за пределы.

Необработанные данные, найденные в 3 кластерах со смещением 0x97, также не соответствуют никаким данным в файле.

Кто-нибудь знает, в чем может быть проблема? *

Здесь код для всей записи, он начинается со смещения 0x14400

46 49 4C 45 30 00 03 00 00 00 00 00 00 00 00 00 01 00 01 00 38 00 01 00 B0 01 00 00 00 04 00 00 00 00 00 00 00 00 00 00 06 00 00 00 41 00 00 00 5B 02 00 00 00 00 00 00 10 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 30 00 00 00 18 00 00 00 C3 CD AA 79 E0 48 D6 01 00 A6 A1 73 74 AE D4 01 4F DA 03 E7 40 60 D6 01 AA B7 DF 77 40 60 D6 01 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 00 00 00 70 00 00 00 00 00 00 00 00 00 05 00 58 00 00 00 18 00 01 00 05 00 00 00 00 00 05 00 C3 CD AA 79 E0 48 D6 01 00 A6 A1 73 74 AE D4 01 B0 33 8A E4 40 60 D6 01 AA B7 DF 77 40 60 D6 01 00 90 12 00 00 00 00 00 F8 83 12 00 00 00 00 00 20 00 00 00 00 00 00 00 0B 00 74 00 65 00 73 00 74 00 42 00 49 00 4E 00 2E 00 62 00 69 00 6E 00 50 00 00 00 68 00 00 00 00 00 00 00 00 00 01 00 50 00 00 00 18 00 00 00 01 00 04 80 14 00 00 00 24 00 00 00 00 00 00 00 34 00 00 00 01 02 00 00 00 00 00 05 20 00 00 00 20 02 00 00 01 02 00 00 00 00 00 05 20 00 00 00 20 02 00 00 02 00 1C 00 01 00 00 00 00 03 14 00 FF 01 1F 00 01 01 00 00 00 00 00 01 00 00 00 00 80 00 00 00 50 00 00 00 01 00 40 00 00 00 02 00 00 00 00 00 00 00 00 00 28 01 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 90 12 00 00 00 00 00 F8 83 12 00 00 00 00 00 F8 83 12 00 00 00 00 00 22 BD 00 42 01 21 56 67 FF 11 03 97 11 13 D7 00 FF FF FF FF 00 00 00 00 01 00 00 00 00 03 14 00 FF 01 1F 00 01 01 00 00 00 00 00 01 00 00 00 00 80 00 00 00 50 00 00 00 01 00 40 00 00 00 02 00 00 00 00 00 00 00 00 00 28 01 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 90 12 00 00 00 00 00 F8 83 12 00 00 00 5B 02 F8 83 12 00 00 00 00 00 22 BD 00 42 01 21 56 67 FF 11 03 97 11 13 D7 00 FF FF FF FF

1 Ответ

0 голосов
/ 06 августа 2020

На самом деле ответ был довольно простым. Каждое смещение имеет 8-битный, 16-битный или 32-битный знак в зависимости от размера в байтах. Обратите внимание, что это одна из немногих позиций со знаковыми числами в системном шестнадцатеричном формате.

FF67 => 1111111101100111 => -153 / - 0x99 => 0x142 - 0x99 = 0xA9 в качестве смещения для второго прогона данных *. 1003 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...