私は、次のようなNTLMSetUserInfo
一部のユーザーのパスワードを設定するために使用するユーザーマネージャースクリプトを作成しましたADMIN
...これを行うと、ユーザー名とパスワードの組み合わせは、Telnet、HTTP Authなどのすべてのシナリオで完全に機能しますが、そうではありません。ファイルブラウジング。
さらに調べてみると、組み込みのCE構成Webページから管理者パスワードを設定すると機能することがわかりました。
管理者のレジストリは、私が使用するとそのように見えますNTLMSetUserInfo
NT = [hex value]
Password
CE Webページを介して管理者パスワードを設定すると、管理者のレジストリに追加のフィールドが含まれます。
NT = [hex value]
Password = [hex value]
管理者NTLMSetUserInfo
のグローバルCEパスワードが適切に設定されていないため、ボックスをファイル参照できません。
と呼ばれる仕事をするCEWebコード解析DLLで次の関数を見つけましたSetPassword
。管理ケースを処理するために別の関数を作成しましたが、コンパイルできません。これがその抜粋です
#include <windbase.h>
bool UserAccounts::SetAdminPassword(const std::string &passwordOld, const std::string &password)
{
wchar_t wpass[512];
wchar_t wpassold[512];
mbstowcs(wpass, password.c_str(), 512);
mbstowcs(wpassold, passwordOld.c_str(), 512);
return SetPassword(wpassold, wpass) == TRUE;
}
これは、それを示してコンパイルされません'SetPassword': identifier not found
。CEのドキュメントでSetPassword
、次の行があることに気付きました。
この関数を使用するには、Cesysgen.batファイルにパスワードコンポーネントFspassを含める必要があります。
私はPlatformBuilderなどにかなり慣れていないので、これが何を意味するのかわかりません...
誰かが私を助けたり、正しい方向に向けたりできますか?