各位大侠,兄弟我急需知道如何在windows系统中提取和修改当前用户信息(主要是用户名、口令什么的信息)的方法,api函数或注册表什么的都可以,最好可以跨系统(98、2000、XP)使用。如果能提供范例,那就更好了!

解决方案 »

  1.   

    按照WinNT的安全机制,密码在控制台验证后,由winlogon分派令牌之后。密码就没有作用了,应该会被销毁。听说在Win9x下输入了登录密码后密码会被缓存,但Win2000下似乎不会这样做,所以要获取密码很困难。
      

  2.   

    根据pigpag(噼里啪啦 - 努力开发狂看书)的说法,有一种情况无法理解:
    两台机器,都使用administrator用户登录系统,当这两个用户口令一致时,两台机器互相浏览对方资源前,windows不要求输入用户口令;但是当这两个用户口令不一致时,windows肯定会要求输入用户口令。?????????????????????????????????????????
      

  3.   

    系统是2000或xp那用户名可以用api取出来,但密码是绝对取不出来的(高级黑客也许可以).劝你放弃取密码的念头吧.
      

  4.   

    NetUserGetInfo可以获得当前用户的信息,但是无法获得密码。在USER_INFO_(1,2,3)结构中虽然有Password成员,但为了保护WINDOWS的安全,使用NetUserGetInfo函数时,该成员返回NULL。所以你要获得密码只能使用黑客方法了。:)
      

  5.   

    http://www.vckbase.com/document/viewdoc/?id=798
      

  6.   

    //两台机器,都使用administrator用户登录系统,当这两个用户口令一致时,两台机器互相浏览对方资源前,windows不要求输入用户口令;但是当这两个用户口令不一致时,windows肯定会要求输入用户口令。没有试验过。如果真这样,那得去查查资料,也许哪里有缓存。WinNT的网络登录是用质询握手协议的,如果本地缓存散列应该没有用,不过微软不会蠢到用明码缓存密码的。登录机制里肯定有蹊跷:)
      

  7.   

    to:zhengoodman(你们真是来上自习的吗?) 
    你提供的方法是在用户登录的时候截取其密码,但是我的目的是想在用户登录后,采用某种方式将其信息提取出来,然后还需要进行修改。
    不知道你能不能再帮我查一下,谢谢了!
      

  8.   

    但是我的目的是想在用户登录后,采用某种方式将其信息提取出来,然后还需要进行修改。
    --------------------------------------------------------------------------------
    在2000和XP下可使用NetUsetGetInfo和NetUserSetInfo达到你的要求。
      

  9.   

    TO:firechun(天火) 
    可否提供这两个函数的调用代码?
    另外:win98下的提取和修改方法你知道吗,是否和2000、XP那样有相应函数?
      

  10.   

    win98不支持winnet api,在98下似乎可以用adsi实现,我没试过。
      

  11.   

    保留本地密码的Hash值,好像在组策略里面看见过……不过毕竟是Hash