• 【转】通过注册表读取Windows最小密码长度限制等


    注册表:

    最小密码长度 

    User   Key:   [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network] 
    System   Key:   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network] 
    Value   Name:   MinPwdLen 
    Data   Type:   REG_BINARY   (Binary   Value) 
    06   <-----   Default 
    00   <-----   Change   to 
    -------------------------------------------------------------------------------------最长密码期限 

    System   Key:   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network] 
    Value   Name:   MaxPasswordAge 
    Data   Type:   REG_BINARY   (Binary   Value) 
    ------------------------------------------------------------------------------------- 
    密码过期提前通知的天数 

    System   Key:   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon] 
    Value   Name:   PasswordExpiryWarning 
    Data   Type:   DWORD 
    14   <-----   Default 
    ------------------------------------------------------------------------------------- 
    下面是程序调用的系统变量,您可以自己测试一下,中文部分是小妹自己猜的^-^ 

    pwdProperties[密码必须符合复杂性要求] 
    pwdHistoryLength   [强制密码历史] 
    LockoutObservationInterval   [复位帐户锁定计数器] 
    AutoUnlockInterval[帐户锁定时间] 
    lockoutThreshold   [帐户锁定阀值] 

     

    ================================================================================================

     

    隐藏注册表键值

     http://www.cnsw.org/bbs/thread-68551-1-1.html

    经常有朋友会发现注册表里有一些键值可以看到却不能读取,更不能删除。这到底是怎么回事呢?其实原理非常简单,我来告诉大家。

    开发的朋友都知道Win32 API,这是微软提供给开发人员的Windows系统编程接口。其实微软还有一套Native API,这个是系统底层的API。我们很多的Win32 API调用最后都通过Native API实现与系统内核间的通信。


    在Win32 API和Native API里对字符串的定义是有区别的。在Win32 API里以”\0“作为字符串的结尾,而在Native API里“\0”确被看作一个字符。例如:"Key\0"在Win32 API里会被认为是"Key" ,3个字符长度。在Native API里就会被认为是"Key\0",4个字符长度。所以玄机就在这,我们可以利用Native API的NtCreateKey函数创建以”\0“为结尾的注册表键值。这样的话,Regedit和Regedt32以及使用Win32 API等的第三方注册表编辑软件就不能正常读写此键值。

    这样我们就达到了隐藏注册表键值的目的。NtCreateKey函数的具体使用可以参考下面的事例程序。(完)

    ==============================================================================================


  • 相关阅读:
    java学习之—栈
    java中的a++与++a的区别
    java学习之—数组的曾删改查
    Mybatis #{ } 和 ${ } 区别
    详解Windows不重启使环境变量修改生效(经典)
    laravel artisan常用命令
    Laravel 出现 No application encryption key has been specified.
    springboot的几种启动方式
    Angular 服务的简单使用
    Angular-1.6 路由 简单使用
  • 原文地址:https://www.cnblogs.com/SummerRain/p/2006045.html
Copyright © 2020-2023  润新知