Куча говна / Говнокод #26329 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
0 1  2 3  4 5  6 7  8 9  a b  c d  e f
00800060: 424f 4f54 2020 2020 4249 4e20 0057 7a99  BOOT    BIN .Wz.             
00800070: 954f 2250 0000 1c87 954f 0700 bc00 0000  .O"P.....O......

file boot.bin
00828000: - file start (0c94 3400 0c94 3e00 0c94 3e00 0c94 3e00)

Запостил: Lis Lis, (Updated )

Комментарии (20) RSS

  • Система FAT32: dump - sd card
    Как найти адрес начало файла 00828000 используя запись о файле 0080007a (2b) - 0x0007
    Ответить
    • Д. Число 507 вес 9 бит, сжимаем 510-507=3 ложим (00000011)
      Обратно 510-3=507. (для используем 14 байтов оделаем зн. двух сторон знаком которого нету, сжимая по честям 1016 байт)
      Потом рекурсия, 1680 и 24 вариации из 2^32 и 2^64, и самые повторные 2 знака вориаций в зн. Которого нету(4 знака, за один раз исползуем, сжимаем пока исползуем все знаки котрых нету),(обратно прочитать те букву в этом порядке и положить)
      сжимамем весь файл еще два раза.
      50.0242% процент данного сжатия
      1.12-74 сила сжатия за один раз.
      Ответить
      • Да там всё просто. Область кластеров скорее всего начинается с 0x800000, перед ней лежат хедер и таблички fat. 0x0007 - номер кластера. Но нумеруются они с двух. Размер кластера, вероятно, 32 килобайта. Поэтому 0x800000 + (0x0007 - 2) * 32768 = 0x828000, что мы и видим. В качестве бонуса можно попытаться прикинуть размер диска: одна табличка fat весит примерно 0x800000 / 2 ≈ 4 метра, т.е. у нас примерно миллион кластеров аля флешка на 32 гига.
        Ответить
    • В "FAT32". Хуйни какой-то нахуевертили с кластерами. Именно поэтому я за "NTFS", где нулевой кластер в начале диска, где его и ожидаешь увидеть.
      Ответить
      • В FAT12 и в FAT16 корневой каталог занимал ровно два кластера, потому и кластеры нумеруются с двух. Сам корневой каталог нельзя было переместить, он был как бы за пределами файловой системы. В FAT32 решили, что это негибко. Корневой каталог поместили в файловую систему, чтобы можно было менять его размер и расположение, а нумерацию кластеров оставили.

        Кстати, сможешь в FAT12 сходу извлечь из FAT номер следующего кластера? Вот где самая настоящая хуеверть: номер кластера занимает полтора байта (ага, дробное число), да ещё там какая-то муть с маленьким индейцем.
        Ответить
        • очень весело было пейсать вирусы на бейсике и дрочить.

          вирус копировал себя в папку F:\..

          Какой фольклор)))
          Ответить
        • > 1.5 байта

          Хех, да я когда-то даже парсил эту херню... Не самые приятные воспоминания.
          Ответить
      • Ты про $Boot?
        Там вроде адрес $MFT и ее зеркала храница, не?
        Ответить
        • Я про то, что в NTFS весь раздел разбит на кластеры и нет каких-то специальных регионов перед ними, в отличие от FAT'а.

          Ну а так - да. $Boot (заголовок и код загрузчика) всегда лежит в начале раздела. Вроде как единственный файл, расположение которого прибито гвоздями.
          Ответить
          • не просто на кластеры, но еще и всё является файлом (включая Boot, лол)

            NTFS вообще хорошая фс, и кстати она была журналируемая, когда еще прыщевики и бздуны слов-то таких не знали
            Ответить

Добавить комментарий

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8