wince下mini2440登陆Telnet和FTP需要密码解决方法

经过两周多的纠缠,今天终于在mini2440下能登陆telnet了。过程是痛不欲生,阶段性成果还是让人能释怀。先对个人之前困惑,目前豁然开朗等情况总结汇总。

原来使用英创的telnet调试习惯了,同时下载速度较快,入手友善之臂mini2440也希望如此。mini2440提供的缺省内核,已包含了telnet和ftp,在电脑上cmd->telnet 192.168.1.230就能登录,出现如下对话框:

wince下mini2440登陆Telnet和FTP需要密码解决方法

第一次见着,以为友善处于啥保护目的故意的,于是乎瞎猜了几个,均失败。在网上寻找原因,

http://blog.csdn.net/joyzml/article/details/5575620

http://blog.csdn.net/gooogleman/article/details/7010170

网上牛人都提供了解释和方法,我也照猫画虎,首先看**册表,晕,"UseAuthentication"=dword:0是等于零,应该不需要验证的呀!我不甘心于是乎改了注册表,编译,不行,有改回来,还是不行,那个郁闷啊!(困惑1:为啥UseAuthentication"=dword:0还是需要密码呢!)其中 第一个链接朱铭雷大哥的图片给我了启发,是不是需要设置userlist,我也设置了几个,同时将useauthentication设为1。很激动了等了大半天编译完内核后,登陆一试,傻眼了,用户名是有了,但是这个家伙密码是多少呢!于是乎又漫天猜开了,哎,还是无果!在CSDN求助吧,见人就问,跟疯了似的,也请哪些被我烦的人谅解一下那种猫爪的心情。冷静几天后,我又看了看core os下的telnet验证的源码,其中对useauthentication做判断了呀,那时就有种冲动,改源码,启动后直接跳过去!

今天我在msdn上找到了Telnet Server Security的说明 http://msdn.microsoft.com/en-us/library/ee499722(WinEmbedded.60).aspx。看了半天后似乎明白了些,但是对于密码还是不知道是啥!其中有个defaultdomain参数,应该和密码相关,在注册表下填了个值,登陆,不管用!再次失望!

下午的时候我手里有英创的板子,看了看UseAuthentication是0,我改为1时登陆,也出现了上图的情况!这下我就有的感觉了,因为useauthentication等于0的时候是不需要登录名和密码的,改为1需要了,这个密码和用户名哪儿来?!难道是不是自己设置!!!啊哈,网上找了找设置登录名和密码的函数,在ntlmssp.h和ntlmssp.lib中,使用NTLMSetUserInfo设置用户名和密码,code:

TCHARszUser[80], szPassword[80];
BOOLbResult;
_tcscpy( szUser, _T( "User") );
_tcscpy( szPassword, _T( "123") );
bResult = NTLMSetUserInfo( szUser, szPassword );

我赶紧登陆一试,乖乖,登陆上了!哈哈,马上在mini2440上试验,ok!搞定!

wince下mini2440登陆Telnet和FTP需要密码解决方法

看了看ntlmssp.h的说明,其中有个枚举用户名,我为了验证我的推断,mini2440原来系统没有用户名和密码,所以用啥登陆都不行。

TCHAR user1[10][10];
DWORD in=10;

for (int i=0;i<10;i++)
{
bResult=NTLMEnumUser(i,user1[i],&in);
in=10;
}

用这一试,果然,只有一个user!

说明:1、telnet下登陆是密码是不显示出来的,当时我为这还郁闷了半天。

2、困惑1没有解决,为啥注册表的useauthentication值不管用,我发帖,有人说需要useauthentication=0重新编译BSP,这个还没试,先阶段性的总结一下。

3、如有不妥之处请各位留言指正。