自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 规避EDR

几乎每个对手,无论他们是恶意行为者还是商业红队的一部分,有时都会遇到危及其运营的防御产品。在这些防御产品中,端点检测和响应(EDR)对攻击的攻击后阶段构成了最大的风险。一般来说,EDR是安装在目标工作站或服务器上的应用程序,旨在收集有关环境安全的数据,称为遥测。

2024-04-11 14:36:26 921

原创 链表(上):如何实现 LRU 缓存淘汰算法

数组简单易用,在实现上使用的是连续的内存空间,可以借助CPU的缓存机制,预读数组中的数据,所以访问效率更高。如果你的代码对内存的使用非常苛刻,那数组就更适合你。而且,对链表进行频繁的插入、删除操作,还会导致频繁的内存申请和释放,容易造成内存碎片,如果是Java语言,就有可能会导致频繁的GC(Garbage Collection,垃圾回收)。我们上一节课讲过,当我们往支持动态扩容的数组中插入一个数据时,如果数组中没有空闲空间了,就会申请一个更大的空间,将数据拷贝过去,而数据拷贝的操作是非常耗时的。

2024-03-07 08:54:13 307

原创 设计模式学习导读

开篇词设计模式学习导读2.1 为什么说每个程序员都要尽早地学习并掌握设计模式相关知识。2.2 从哪些维度评价代码质量的好坏?如何具备写出高质量代码的能力?2.2.1 可维护性(maintainability)代码的可维护性是由很多因素协同作用的结果。代码的可读性好、简洁、可扩展性好,就会使得代码易维护;相反,就会使得代码不易维护。更细化地讲,如果代码分层清晰、模块化好、高内聚低耦合、遵从基于接口而非实现编程的设计原则等等,那就可能意味着代码易维护。除此之外,代码的易维护性还跟项目代码量的多少

2024-03-06 20:37:45 250

原创 鸿蒙引入 OpenSSL 库和 Poco 库(编译、调用)

首先,这里执行的 cmake 是 SDK 内的 cmake,不是你自己系统上原有的 cmake。包括 toolchain file 也是 SDK 内的。所以在编译 OpenSSL 库时,要将 --prefix 设置为 /ohos-sdk/linux/native/sysroot/usr。

2024-03-06 20:31:23 2117 11

原创 Linux内核系统日志(详细版)

Linux,Ubuntu,Centos和Red Hat Enterprise Linux(RHEL),它们共同的Linux核心意味着这些操作系统都安装了日志框架来监视系统及其服务。Linux日志框架包括一组管理员可以使用的目录、文件、服务和命令。

2024-03-05 20:18:54 1664

原创 防勒索方案调研

近年来,独特的恶意软件(即勒索软件)所涉及的事件数量急剧增长。这种臭名昭著的恶意软件不仅针对普通终端用户,而且几乎所有政府的部门和商业组织都难以幸免。许多攻击事件包括财富500强公司、银行、云提供商、芯片制造商、邮轮运营商、威胁监控服务、政府、医疗中心和医院、学校、大学,甚至警察部门。勒索软件是恶意软件的一个子集,旨在限制对系统或数据的访问,直到满足攻击者请求的赎金数额。尽管第一个勒索软件出现于1989年,并断断续续存在了30多年,但它自2005年以来一直是最臭名昭著的网络安全威胁之一。

2024-03-05 20:01:35 1005

原创 Effective Modern C++(1. 型别推导)

如果一个复杂系统的用户对于该系统的运作方式一无所知,然而却对其提供的服务表示满意,这就充分说明系统设计得好。在编译期,编译器会通过 expr 推导两个型别:一个是 T 的型别,另一个是 ParamType 的型别,这两个型别往往不一样。因为 ParamType 常常会包含一些修饰词,如 const 或引用符号等限定词。在此例中,T 被推导为 int,而 ParamType 则被推导为 const int&。我们很自然地认为,T 的型别推导结果和传递给函数的实参型别是同一的。

2024-02-29 16:47:28 249

原创 Rust自我修养(4.认识所有权)

这两个冒号 :: 是运算符,允许将特定的 from 函数置于 String 类型的命名空间(namespace)下,而不需要使用类似 string_from 这样的名字。那么这里有什么区别呢?为什么 String 可变而字面值却不行呢?区别在于两个类型对内存的处理上。

2024-02-29 16:46:39 651

原创 深入理解Linux内核(绪论二)

所有Unix内核都是可重入的(reentrant),这意味着若干个进程可以同时在内核态下执行。当然,在单处理器系统上只有一个进程在真正执行,但是有许多进程可能在等待CPU或某一I/O操作完成时在内核态下被阻塞。当设备满足了读请求时,有一个中断就会通知内核,从而以前的进程可以恢复执行。当在内核态运行时,进程访问内核的数据区和代码区,但使用另外的私有栈。因为内核是可重入的,因此几个内核控制路径(每个都与不同的进程有关)可以轮流执行。在这种情况下,每个内核控制路径都引用它自己的私有内核栈。

2024-02-27 15:47:51 219

原创 Rust自我修养(常见编程概念)

【代码】Rust自我修养(3.常见编程概念)

2024-02-26 08:43:34 209

原创 深入理解Linux内核(第一章 绪论一)

内核必须实现一组服务及相应的接口。应用程序使用这些接口,而且通常不会与硬件资源直接交互。

2024-02-23 17:06:47 607

原创 华为OD机试(C语言)MVP争霸赛

在星球争霸篮球赛对抗赛中,最大的宇宙战队希望每个人都能拿到 MVP,MVP是单场最高分得分获得者。MVP可以并列,所以宇宙战队决定在比赛中尽可能让更多队员上场,并且让所有得分的选手得分都相同,然而比赛过程中的每1分钟的得分都只能由某一个人包揽。

2023-04-29 14:39:35 297

原创 学生信息管理系统(C语言版)

【代码】学生信息管理系统(C语言版)

2023-04-28 21:36:24 123

原创 华为OD机试(C语言)箱子之字型摆放

有一批箱子 (形式为字符串,设为str)要求将这批箱子按从上到下以之字形的顺序摆放在行数为 n 的空地,请输出箱子的摆放位置。

2023-04-26 12:19:22 124 1

原创 华为OD机试(C语言)字符串重新排序

给定一个字符串,该字符串包括以空格分隔的若干个单词。请对该字符串进行如下处理后输出:1、单词内部调整: 对每个单词字母重新按字典序排序。2、单词间顺序调整:①统计每个单词出现的次数,并按次数降序排列②单词之间次数相同时,按单词长度升序排列③次数和单词长度均相同,按字典升序排列请输出处理后的字符串,每个单词以一个空格分隔。

2023-04-25 22:15:57 209

原创 华为OD机试(C语言)租车骑绿岛

租用公共双人自行车,每辆自行车最多坐两人,最大载重M。4.若两指针值的合大于m,则尾指针向左移动一步,即体重最大的那个人单租一辆车。第二行,n个数字,代表每个人的体重,体重都小于等于自行车限重m。3.若两指针值的合小于等于m,则头尾指针同时向中心移动一步。给出部门每个人的体重,请问最多需要租用多少双人自行车。第一行两个数字m、n,分别代表自行车限重,部门总人数。2.头尾指针的值相加,判断是否能同租一辆车。1.将数组从小到大排序后,使用头尾指针。5.两指针相遇,指向的那个人单租一辆车。

2023-04-25 22:10:02 226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除