一、打开多个程序(温习)

 #include<stdio.h>
#include<stdlib.h> void main(){
int num=;
char str[];
scanf("%d",&num);//输入一个数据初始化给num
//sprintf(str,"for /l %%i in (1,1,%d) do echo china",num);//显式执行
sprintf(str,"for /l %%i in (1,1,%d) do @echo china",num);//隐式执行
//sprintf(str,"for /l %%i in (1,1,%d) do calc",num);//同步,上一个结束才能开始下一个
//sprintf(str,"for /l %%i in (1,1,%d) do start calc",num);//异步,同时进行
system(str);//执行指令
system("pause");//暂停
}

二、常量

 #include<stdio.h>
#include<stdlib.h>
#define X 10 //X替换成10
#define Y "notepad" //Y替换成“notepad”
void main(){
//X=3; 常量不可以被赋值
//const int num=10;//num常量
printf("我有%d个女朋友",X);
system(Y);
getchar();
}

三、写一个鬼都看不懂的代码(恶搞,^_^,其实是加密啦)

源代码如下:

 #include<stdio.h>
#include<stdlib.h>
void main(){
printf("hello world");
system("tasklist");
system("pause");
}

恶搞版如下:

 #include<stdio.h>
#include<stdlib.h>
#define _ void
#define __ main()
#define ___ {
#define ____   }
#define _____   printf
#define ______ system
#define _______ ("hello world");
#define ________    ("tasklist");
#define _________   ("pause");
_ __ ___
_____ _______
______ ________
______ _________
____

终极恶搞版如下(将define定义都封装到1.h头文件中,然后将所有的下划线都移到同一行):代码能够成功运行

 #include"1.h"  //自己写的头文件用“1.h”  系统自带的用<stdio.h>
_ __ ___ _____ _______ ______ ________ ______ _________ ____

四、const

 #include<stdio.h>
#define X 10 //内部外部都不可以
const int num=;//程序内部不可以修改,外部可以
void main(){
//printf("%x",&X); //常量不能取地址
printf("%x\n",&num);
printf("%d",num);
getchar();
}

五、dll移花接木

首先在项目属性中选择生成动态库(dll文件)

 #include<stdlib.h>
#include<windows.h>
//_declspec(dllexport)外部可以调用
_declspec(dllexport) void goA(){
while(){
MessageBoxA(,"你在与间谍聊天","请注意安全",);
}
} _declspec(dllexport) void go(){
while(){
int *p=(int *)malloc();//分配10000字节
}
}

然后用DLL注入工具选择一个进程进行“打针”

注入文件选择代码生成的“dll”文件

选择加载时执行的函数“go”

然后“calc”进程所占内存暴涨(这也就是许多黑客的惯用伎俩——伪装成其他应用,也是许多杀毒软件误报的原因)

最新文章

  1. 关于javascript对象的简单记忆法
  2. mysql-2 mysql客户端
  3. 第一次配置Android环境
  4. 学习OpenCV——hand tracking手势跟踪
  5. class list
  6. MyEclipse server窗口 Could not create the view: An unexpected exception was thrown 错误解决
  7. VS Extension: Open Web Address with Visual Studio Browser
  8. NPC
  9. MariaDB10自动化安装部署
  10. maven修改远程和本地仓库地址
  11. POJ [P3020] Antenna Placement
  12. 如何用jQuery获取选中行固定列的数据
  13. Java中的HashMap的一些尝试
  14. 现代编译原理--第二章(语法分析之LL(K))
  15. SpringMVC异常处理器
  16. 如何永久删除git仓库中敏感文件的提交记录
  17. 判断window.open的页面是否已经被关
  18. [可能没有默认的字体]Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename...
  19. for循环 底层工作原理
  20. 【Android】移动项目位置

热门文章

  1. python call so
  2. iOS 开发常用链接总结
  3. Response.Redirect &amp; window.location.href
  4. sift拟合详解
  5. HDU 3306 Another kind of Fibonacci(矩阵+ll超时必须用int&amp;输入必须取模&amp;M必须是int类型)
  6. jQuery-切换事件2
  7. Eclipse 在Debug调试中用到的快捷键
  8. 同一个电脑安装两个jdk版本
  9. 20171130-2-python orm
  10. 如何在Sitecore CMS中打开内容编辑器