2013-06-04 3 views
0

В настоящее время я пытаюсь извлечь некоторые данные из библиотеки .DLL - я выяснил структуру файла (есть 1039 блоков данных, сжатых с помощью zlib, начиная со смещения 0x3c00 , последний из которых является толстой таблицей). Сама таблица жира разделена на 1038 «блоков» (8 байтов + кодировка base64 - имя файла). Насколько я видел, байт 5 - это длина имени файла.Извлечение данных из .DLL: смещения неизвестных файлов

Моя проблема заключается в том, что я не могу понять, для каких байтов 1-4 используются: моя первая догадка заключалась в том, что они были смещением для поиска файлового блока внутри .DLL (главным образом потому, что значения возрастают таблица), но, например, в данном случае, первый "блок" является:

  1. Предполагаемое смещение: длина 2E 78 00 00
  2. файла: 30 00 00 00
  3. кодировке Base64 файла: 59 6D 46 30 64 47 78 6C 58 32 6C 75 64 47 56 79 5A 6D 46 6A 5A 56 78 42 59 33 52 70 64 6D 56 51 5A 58 4A 72 63 31 4E 6F 62 33 63 75 59 77 3D 3D

все же, как я уже говорил ранее, сам блок находится в 0x3c00, поэтому все не соответствует. То же самое касается второго блока (начиная с 0x3f0b, тогда как предполагаемое смещение таблицы равно 0x167e)

Любые идеи?

ответ

0

Отвечая на мой собственный вопрос лол

Во всяком случае, эти цифры являются фактические смещения файловых блоков, за исключением того, что первый один начинается с некоторого случайного числа, а не чем от фактического местоположения первого, за исключением блок. Помимо этого, однако, различия между каждыми смещениями соответствуют длине соответствующего блока.

Смежные вопросы