因为是最简单的。
所以,这个程序用创建一个额外的文件来判断程序是否多开。
那么,就是在程序里面,先尝试打开一个.temp
文件。
若打不开,则创建创建这个文件。
若能够打开,则判断已经有一个程序在运行中,就exit()。
那么,简单的代码来了:
#include
#include
int main()
{
FILE * fp;
fp=fopen(".temp","r");
if(fp==NULL)
fp=fopen(".temp","w");
else
{
puts("Program is running.");
exit(1);
}
while(getchar()=='1')
;
fclose(fp);
remove(".temp");
return 0;
}
对了,千万记住,这个文件在程序结束的时候要删除掉,不然就再也开不起来了。
还有就是,创建的临时文件最好有一个固定的路径,不要像我一样创建在当前路径。不然换个目录运行就能多开了。
开始脑洞吧!还有什么其他的方法能够防止多开呢?
1.绑定端口?(可能误判
2.检测进程名字
3.内存检测判断?(不一定可行
4.桌面截图判断?(丧心病狂
5.重要文件独享
6….
FROM :rickyhao.com | rickyhao.com
DDCTF-WEB&MISC-WRITE-UP MISC 0X01.签到题 flag在公告里面,赛前一天我就知道了23333333… 0X02.(╯°□°)╯︵ ┻━┻ 题目: d4e8e1f4a0f7e1f3a0e6e1f3…
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论