IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【附源码】如何用C语言做一个刷弹幕的工具? -> 正文阅读

[C++知识库]【附源码】如何用C语言做一个刷弹幕的工具?

什么是网络水军???

网络水军是指在网络中针对特定内容发布特定信息的、被雇佣的网络写手。网络水军通常简称水军,又名网络枪手,他们通常活跃在电子商务网站、论坛、微博等社交网络平台中。他们通过伪装成普通网民或消费者,通过发布、回复和传播博文等对正常用户产生影响。

水军灰产业:刷播放量,刷流量,刷弹幕,刷评价,刷点赞...

水军的分类:人肉水军, 机器水军

?点击量达到488亿???

1.机器水军原理分析

软件控制鼠标鼠标点击,实现自动刷XXX

使用win32接口,控制按键事件。

使用win32接口,控制剪贴板。

?没错!就这么简单,说干就干!

2.代码实现

#include <stdio.h>
#include <Windows.h>

#define FILE_NAME    "dm.txt"
#define LINE_COUNT	 1024
#define TIME_SPAN    6000

// 把指定的内容,拷贝到剪贴板
bool copy2Bord(const char *data, int len) {
	// 套路!!!
	// 1. 打开剪贴板
	if (OpenClipboard(NULL)) {
		// 2. 清空剪贴板
		EmptyClipboard();

		// 申请一块内存 1000
		// GlobalAlloc返回的是内存资源的句柄
		HGLOBAL clipBuffer = GlobalAlloc(
			GMEM_DDESHARE, //用于不同程序间交换数据用的
			len + 1);

		// 锁定这块内存,返回这个内存的起始地址
		char *buff =(char*)GlobalLock(clipBuffer);
		
		// 字符串拷贝, memcpy, strcpy
		strcpy(buff, data);

		// 解锁指定的内存
		GlobalUnlock(clipBuffer);

		// 写到剪贴板
		SetClipboardData(CF_TEXT, clipBuffer);

		// 关闭剪贴板
		CloseClipboard();

		return true;
	}
	else {
		return false;
	}
}

// 发送弹幕
void sendDM() {
	// 从文件中读取弹幕信息
	FILE *fp;  //是一个文件指针,用来读写文件的
	fp = fopen(FILE_NAME, "r");
	if (fp == NULL) {
		printf("打开文件:%s 失败", FILE_NAME);
		return;
	}

	char buff[LINE_COUNT];
	// 从文件读一行 
	// 从fp指向的文件中,读取一行,保存到buff
	// fgets读一行,会包含末尾的回车符!
	while (fgets(buff, sizeof(buff), fp)) { //20万
		// 发弹幕
		// buff  -> 剪贴板  -> ctrl + v  回车
		// 把buff中的内容拷贝到剪贴板 
		while (!copy2Bord(buff, strlen(buff) - 1)) {}

		// 鼠标左键单击一次
		mouse_event(MOUSEEVENTF_LEFTDOWN |
			MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
		//Sleep(20);

		// ctrl键按下
		keybd_event(
			VK_CONTROL, // 虚拟按键值 ctrl
			0,  //扫描码, 一般都取0
			0,  //0:按下 KEYEVENTF_KEYUP:抬起  
			0); //一般取0

		keybd_event('V', 0, 0, 0);   //V键按下
		keybd_event('V', 0, KEYEVENTF_KEYUP, 0); //V键抬起
		keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);  //Ctrl抬起
	    
		keybd_event(VK_RETURN, 0, 0, 0);      //回车键按下
		keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);  回车键抬起

		memset(buff, 0, sizeof(buff));

		Sleep(TIME_SPAN);
	}

	fclose(fp);
}

int main() {
	printf("准备好了吗? \n");
	system("pause");
	printf("5秒后开始\n");
	Sleep(5000);

	while (1) {
		sendDM();
	}

	return 0;
}

项目拓展

实现QQ机器人,而且摆脱腾讯的检测。

原理:使用opencv实现图像识别,结合win32的按键、鼠标自动操作。

视频教程OpenCV开发环境的搭建

? ? ? ? ? ? ? ? ??项目实战:B站 刷 弹幕程序

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:09:25  更:2021-11-23 12:12:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:41:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码