От новичка до гуру: Курсы программирования на CyberDuff

DLL-библиотека фильтра паролей Windows не загружается

Я пытаюсь реализовать очень простой фильтр паролей Windows на C++ на основе примеров в этой статье devx

Однако LSA не загружает DLL (ничего в загруженных модулях в msinfo32), несмотря на установленную соответствующую запись reg и копирование DLL в system32 и перезагрузку. такое бывает на 2003 x64 и 2008R2 (очевидно тоже x64). Я искал stackoverflow и реализовал все рекомендации до сих пор.

Я использую VS2012. Он установлен на x64 и /MT (поэтому мне не нужен redist, верно?), и я убедился, что файл .def указан правильно. В обходчике зависимостей я вижу, что три функции экспортируются правильно, хотя он говорит: «По крайней мере один модуль имеет неразрешенный импорт из-за отсутствия функции экспорта в неявно зависимом модуле». и утверждает, что в kernel32.dll отсутствуют некоторые импорты (не уверен, что это имеет значение).

Как я могу отладить то, что происходит в то время, когда LSA должен загружать DLL? NB Я не разработчик, поэтому некоторые из вышеперечисленных довольно туманны, особенно в отношении поведения при компиляции/связывании и при экспорте функций.

огромное спасибо


Ответы:


1

После просмотра информации по адресу: https://support.microsoft.com/en-us/kb/2686224

Я обнаружил, что информация, которую мы использовали, чтобы НЕ указывать путь, и расширение файла было неправильным для сервера 2012. Я обновил реестр с этой информацией и поместил x64 dll в папку System32 вместе с msvcp100.dll и msvcr100.dll (от каталог system32 машины, на которой я скомпилировал dll). Перезагружаемся, тестируем, БАМ!

Проверьте журналы системных событий, найдите записи об ОШИБКАХ для Directory-Services-SAM. Он либо скажет: DLL уведомления о пароле C:\Windows\System32\PasswordFilterRegEx.dll не удалось загрузить с ошибкой 126 -или- DLL уведомления о пароле C: \Windows\System32\PasswordFilterRegEx.dll не удалось загрузить с ошибкой 193

126 означает, что не удалось найти саму dll (вероятно, отсутствует путь в записи реестра) или отсутствуют зависимости (в моем случае msvcp100.dll и msvcr100.dll)

193 означает, что он не может загрузить dll из-за несоответствия архитектуры (например, вы используете 32-битную ОС, но пытаетесь загрузить 64-битную dll или наоборот)

01.04.2016
  • Это на самом деле не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав Задать вопрос. Вы также можете добавить награду, чтобы привлечь больше внимания к этому вопросу, как только у вас будет достаточно репутация. – Из обзора 01.04.2016
  • Как это не отвечает на вопрос? Я рассказал ему, как именно решить проблему, с которой он столкнулся. 01.04.2016
  • Новые материалы

    Итак, что такое MLOps?
    Согласно Представляя MLOps: «MLOPs — это стандартизация и оптимизация управления жизненным циклом машинного обучения». Это особенно интересное определение, потому что его разделение..

    Прогрессивная транспиляция
    В последние годы программисты JavaScript (он же EcmaScript) часто используют компиляторы исходного кода , также известные как транспиляторы , для преобразования более усовершенствованной или..

    Алиса в стране машинного обучения — инициатива «100 дней кода машинного обучения»
    Covnets, регрессия, классификация, ReLU, предвзятость… — все это интригующие жаргоны, которые я слышал от своих сверстников, выбравших курс машинного обучения, по касательной во время обычного..

    Иногда учитель, всегда ученик
    Учение Йоды в применении к развитию разработчиков «Делай или не делай. Нет никакой попытки.” Обучение программированию превратилось в современное «создание группы» или «написание книги»...

    Как создать файл конфигурации сборки в Xcode | Серия настроек проекта Xcode
    Эта статья шаг за шагом расскажет вам, как создать новый файл конфигурации сборки в вашем проекте Xcode. Что такое файл конфигурации сборки? Файл конфигурации сборки — это обычный..

    Venv против Virtualenv в Python  — что использовать?
    Когда дело доходит до создания виртуальных сред в Python, есть два популярных варианта: venv и virtualenv. Оба инструмента служат одной цели — созданию изолированных сред для ваших проектов..

    Реализация персептрона на Python (для абсолютных новичков)
    Введение За последние пару десятилетий было довольно много шумихи вокруг искусственного интеллекта и его приложений. В этой статье мы обсудим, что такое искусственный интеллект и его основное..