早期病毒 黑色星期五,以及今年 二月份时候incaseformat蠕虫病毒,都是在特定时间日期病毒发作

这里用C++简单实现病毒在星期5发作

%a 星期几的缩写。Eg:Tue
%A 星期几的全名。 Eg: Tuesday
%b 月份名称的缩写。
%B 月份名称的全名。
%c 本地端日期时间较佳表示字符串。
%d 用数字表示本月的第几天 (范围为 00 至 31)。日期
%H 用 24 小时制数字表示小时数 (范围为 00 至 23)。
%I 用 12 小时制数字表示小时数 (范围为 01 至 12)。
%j 以数字表示当年度的第几天 (范围为 001 至 366)。
%m 月份的数字 (范围由 1 至 12)。
%M 分钟。
%p 以 ''AM'' 或 ''PM'' 表示本地端时间。
%S 秒数。
%U 数字表示为本年度的第几周,第一个星期由第一个周日开始。
%W 数字表示为本年度的第几周,第一个星期由第一个周一开始。
%w 用数字表示本周的第几天 ( 0 为周日)。
%x 不含时间的日期表示法。
%X 不含日期的时间表示法。 Eg: 15:26:30
%y 二位数字表示年份 (范围由 00 至 99)。
%Y 完整的年份数字表示,即四位数。 Eg:2008
%Z(%z) 时区或名称缩写。Eg:中国标准时间
%% % 字符。

代码例子

#include <stddef.h>
#include <time.h>
#include <WinDef.h>
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>


char* obtain_time(const int len)
{
    char tmp_time[64];
    time_t t = time(NULL); 
    strftime(tmp_time, sizeof(tmp_time), "%w", localtime(&t));
    //获取系统时间 “%w” 是周
    if (LOWORD(tmp_time[NULL]=='5'))
    //判断是否是周5

       {
        //是周5 则执行功能
            MessageBox(NULL, TEXT("到星期5"), TEXT(tmp_time), MB_OK);

            system("start cmd");
            //方便演示 病毒发作功能 打开cmd窗口
        }
        else
        {
        //不是周5 不执行功能
            MessageBox(NULL, TEXT("没到星期5,功能不发作"), TEXT(tmp_time), MB_OK);

        }

  

    return 0;


   
}

int main(void){
//入口

obtain_time(NULL);
//执行时间检测函数

return 0;
}
最后修改:2021 年 07 月 28 日
如果觉得我的文章对你有用,请随意赞赏