WinNT/Win2k获取当前用户名和密码的函数实现

需积分: 9 2 下载量 87 浏览量 更新于2024-09-09 收藏 23KB DOCX 举报
"这篇文章介绍了一种在Windows NT和Windows 2000系统下获取当前登录用户用户名和密码的方法,提供了相关的C++代码实现。该方法由ccrun的朋友磨刀老头提供,并经ccrun在Win2k环境下测试通过。" 在Windows NT和Windows 2000操作系统中,获取当前登录用户的用户名和密码通常涉及到系统级别的权限和安全操作。这篇文章除了提供一种可能的实现方式外,还展示了几个关键的结构体,这些结构体在Windows系统中用于处理系统信息和进程数据。 1. `UNICODE_STRING` 结构体:这是Windows API中用来表示Unicode字符串的数据结构,包含字符串的长度、最大长度以及指向字符串缓冲区的指针。 2. `QUERY_SYSTEM_INFORMATION` 结构体:这个结构体似乎被用来查询系统的某些特定信息,包括访问权限、进程ID、句柄类型等。在实际的系统编程中,可能会用到`NtQuerySystemInformation`函数来获取这些信息。 3. `PROCESS_INFO_HEADER` 和 `PROCESS_INFO` 结构体:这两个结构体可能与系统中的进程信息有关。`PROCESS_INFO_HEADER`可能包含了进程信息列表的计数和其他未知字段,而`PROCESS_INFO`则包含了进程的加载地址、大小、未知字段以及进程名称等详细信息。 4. `ENCODED_PASSWORD_INFO` 结构体:这个结构体看起来与密码的哈希值相关,包含了密码的哈希字节、多个未知字段和一个登录时间戳。在Windows系统中,密码通常是以哈希形式存储的,而不是明文,以增加安全性。 文章中提到的`GetPassword`函数没有具体的实现,但根据上下文,它应该使用上述结构体和系统API来查询当前登录用户的凭证信息。这通常需要系统级别的权限,因此在实际应用中,需要确保正确处理权限和安全性,以避免安全漏洞。 在Windows环境中,获取用户密码通常涉及使用`LsaGetLogonSessionData`和`LsaOpenPolicy`等LSA(Local Security Authority)相关的API,但这些操作通常受到严格的权限控制,仅限于系统服务和管理员级别的程序。由于获取密码涉及到敏感信息,开发者应当遵循最佳实践,避免在不必要的场景下获取或存储用户密码,以保护用户隐私和系统安全。
2018-09-30 上传
APMServ 5.2.6 是一款拥有图形界面的快速搭建Apache 2.2.9、PHP 5.2.6、MySQL 5.1.28 &4.0.26、Nginx 0.7.19、Memcached 1.2.4、phpMyAdmin 2.11.9.2、OpenSSL、SQLite、 ZendOptimizer,以及ASP、CGI、Perl网站服务器平台的绿色软件。无需安装,具有灵活的移动 性,将其拷贝到其它目录、分区或别的电脑时,均只需点击APMServ.exe中的启动按钮,即可自 动进行相关设置,将Apache和MySQL安装为系统服务并启动。APMServ集合了Apache稳定安全的 优点,并拥有跟IIS一样便捷的图形管理界面,同时支持MySQL 5.0 & 4.0两个版本,虚拟主机、 虚拟目录、端口更改、SMTP、上传大小限制、自动全局变量、SSL证书制作、缓存性能优化等设 置,只需鼠标一点即可完成。 1、注意事项:APMServ程序所在路径不能含有汉字和空格。 2、MySQL默认用户名:root,密码为空 3、MySQL数据库文件存放目录:MySQL5.1\data或MySQL4.0\data 4、网站根目录[HTML,PHP]www\htdocs [ASP]www\asp [CGI,Perl]www\cgi-bin 5、访问本机请用http://127.0.0.1/或https://127.0.0.1/ (如果开启SSL) 6、非默认端口,网址为http://127.0.0.1:端口/或https://127.0.0.1:端口/ 7、如果在“扩展功能”中选择使用Memcached,它的端口为:11211 8、APMServ集成了以下软件: Apache 2.2.9 [HTTP服务器] Nginx 0.7.19 [HTTP服务器] NetBox 2.8 Build 4128 [HTTP服务器+ASP脚本解释引擎] PHP 5.2.6 [PHP脚本解释引擎] MiniPerl 5.8 [Perl脚本解释器] Memcached 1.2.4 [key-value内存缓存系统] MySQL 5.1.28 [MySQL数据库服务器] MySQL 4.0.26 [MySQL数据库服务器] phpMyAdmin 2.11.9.2 [MySQL数据库在线管理工具] eAccelerator 0.9.5.3 [PHP脚本加速引擎] ZendOptimizer 3.3.3 [PHP脚本加速引擎] OpenSSL 0.9.8h [HTTPS(SSL)安全传输协议] 附加组件:   ㈠Perl、CGI支持(需下载ActivePerl):   APMServ 5.2.6 附带的是MiniPerl,可以运行简单的Perl、CGI程序。如果运行复杂的Perl、CGI程序,请下载ActivePerl,安装在APMServ所在分区根目录下的usr目录中。假如APMServ所在目录为E:\APMServ5.2.6,则将ActivePerl的安装路径选为E:\usr   ActivePerl 5.8.8.819 for Windows 下载地址:[华军软件园] [中国站长站]   注意事项:   迅雷、Skype、PPLive、BT等软件启动后默认会占用80端口,导致Apache无法启动。解决方法:先关闭这些软件,启动完APMServ之后,再开启这些软件。