[c/c++] programming之路(4)、常量和变量
2024-10-11 04:20:38
一、打开多个程序(温习)
#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”进程所占内存暴涨(这也就是许多黑客的惯用伎俩——伪装成其他应用,也是许多杀毒软件误报的原因)
最新文章
- 关于javascript对象的简单记忆法
- mysql-2 mysql客户端
- 第一次配置Android环境
- 学习OpenCV——hand tracking手势跟踪
- class list
- MyEclipse server窗口 Could not create the view: An unexpected exception was thrown 错误解决
- VS Extension: Open Web Address with Visual Studio Browser
- NPC
- MariaDB10自动化安装部署
- maven修改远程和本地仓库地址
- POJ [P3020] Antenna Placement
- 如何用jQuery获取选中行固定列的数据
- Java中的HashMap的一些尝试
- 现代编译原理--第二章(语法分析之LL(K))
- SpringMVC异常处理器
- 如何永久删除git仓库中敏感文件的提交记录
- 判断window.open的页面是否已经被关
- [可能没有默认的字体]Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename...
- for循环 底层工作原理
- 【Android】移动项目位置
热门文章
- python call so
- iOS 开发常用链接总结
- Response.Redirect &; window.location.href
- sift拟合详解
- HDU 3306 Another kind of Fibonacci(矩阵+ll超时必须用int&;输入必须取模&;M必须是int类型)
- jQuery-切换事件2
- Eclipse 在Debug调试中用到的快捷键
- 同一个电脑安装两个jdk版本
- 20171130-2-python orm
- 如何在Sitecore CMS中打开内容编辑器