Как найти EntryPoint драйвера, если хидер битый?

Тема в разделе "WASM.NT.KERNEL", создана пользователем intel_x128, 28 июн 2009.

  1. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    Нужно найти энтри драйвера при условии, что к файлу обращаться нельзя, а заголовок в памяти битый

    Вопрос: как?
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Аж самому стало интересно почитать предложения :)
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    кривой вопрос
    Что значит к файлу обращаться нельзя? А к дампу можно? А проследить момент
    до того как заголовок стал испорчен можно?
     
  4. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    если уже в памяти то кроме как по конкретной сигнатуре в DriverEntry никак
    для того его таким и делают
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    KLDR_DATA_TABLE_ENTRY.EntryPoint
     
  6. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    Clerk
    )
    скорее всего имеется ввиду случай, когда вытерто и это
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    DRIVER_OBJECT::lol: riverEntry
     
  8. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    может только pe имелся ввиду, тогда извиняюсь
    но врядли кто-то будет тереть pe и забудет все остальное
     
  9. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Ну если вопрос в том, что трут все, тогда логичный ответ - никак
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Нужно взглянуть на драйвер(не на дамп, ибо импорт с пустого места не получится взять, если он есть). Если дров криптован/самомодифицируется ничего не получится узнать, следует отлаживать загрузку.
     
  11. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    Clerk
    А можно подробнее про эту структуру? Как получить к ней доступ? Вбил в гугл - ссылок почти никаких
     
  12. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Код (Text):
    1. typedef struct _KLDR_DATA_TABLE_ENTRY {
    2.     LIST_ENTRY InLoadOrderLinks;
    3.     PVOID ExceptionTable;
    4.     ULONG ExceptionTableSize;
    5.     // ULONG padding on IA64
    6.     PVOID GpValue;
    7.     PNON_PAGED_DEBUG_INFO NonPagedDebugInfo;
    8.     PVOID DllBase;
    9.     PVOID EntryPoint;
    10.     ULONG SizeOfImage;
    11.     UNICODE_STRING FullDllName;
    12.     UNICODE_STRING BaseDllName;
    13.     ULONG Flags;
    14.     USHORT LoadCount;
    15.     USHORT __Unused5;
    16.     PVOID SectionPointer;
    17.     ULONG CheckSum;
    18.     // ULONG padding on IA64
    19.     PVOID LoadedImports;
    20.     PVOID PatchInformation;
    21. } KLDR_DATA_TABLE_ENTRY, *PKLDR_DATA_TABLE_ENTRY;
    Блок загрузчика с PsLoadedModuleList начинается.
     
  13. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    а как узнать адрес этой структуры?
    PsLoadedModuleList ведь не экспортируется.
    KLDR_DATA_TABLE_ENTRY тоже что-то найти не могу в поиске. А Энтри нужно выдернуть оттуда.
     
  14. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    intel_x128
    все там нормально
    DRIVER_OBJECT::lol: riverSection
     
  15. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    intel_x128
    Так много что не экспортируется, скачайте отладочные символы.
    KLDR_DATA_TABLE_ENTRY это каждый элемент двусвязанного списка, что значит не могу найти ?
     
  16. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    Clerk
    Все )) нашел ))) Респект огромнейший!!! Вы истинный гуру!
     
  17. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Какой есчо респект, элементарное понятие. На форуме вроде поиск работал, перед тем как тему создать не мешает его заюзать.)
     
  18. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Я не понял, зачем из DriverObject вынимать что-то, отличное от DriverInit поля.
    Зачем референсить DriverSection, чтобы потом вынуть тоже самое?
     
  19. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    Clerk, Great
    Респектосы зы то, что понимаете, что я нуб и вопросы простейшие, но все-равно всегда поможете, в отличие от большинства ))))))))