Как определить что файлы ядра были изменены на диске?

Тема в разделе "WASM.BEGINNERS", создана пользователем UTeX, 5 дек 2007.

  1. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    сабж
    файлы ядра изменены и кэш для восстановления тоже - как можно это определить, т е уверждать на 100% что это уже случилось?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    как узнать что какой-то файл изменен не зная его содержания?
     
  3. Mi256

    Mi256 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2007
    Сообщения:
    116
    Вычисли контрольную сумму секций каждой отдельно + PE заголовка. Потом сравнить данный файл с оригиналом по етих контрольных суммах. Работает в 99.9% случаев. Если считать по CRC всего файла - вероятность будет не более 95% (смотря как его изменили)
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    с каким оригиналом? хотим узнать изменяли ли файл. где взять оригинал?
     
  5. Mi256

    Mi256 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2007
    Сообщения:
    116
    Гыгы ето надо заранее просчитать, когда файл оригинальный. Можно у кого-то точно-такой же файл взять напр. с одинаковой версией и с той-же версии винды.

    Впрочем за оригинал сойдёт уже загруженый файл в память если конечно его не перечитали с диска (напр. файлы ядра как правило перечитываются при рестарте системы или cлужбы)
     
  6. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    т е лучший вариант - это достать где-то контрольные суммы файлов ядра разных версий?
    и где это достать?
    а версий ядра сколько?
    это вед всякие обновления могли тоже повлиять? или нет?
     
  7. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    1. В ручную посчитать ImageBase
    если заявленный в заголоке и просчитанный вручную не совпадает - значит с вероятностью 70% файл был дополнен чужим кодом. 30% на провал, если заголовок восстанавливается тоже

    2. Попытаться вручную привести файл к исходному виду. Т.е. выделить буффер, разместить в нем секции по Physical Offset-у. Сравнить секции .text и .reloc у файла на диске и в памяти в буффере. Если более 40% несовпадения - файл был модифицирован или криптован чем-то после сборки.

    3. Проверить промежуток между (BASE+0x3C) -указатель на РЕ и непосредственно РЕ. Если разный на диске и в памяти -файл 100% чем-то криптован или модифицирован после сборки.
     
  8. Mi256

    Mi256 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2007
    Сообщения:
    116
    Нет я имел введу, что crc надо считать програмно, потому как в заголовке PE она указывается для всего файла, а посекцыонные сrc сомневаюсь что где-нибуть можно откопать.

    Сам файл скорее всего будет очень мало отличатся или вовсе не отличатся в пределах одной версии и одного и того-же сервиспака винды на разных компах. Но надо всё-таки посмотреть чтобы различия в версиях файла были минимальные.

    Обновления понятно что влияют но при етом заодно меняется и версия файла.
     
  9. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    Лучший вариант - достать непосредственно эти файлы, а далее сравнивать тоталом.
     
  10. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    ваще тема канешно лол )
    если это нада делать в каком-то софте и
    если нет инсталяции виндозы (колекции оригинальных файлов) то можно вытянуть с мс сайта (с того сервера с которого символы тянуться), как-то видел kd вытягивал бинарники ядра вместе с символами
     
  11. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    rain

    нужно не делать софт а проверить в данный момент свою машину
     
  12. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    не легче просто свежую венду поставеть? :)
     
  13. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    Хм... почему?

    Как еще проверить что на данной машине ядро было изменено?
    Если знаешь подскажи - а смеяться все мастера
     
  14. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    Freeman
    Очень просто - но времени бывает нет - на все эти переустановки

    И вообще - как обэтом узнать? При любом подозрении переустанавливать систему?) Неужели если изменить файлы и в кеше и в system фолдер, то уже и отследить не возможно
    как то ведь можно
     
  15. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    zoool
    Что значит пощитать ImageBase? Эта база по которому если память будет свободна спроэцируется файл, как ты собрался ее щитать?

    Мож ты имел ImageSize то с вероятностью 100% его при изменении файла тоже перещитают.
     
  16. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    PaCHER
    Блин
    Ты прав
    имелось ввиду ImageSize

    ImageSize = LastSectionRVA + LastSectionSize

    Вот только последняя секция криптора. При восстановлении образа, ImageSize в РЕ обычно не трогают. Восстанавливают только секции. А размер образа криптованного файла как правило несколько больше, чем оригинального, хотя физический размер меньше.
     
  17. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    ну дык n0name ответил во втором посте, если файла оригинала нет и не сделано никаких предварительных тедлдвижений в этом направлении то понятное дело никак. А так вообще если тебе разово нужно провериться то неужели так сложно взять болванку с которой установлен дистрибутив или найти файл в сети, накрайняк уж запустить иду и проверить вытянет ли она pdb'шник (по идее если файл фейковый то не должна) и проверить?
     
  18. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    rain
    ага - вот это стоит попробовать - пасиб
     
  19. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    UTeX


    Припрямой записи на диск используя порты HDD файл меняется, только если он в кеше Widows то НИКАКИМИ обычными способами до перезагрузки эти изменения обнаружить неудасться. Проверено (2000 XP 2003 Vista)
     
  20. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    На худой конец можно просто с установочного диска репейр сделать.