Использование ntdll

Тема в разделе "WASM.BEGINNERS", создана пользователем niakris, 13 янв 2011.

  1. niakris

    niakris Дмитрий

    Публикаций:
    0
    Регистрация:
    3 сен 2008
    Сообщения:
    45
    Легально ли использование в своих программах функций RtlEqualSid, RtlFreeSid, RtlAllocateAndInitializeSid и т.д. ведь в msdn написано The ... routine is reserved for system use.?
     
  2. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Легально
     
  3. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.315
    противозаконно... вас посадит первый сотрудник спецслужб, который посмотрит таблицу импорта вашей программы...
     
  4. niakris

    niakris Дмитрий

    Публикаций:
    0
    Регистрация:
    3 сен 2008
    Сообщения:
    45
    Rel
    Ну а если серьезно?
     
  5. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
    Ecли так пишут The ... routine is reserved for system use.?
    Это означает лишь только, то что в следующих версиях ntdll эта функция может работать по другому, или просто её не будет.

    Серьёзно к этому нужно относиться лишь только к тем кто не хочет лишней головной боли с совместимостью.
     
  6. niakris

    niakris Дмитрий

    Публикаций:
    0
    Регистрация:
    3 сен 2008
    Сообщения:
    45
    s_d_f
    Значит правильнее будет использовать вместо RtlAllocateAndInitializeSid связку RtlInitializeSid и RtlCopySid?
     
  7. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.315
    в MSDN много чего написано... но не вся правда... особенно это касается структур с полями "Reserved"))) пользуйтесь, я думаю у вас не должно возникнуть проблем...
     
  8. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    Rel
    > особенно это касается структур с полями "Reserved"))) пользуйтесь, я думаю у вас не должно возникнуть проблем...

    А потом когда я беру этой пепсиколы в супермаркене, на кассе случается бсод (но и в других случаях возможно).
     
  9. d2k9

    d2k9 Алексей

    Публикаций:
    0
    Регистрация:
    14 сен 2008
    Сообщения:
    325
    на самом деле экспортируемые функции в нтдлл самые стабильные и прекрасно перекочёвывают из версии в версию без изменений, а вот всякое сраное апи своё мелкомягкие любят подшерудить, единственное чего можно опасаться поля в структурах типа Reserved и зависящие от версии ядра
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Вот как раз за такие советы нужно слать далеко и надолго.

    Reserved for system use означает то, что функция, скорее всего, имеет весьма спецефичные условия вызова или работает напрямую с объектами, доступ к которым обычно не предоставляется пользователю этого апи, поэтому и написано - не юзайте ее сами, ее юзает система, и нам лучше знать как и когда ее юзать. Как пример - ntoskrnl!IoCreateFile, ntoskrnl!MmCreateSection.
    Причины могут быть и другие - например, что она может быть удалена. Или что параметры изменятся.