Samlib.dll

Тема в разделе "WASM.WIN32", создана пользователем Shadovv13, 13 дек 2011.

  1. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    kejcerfcrv может для вас все просто, но я в этих структурах ЧАЙНИК и даже хуже!
    Можно по очереди шаг за шагом объяснить. Если вам не трудно!
    К примеру "PUNICODE_STRING ServerName" - могу за декларировать как DWORD и передать 0(локальная машина)?
     
  2. ASMatic

    ASMatic New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    233
    kejcerfcrv
    спасибо! но тулза удобная в некоторых случаях.
    Shadovv13
    Shadovv13 ты ачкализ!
     
  3. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    O_o И к чему это оскорбление!
    В других случаях я пользуюсь GetLastError, а здесь в (NTSTATUS) NtRaiseHardError.
    Утилита удобна тем, что имеет перевод на русский.
    К примеру GetLastError используется для получения размера буфера
    234 (0xEA)ERROR_MORE_DATA. Так что давайте луче по теме.
     
  4. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Ось Win XP SP3, сервер локальная машина. Хочу получить список доменов, групы и пользователи которые в них входят. Ну и конечна изменять их!
     
  5. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    Дам вам совет. Не юзайте виньеррор коды. Для каждого из них поставлено в соответствие десятки нтстатусов. Есть системные таблицы, по которым отображаются эти коды. Не следует их юзать!
     
  6. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Я только познаю все ФОКУСЫ программирования под Вин АПИ
     
  7. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    Да, в этом ваша проблема. Нельзя создать обьект без описания ObjectAttributes. Это самые основы нэйтива и макро выше тоже основной. Видимо коденг это не ваше, не обижайтесь, но это так.
     
  8. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    все у меня с кодингом получается, только я самоучка. Вот приходится все самому искать пробовать, догадываться. Здесь я никак не могу понять, и некому объяснить!
    Вот к примеру:
    typedef struct _LSA_UNICODE_STRING {
    USHORT Length;
    USHORT MaximumLength;
    PWSTR Buffer;
    } LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, UNICODE_STRING, *PUNICODE_STRING

    USHORT Length; - сюда что задавать, размер Buffer?
    USHORT MaximumLength; - не понятно!!!
    PWSTR Buffer - указатель на юникод строку, да? так и буфер содержащий текст в фомате юникод.
     
  9. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    Когда не хватило ASC2 таблицы, символы расширили. В то время и появились кодировки. Сейчас один символ занимает 2 байта в памяти. Такая строка называется Wide. Соответственно тип WIDECHAR или WCHAR. Так как со строками выполняются конкатенации и прочие манипуляции, например релокации памяти под буфер, то строки описываются структурой. Она содержит текущий размер строки, при это терминирующий символ не обязателен, но он обязателен при вычислении длины строки. Также структура содержит размер буфера со строкой и адрес самой строки. Это структуры UNICODE_STRING и ANSI_STRING, последняя отличается от первой только тем, что символы ASC2, тоесть однобайтные и сама строка имеет тип PSTR. Нэйтив работает только с юникодовскими строками. Далее любой обьект в системе может быть именованным и относиться к директории определённой. Например можно создать именованный поток и обращаться к нему по имени, а не по идентификатору. Это описывают атрибуты, также дескриптор безопасности и прочию инфу.
     
  10. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Так тут понятно!!!
    Теперь описатель
    __in POBJECT_ATTRIBUTES ObjectAttributes
    В MSDN сказано так:
    typedef struct _OBJECT_ATTRIBUTES {
    ULONG Length;
    HANDLE RootDirectory;
    PUNICODE_STRING ObjectName;
    ULONG Attributes;
    PVOID SecurityDescriptor;
    PVOID SecurityQualityOfService;
    } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;


    ULONG Length; - sizeof(OBJECT_ATTRIBUTES) - размер структуры!
    HANDLE RootDirectory; -?????? не знаю, сказано может бить НУЛ
    PUNICODE_STRING ObjectName; - вот где взять это имя объекта????
    ULONG Attributes; - ?
    PVOID SecurityDescriptor; -?
    PVOID SecurityQualityOfService;-?
    Здесь мне ничего не ясно!!!!
     
  11. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    RootDirectory - директория обьекта, если не важна, то NULL.
    ObjectName - имя обьекта, вероятно это порт. Думаю NULL, судя по сурсу и аргументам апи также.
    Остальная часть тоже нули видимо, если вы не используете имперсонацию.

    Я же привёл часть сурса, там есть стандартное макро, не наглейте а хотябы для приличия сгуглите его.
     
  12. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Ни в коем случае!

    Да к NativeAPI мне еще далеко, надеюсь в скором будущем кто-то напишет статью на эту тему.
    А пока спасибо всем, за попытки мне помочь!
     
  13. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    Нэйтив это родной системный интерфейс, он не извращён и не толсты, в отличие от виньапи. Вы с таким же успехом могли заюзать напрямую порты лса, конечно смысла нет, лучше готовые паблик интерфейсы, но вы всёже выбрали промежуточный уровень. Если не секрет, то для чего ?
     
  14. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Так исторически сложилось что администрирую некую сеть в районе, а точнее и компы у не очень опытных пользователей. А последний частенько что то учудить.
    Вот и решил написать руткит для юзер мода с возможностью удалённого подключения.

    Вы наверно скажете что подобных программ кучи - так и есть, но также есть несколько опытных юзверга которые частенько проверяют на безопасность мои владения.

    Так что приходится обращаться к нестандартным методам!
     
  15. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    А толку то от сема, пассы там многократно пошифрованы. Я когда то копал лса, но это давно было. Не знаю что сия апи делает, но думаю есть более глдные способы захачить пароль. В любом случае это никто не юзает. Привилегии получают через эскалацию, если привилегии есть, то ставят бекдор.
    В младших версиях системы были костыли типа провайдеров, которые подгружались при авторизации в винлогоне, но это вроде уже не робит. Тоесть так я и не понял зачем вам та апи.
     
  16. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Эта апи только маленькая часть от всего проекта. Она позволяет управлять юзерами, группами, алиасами и доменами. К примеру можно создать пользователя в домене Builtin с не ограниченными возможностями ну и.т.д
     
  17. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    Должны быть высокоуровневые документированные апи. Вы уверены что интерфейс не изменился в W7, W8 ?
     
  18. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    НЕТ! к сожалению в MSDN о samlib.dll ничего не сказано.
    Есть возможность с помощью RPC запросов к серверу samsrv.dll, но я думаю не потяну!!!!
     
  19. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    Shadovv13
    Ну в сурсах это внутренняя апи, сами видите. Очевидно есть годные интерфейсы, ищите!
     
  20. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Есть DDE!
    Чем дальше в лес, тем толще партизаны!