杀毒软件引擎技术之窥探

我是如何诱骗你的-高级钓鱼技术 经常有人问我如何进行钓鱼。email钓鱼是种很吸引人的攻击。成功实施一次email钓鱼需要有非常系统的方法。其中,前期准备阶段占用了整个攻击的大部分时间。 一个安全的邮件收发系统建立在多层次的架构之上,因此我们的钓鱼邮件有可能会被不同层次的安全层过滤掉。其中包括Email网关垃圾邮件过滤器、Outlook的“Junk Email”过滤器、杀毒软件、PS(入侵防御系统)、Web代理服务器、外出过滤... 阅读详情

一. 群雄逐鹿的杀毒软件市场
学校机房新购入了一批电脑,负责安装应用程序的李老师在杀毒软件的选择上犯了难,由于机房环境的复杂,如果不安装杀毒软件,势必会因为使用者带来运行的媒体介质感染了病毒而造成系统瘫痪或交叉感染,无论出现哪种情况都会影响上课进度和效率;但是,如果安装的杀毒软件功能不够强大,无法及时更新数据,一样不能防止病毒造成破坏。李老师考虑再三,还是决定来到电脑市场购买正版杀毒软件,但是面对市场上众多品牌的杀毒软件,他又犯了难:瑞星、金山、江民、Norton、趋势、熊猫、卡巴斯基、McAfee……每一款杀毒产品都具备它自己的优缺点和特色,我该选择哪一种呢?

二. 从病毒原理说开去
病毒的定义和行为特征
在这个年代里,计算机病毒(Computer Virus)已经是家喻户晓的名词了,而其在业界里也早已有了定义:计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据影响计算机使用,并能够自我复制的一组计算机指令或者程序代码,它可以是一个程序,一段执行代码,像生物病毒一样有独特的复制能力,可以很快蔓延。他们能把自身附着在各种类型的文件上,随文件的传播而蔓延。现在随着计算机网络的发展,病毒和网络技术结合,蔓延的速度更加迅速。计算机病毒具有可执行性、寄生性、传染性、破坏性、欺骗性、隐蔽性、潜伏性、衍生性。
以上便是早期就已经定义好的计算机病毒概念,而如今可称为病毒的,还有各种不会感染文件的特洛伊木马程序(后门)等(Trojan、BackDoor),大部分特洛伊木马除了不具备对文件的传染性以外,其他特征均与病毒符合,而且一部分文件型特洛伊木马还可感染文件。此外,还有一种通过系统漏洞进行传播的恶意程序或“蠕虫”(Worm),利用系统自带的脚本语言功能实现破坏效果的宏病毒和恶意脚本(Macro Virus、Evil Script),因此,文中将把木马后门、蠕虫、宏病毒和传统文件型病毒等统称为“病毒”。

自我复制
病毒的基本动作是复制自身,文件型病毒会把自身插入正常程序文件内部以便程序每次执行时连病毒代码也一并执行,恶意程序或木马后门会将自身复制到系统目录,然后通过多种途径令系统在启动时执行病毒体文件,但是无论是哪种病毒的复制行为,其最终目的都只有一个:潜伏到用户计算机内,伺机执行各种危害操作。
病毒在执行复制行为时必须隐蔽,否则它会轻易被稍有经验的用户发现,因此不同的病毒都会采取各种手段来实现其隐蔽目的,但是无论它们的表现形式如何,最终都可归纳为两种形式:寄生和欺骗。

寄生
这是文件型病毒的传播方式,文件型病毒的成品一般没有自己的独立程序体,它们通过受感染的可执行文件进行传播。当用户执行一个感染了文件型病毒的程序时,由于原程序的执行入口已经被破坏,因此病毒代码会首先得到执行,将自身载入内存中,成为一个“驻留程序”(TSR),根据病毒作者的破坏性差异,病毒可能仅仅停留在内存空间里等待用户执行程序时进行感染操作,也可能会主动出击,搜索用户计算机上符合感染条件的可执行文件进行感染。

较普通的文件型病毒会将自身代码放置到受感染文件的头部或尾部,而后修改文件头部的执行入口指向自身代码起始段,以达到自身先于受感染程序执行的目的,当病毒在入内存后,才会去调用受感染文件的真正执行入口,让受感染文件能够运行,这样用户才不会起疑心。在早期的感染模式里,文件型病毒通常会主动搜索感染可执行文件,甚至因为感染失败而导致文件损坏的事情也常有发生,而自从微软在Windows 2000开始引入“系统文件校验”技术后,主动搜索可执行文件进行感染的病毒寄生技术便因为导致系统不断出现“系统文件遭遇替换”的警告而逐渐退出舞台,继而换成守株待兔类型的等待程序执行后进行感染的被动寄生方式。较新的文件型病毒还会采取不感染系统文件的政策,让用户无论如何都难以发现文件被感染的痕迹。
但是直接把自身简单的插入文件首尾的寄生方式会导致文件体积和修改日期的变化,因此高级的病毒会自动根据目标文件内部的“无用”空间分配情况来将自身代码分段插入文件体内,并修改文件日期为原始日期,如此一来便加大了检测和查杀的难度。这一技术得以实现的原因是PE规范的特点:PE文件的每个节之间留有按簇大小对齐后的空洞,病毒体如果足够小则可以将自身分成几份并分别插入到每个节最后的空隙中,这样就不必额外增加一个节,因而文件大小保持不变,能做到这种形式的病毒体积必须十分小巧,否则它会把文件破坏掉的。当文件被执行时,病毒通过初始化代码的复杂计算将自身全部代码恢复连贯载入内存,继续完成下一次感染过程。

欺骗
并非所有病毒(注意此文的“病毒”所指范围)都是文件型的,例如特洛伊木马、蠕虫和恶意程序等,那么它们如何将自身隐蔽呢?这就要用到欺骗了。所谓欺骗,就是利用各种手段将自身执行文件植入系统,而不被用户轻易察觉,即使被发现,也难以判断真伪或者无法彻底删除,从最初的简单设置文件属性为隐藏,到现在的伪装系统核心文件、DLL形式,甚至驱动程序类型的隐藏,病毒技术的不断发展使得手工查杀增加了难度。

破坏
一个程序是否具备破坏性是衡量它是否属于病毒的一个重要标准,病毒的破坏是多种多样的,其实在它们进行寄生或欺骗操作时就已经对被感染的文件、以及受害计算机的环境完整性形成一定的破坏了,由于病毒需要驻留内存进行感染操作,直接导致的影响就是磁盘读写增加,计算机响应迟钝,更有甚者为了取得最高的响应速度,而修改系统正常的优先级设置让自己达到最高等级,从而导致系统效率严重下降。然而这还不是真正可怕的,当病毒发作时,可能会破坏你的文件档案,或者敞开计算机大门让入侵者随意进出,甚至通过特殊的软件读写达到破坏计算机硬件的目的。

三. 剖析杀毒软件的心脏——引擎技术
病毒和反病毒产品是天生的冤家,由于病毒永无休止的存在,反病毒产品这片领域自然也会出现众多厂商来分割的局面,因此也就衔生出了多种杀毒引擎技术。
杀毒引擎是决定一款杀毒软件技术是否成熟可靠的关键,什么是杀毒引擎呢?简言之,它就是一套判断特定程序行为是否为病毒程序或可疑程序的技术机制,引擎不仅需要具备判断病毒的能力,还必须拥有足够的病毒清理技术和环境恢复技术,如果一款杀毒产品能查出病毒但是却无法清除、或者无法将被病毒破坏的系统环境成功恢复,那它也只能是鸡肋。为了达到查杀病毒的目的,杀毒引擎自身要实施的行为就要比病毒还病毒,例如,为了及时获得环境变动的监控数据,一些杀毒引擎采用 DLL的钩子技术将自身注入系统进程中,这一行为和DLL木马无异;而为了成功拦截查杀驱动级别木马Rootkit,杀毒引擎更需要将自身的一部分作为驱动形式运行,以便进入系统内核领域……说到这里,一些计算机配置较低的用户应该能明白,为什么自己安装杀毒软件后计算机速度明显变慢了,这多半是因为杀毒软件的“文件监控”等功能导致的,因为这一功能的实现原理就如文件型病毒的寄生过程一样,只不过文件型病毒是守候在内存中伺机感染每一个打开的文件,而 “文件监控”功能是时刻驻守在内存里检查每一个打开的文件是否存在病毒,两者导致的后果都是程序载入内存的时间增加,在低配置的计算机表现得比较明显罢了。
由于以上提到的原因,杀毒软件是会不可避免的对用户计算机运行速度造成一定影响的,但是为了安全,大部分用户只能牺牲一点工作效率来换取安全了,那么,杀毒引擎的具体实现过程又是如何呢?且让我们来对其窥探一番。

1.守住每一个关卡——程序行为捕获
每个程序运行时都需要进行各种交互动作,如收发网络数据、响应某个触发事件、文件读写操作等,这些交互都被称为“行为”(Action),这个周期过程是可以被跟踪记录的,这就是杀毒引擎必须干涉的第一步,当杀毒软件的环境监视模块启动后,它会嵌入系统的操作接口,使得任何非核心程序和除了杀毒软件自身程序的运作过程都要被它实时监视,这一技术通常通过钩子技术和驱动层挂载实现,每个杀毒软件厂商都预先定义了一套病毒行为判断规范,即在一个给定的范围和置信度下,判断相关操作是否为合法。例如一个代码执行后被发现试图将自己写入用户请求执行的程序文件体内、或进行特定的复制动作和添加注册表操作,则可将其怀疑为病毒,移交给查毒过程的第二步进一步判断处理。
为了实现行为捕获操作,杀毒软件引擎必须将自身模块嵌入系统底层,在这个实现方法上,各大厂商都有自己的一套方案,一般厂商普遍采用的是中间件技术,即通过Hook挂钩方式实现对每个进程的访问,这种方案通过在系统底层与应用程序之间嵌入一个全局钩子DLL模块达到目的,从严格上来说,它的相对安全和稳定性较低,但是在源代码不开放的操作系统层面上,这是最简单的方法。
一部分厂商因为与操作系统厂商存在合作关系,因而获得了较其他厂商杀毒产品要高的操作系统特权,所以他们采用的方案是基于系统最底层的系统核心驱动,这种实现方式是最安全的,或者说最高级的实现方式,至今只有Norton获得了这个特权。随着病毒技术逐渐渗透到Rootkit层次,过去的Hook技术逐渐有点力不从心,于是杀毒厂商开始转入驱动方案,当然,由于没有操作系统厂商的授权,他们并无法实现最底层的核心驱动解决方案,于是杀毒厂商编写了一个称为“软件驱动”的中间件,用于在系统中产生一个虚拟硬件。众所周知,在操作系统中,只有驱动模块能通过一个“硬件抽象层(HAL)”的通讯接口而到达系统底层,如今流行的 Rootkit木马也是采用驱动形式进入系统核心的,因此杀毒厂商使用“软件驱动”来实现底层监视的方案是要比一般的Hook技术效果显著的,但是这也不可避免会出现一些问题,如果这个“软件驱动”存在缺陷或者被某些程序异常终止(例如出现未预料的错误),在系统底层无任何保护措施的环境下,最直接的一个后果就是系统蓝屏崩溃,造成可能的损失。

引用(小知识:系统的几个“层”)
操作系统作为一个复杂的运作体系,其内部是必须实现一定的功能模块来进行分工合作的,这些功能模块像金字塔一样层层堆积,形成了系统的几个“层”,分别是系统核心层、硬件抽象层、用户层。
系统核心层(Kernel Layer)位于整个操作系统的最底层,负责系统的基本运作,在这一层里的所有行为都由系统内置的指令来实现,所有外界因素都不会对这一处的行为造成影响。能直接进入这个层交互的程序不多,除了操作系统自身,第三方厂商若要能在此层直接工作,必须和系统厂商建立合作关系,使用系统厂商提供的接口函数才能进入。目前能在这个层面直接工作的杀毒软件只有赛门铁克的Norton AntiVirus。
硬件抽象层(Hardware Abstraction Layer)是美国微软公司为了便于操作系统在不同硬件结构上进行移植而提出的将系统底层与硬件相关的部分独立运作的思想,HAL为系统实现了“硬件无关性”,即在不同的硬件平台上,硬件与操作系统的交互也不会有所差异,这样一来,硬件厂商开发驱动的难度便能大大降低,HAL将硬件的接口细节隐藏起来,并为操作系统提供一个标准硬件交互接口,目前所有的硬件驱动都工作在这个层面上,当外界硬件存在指令请求时,驱动程序响应请求并将指令通过HAL转换为系统核心层能理解的指令交给内核执行,如果未找到相应的驱动程序类型,则将其视为“默认硬件”(Default Hardware)处理,什么叫“默认硬件”呢?最简单的例子就是进入安全模式,这时候大部分驱动程序不会被加载,此时的系统便是工作于“默认硬件”上。大部分使用“软件驱动”解决方案的杀毒软件就是在HAL层上虚拟了一个硬件来达到与核心层交互的效果,如McAfee、卡巴斯基等,瑞星2006也是通过这个方案实现了内核交互。
用户层(User Layer)就是平时我们直接看到的部分,例如桌面,大部分杀毒软件也是在这一层运行的,主要用于用户接口交互和将指令传递到杀毒引擎。一般运行于 Ring3的程序行为也产生于此,一个应用程序产生的指令要求首先被传递到HAL层,HAL层将其解释处理为核心层可以识别的指令串,然后提交给核心层最后进入cpu的指令处理循环,CPU处理完毕后将结果反向送回到用户层上的应用程序,最终得到运算结果。

2.检测的核心——基于引擎机制的规则判断
这一步环节可以称之为病毒判断的核心阶段,一个好的杀毒引擎能在这个阶段识别出相当规模的病毒,其原理是在引擎中内置一部分病毒的特征代码,称为“基于特征码的静态扫描技术”,即杀毒引擎直接在文件中查找自身携带的特征代码,力求尽量在这一步发现病毒。早期的计算机用户应该记得,当初的杀毒产品并没有非常大的病毒特征数据库,甚至KV300+的所谓病毒特征数据库还是ASCII格式的,并由用户自己手工加入,仅仅作为一种简单的扩充手段来运作而已,这是因为 KV300+的主程序内就已经包含了当时各种流行病毒的特征码。
但是如今由于网络普及和计算机技术发展,病毒攻势铺天盖地而来,如果单纯靠杀毒引擎自身携带病毒特征代码,将会造成主程序体积过于庞大而无法高效率运行,且升级麻烦等难点,因而杀毒引擎不得不将病毒特征库从自身脱离开来,形成独立的病毒数据库结构来与自身保持联系,这就是“基于特征码的静态扫描技术”的扩展产物:病毒特征代码数据库。

3.在翰林辞典中穿梭——引擎与病毒特征库的交互
由于上述原因,如今的杀毒软件已经不得不采用外部数据库连接的方法来达到识别病毒的效果,病毒特征代码数据库中以特定格式储存了各种病毒的行为标识和静态代码,在工作时,杀毒引擎需要将捕获到的程序行为转换为它自身可以识别的行为标识和静态代码,然后进入病毒特征代码数据库中查询并期待其返回查询结果,因此这个步骤是整个杀毒过程中最慢的,但是不可否认,当前的杀毒软件对大量病毒的识别都是在这个阶段完成的。因此一个足够庞大的病毒库往往能够弥补杀毒引擎的不足之处,但是当今病毒越发复杂和繁多,如此长期以往,病毒特征库将会有一天过于臃肿而导致不良后果,要解决这个问题,只能在核心技术上尽量实现将病毒检测工作在第二步完成,只可惜在当前我们仍然没有能够实现这个想法的杀毒引擎技术,因此如今的杀毒软件或多或少都依赖着一个几十MB的病毒特征库来维持工作,杀毒厂商在杀毒引擎核心未进行关键修改时发布的病毒更新其实也就是为了往这个特征数据库中添加最新发现的病毒数据,以达到查杀新病毒的作用。
“基于特征码的静态扫描技术”的最大弱点在于它无法发现和查杀“未公开”或“未收录”的病毒,由于它的大部分判断依据来自病毒特征代码数据库,一旦用户被感染了病毒中的“0day”或“私人后门”,杀毒软件就无能为力,甚至落得个被病毒终结运行的下场,当然,由于杀毒软件自身的校验机制,一般不会有病毒愚蠢到去感染杀毒软件,但是如果一个杀毒软件被病毒终止了,它就无法对用户的计算机实施病毒防护了,但是如何判断阻止由病毒发出的关闭指令,而不影响用户正常点击杀毒软件自身提供的“退出”功能,这也是个难题。
一部分杀毒引擎会通过自身的病毒行为判断规范来“怀疑”某些未收录在数据库中的程序为病毒,并询问用户需要什么解决方案,一般情况下,杀毒软件最折衷的默认解决方案是将被怀疑动机不纯的程序文件改名备份到一个被称为“隔离区”的文件夹中,然后将该原始文件销毁。这样做或许能达到查杀未知病毒的目的,但是我们也不能忽视其可能带来的严重后果,例如某个关键文件或重要文档感染了病毒,如果杀毒软件不由分说就将其消灭,那就很可能引发系统崩溃甚至经济损失,因为一个健全稳妥的查杀过程和环境恢复是很重要的。

4.月光宝盒——病毒查杀和系统环境恢复
当杀毒引擎检测到病毒时,需要分为两种情况对待,首先是尚未来得及进行感染或破坏行为的病毒,在这种情况下杀毒引擎只需要简单删除文件就可以了,但是日常操作中用户面临最多的还是已经被病毒实施感染破坏行为后的系统环境,在这种情况下,杀毒引擎必须在使用适当的方式查杀病毒后,根据病毒特征库中记录的病毒行为来智能判断当前系统环境遭受破坏的情况并进行恢复,例如对于受病毒感染的文件,杀毒引擎必须根据一定的算法在文件体内找出病毒代码寄生的部分并给予清除,这个过程必须非常谨慎,否则直接的后果就是导致原文件被破坏,这样的杀毒就毫无意义了。而对于非文件型的木马和恶意程序,由于它们会通过各种方式篡改系统注册表甚至系统文件来达到加载自身之目的,杀毒引擎在清除了这些病毒后能否准确有效的恢复受破坏的系统环境,就是对杀毒引擎的最大挑战。病毒隐藏技术已经从最初的简单加载单一启动项,演化到今天的多重启动项、进程互相保护、线程监视、远程注射、可执行文件关联、服务项目加载、驱动形式加载等方式,甚至采用多项结合的方法,使得查杀工作变得十分困难,甚至只要遗漏了一个文件未能清除,病毒便能卷土重来,因此,如何有效准确的判断和修复受损环境,也是衡量杀毒引擎技术是否成熟的关键。

以上说的是杀毒引擎完整工作过程的原理,那么,它所采取的技术有哪些呢?目前,主流的技术有两种:虚拟机技术、实时监控技术。除此之外,还有两种最新的技术仍在试验阶段,分别是智能码标识技术和行为拦截技术。

1.虚拟机技术
一提起虚拟机,部分读者可能就会联想到VMWare去了,然而这里提到的虚拟机并非如此。在反病毒界里,虚拟机也被称为通用解密器,已经成为反病毒软件中最重要的部分之一。杀毒引擎的虚拟机技术并非是为病毒提供一套计算机仿真系统,让其在内部折腾直到暴露出病毒行为特征,在这里的虚拟机是指杀毒引擎模拟出一个仿真CPU,这个“CPU”具备和真正CPU等同的指令分析功能,杀毒引擎将待检测的程序代码读入“CPU”中逐条指令循环执行,直到出现特定情况才结束工作,在这个过程中探知程序是否具备病毒行为特征或者暴露出病毒特征码。这就是杀毒引擎的“虚拟机技术”,它的目的就是让程序文件在没有实际运行的情况下得到运行后的结果,最初虚拟机技术是为了对付变形病毒而产生的,因为变形病毒会将自身代码以一定的方式进行多次变换,这样传统静态特征码扫描技术就对其无能为力,因为它根本无法确认特征码,但是即使再强悍的变形病毒也不可避免在运行时出现一段相对固定的机器码,否则它自身也无法正常运行完成变形过程,而由于这段机器码只有在运行时才能被捕获到,因此工程师开发了“虚拟机技术”诱使病毒在杀毒引擎产生的“CPU”里尽情运行,而后根据其固定机器码匹配病毒特征数据库中的静态特征来判断这个程序是否病毒。虽然这个技术可能会导致误报,但是仍不能否认其是一种有效的方法。

2.实时监控技术
实时监控技术,说白了其实就是一个文件监视器,它会在文件打开、关闭、修改等操作时将其拦截并送入查毒模块进行分析,而在如今的操作系统中要实现对所有文件操作的拦截并非易事,这需要涉及系统核心,因此,这里所采取的方案原型,就是“软件驱动”。通过驱动进入核心,便能获知每个文件的操作情况并做出反应了。这项技术的难度在于驱动代码的编写,由于内核没有异常处理过程,在这里执行的代码稍有一点错漏都能直接导致系统崩溃,且驱动与用户层的实时交互也需要一套复杂的实现方案,因此只有一定实力的厂家才实现这项技术,且实现了这项技术的厂家大部分都会连同虚拟机技术、静态特征码扫描技术一起结合起来,最终形成自己的产品。

四. 结语
许多用户都在挑选杀毒软件时犯难,实际上,如果抛开许多表面上的东西,杀毒软件的引擎实现技术也就那么几个,关键在于杀毒厂商的研发能力和实际工作效率,也不能只凭杀毒软件在对付某种病毒的差别上就断定它们之间的地位差异。符合自己使用的,就是最好的。

 
UEDumper逆向分析:自动提取虚幻引擎游戏SDK的实战指南 在游戏开发与安全研究领域,理解底层运行时结构是关键。通过分析内存中的对象布局与类型系统,可以逆向推导出程序的内部架构,这一过程对于深度定制、安全审计和竞品分析具有重要技术价值。UEDumper作为社区驱动的工具,自动化了这一繁琐过程,它通过扫描并解析虚幻引擎的GUObjectArray和GNames等核心运行时数据结构,重建出完整的类、属性与函数信息,并生成可直接使用的C++ SDK头文件。这种技术广泛应用于游戏模组开发、反外挂研究和自动化测试等场景,为分析虚幻引擎应用提供了强大支持。 阅读详情

相关推荐

EDR查杀原理曝光及免杀绕过

为了保护系统的安全和稳定性,从Windows 64位起,Windows机器有两种不同的运行模式:用户模式和内核模式,用户模式即我们平时使用各种应用程序时所处的交互模式,应用可以访问CPU和内存等资源,维持自身的正常运转。Meterpreter绕过了磁盘上基于签名的检测和使用系统调用的Shellcode检测,但在运行不到一分钟后又被报毒,这是一个基于行为的检测,由额外的DLL文件触发,通过普通 Win32 API 和反射 DLL 注入技术加载。从我目前的知识和观点来看,对此问题的非常简单的回答是——不!

摔不死的笨鸟的博客 1757

安全的动力——杀毒软件引擎技术之窥探

一. 群雄逐鹿的杀毒软件市场学校机房新购入了一批电脑,负责安装应用程序的李老师在杀毒软件的选择上犯了难,由于机房环境的复杂,如果不安装杀毒软件,势必会因为使用者带来运行的媒体介质感染了病毒而造成系统瘫痪或交叉感染,无论出现哪种情况都会影响上课进度和效率;但是,如果安装的杀毒软件功能不够强大,无法及时更新数据,一样不能防止病毒造成破坏。李老师考虑再三,还是决定来到电脑市场购...

weixin_33692284的博客 377

杀毒软件技术初探(论文)

杀毒软件技术初探(论文)包括正文和封面两部分,具有完整的格式,可参考!

杀毒软件引擎技术分析

 一. 病毒原理病毒的定义和行为特征    在这个年代里,计算机病毒(Computer Virus)已经是家喻户晓的名词了,而其在业界里也早已有了定义:计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据影响计算机使用,并能够自我复制的一组计算机指令或者程序代码,它可以是一个程序,一段执行代码,像生物病毒一样有独特的复制能力,可以很快蔓延。他们能把自身附着在各种类型的文件上,随文件

李亚涛的专栏 1254

dxf-viewer 查看器

dxf-viewer SDK 的示例,它是一个基于 Three.js 和 Vue3 构建的基于 WebGL 的 BIM 模型查看器。它用于查看 DWG/DXF/PDF 文件。面积测量 - 角度测量 -标记。

qq_25547755的博客 866

pi-star图形界面安装指南

pi-star图形界面安装指南,MMDVM热点安装,树莓派3B+热点

blueisman的专栏 1911

多线程概述;

一、线程的概述: (1)、360杀毒软件可以同时进行多个线程(即又进行电脑体检,又进行系统修复,又进行木马查杀) (2)、单线程:听歌就不能写文档………;而多线程:可以边听歌边写文档,边读电子书……同时做很多事。 1、单线程的代码: package com.atguigu.thread1; public class TestMain {...

qq_39044046的博客 221

uniapp - H5网页打包运行报错Failed to load resource: net::ERR_FILE_NOT_FOUND(uniApp打包成H5部署到服务器,打包h5白屏并报错页面空白)

Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp 坑之打包之后白屏,uniapp打包h5,HBuilderX 打包H5后空白报错 Failed to load resource: net::ERR FILE NOT_FOUND,UNI-APP H5应用白屏(空白页)解决方案,白屏并报错Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp开发,打包成H5部署到服务器,uniapp打包之后首页

🏆 前端领域优质创作者 3579

反病毒引擎设计

摘自赛迪网      作者:NJUE                                                                      反病毒引擎设计之绪论篇 1.绪论 本文研究的主要内容正如其题目所示是设计并编写一个先进的反病毒引擎。首先需要对这“先进”二字做一个解释,何为“先进”?众所周知,传统的反病毒软件使用的是基于特征码的静态扫描技术,即在文件中寻找

七七八八 2938

Unity 热更新技术 |(六)xLua框架学习最新系列完整教程

开始学习热更新方面系列知识,就从这一篇开始吧! 本系列教程 会从热更新基本概念出发,详细介绍热更新相关的全套知识点。 如热更新技术基本原理、热更新主流方案、AssetBundle系列教程、Lua语言编程、Lua与Unity交互教程、Xlua框架使用、热更新实战教程等方面。 热更新作为一个开发者必备技能,如果想学习的话,可以从现在开始了哦~ 接下来先从XLua学习使用 开始学习吧!

努力前行,总会成为自己心中的那道光 1万+

倍福EL6002实现RS232自由口通信,以称重模块RS232数据接收为例

RS-232是美国电子工业联盟制定的串行数据通信接口标准,原始编号全称是EIA-RS-232(简称RS232),它被广泛用于DCE(Data Communication Equipment ) 和 DTE(Data Terminal Equipment) 之间的连接。最早的台式电脑都会保留9针的232接口,用于串口通信,目前基本被USB接口取代。CTS是对请求发送RTS信号的响应,当DCE已经准备好接收数据时,该信号有效(ON),通知DTE可用使用TXD发送数据了。弄完了,再将CTS设置为1,让A发数据。

weixin_41883890的博客 1726

安全的动力 窥探杀毒软件引擎相关技术

相关技术   病毒和反病毒产品是天生的冤家,由于病毒永无休止的存在,反病毒产品这片领

1358

YOLOv8改进 | 融合篇,YOLOv8改进主干网络为MobileNetV3+CA注意机制+添加小目标检测层(全网独家首发,实现极限涨点)

小目标检测难点众多,导致很多算法对小目标的检测效果远不如大中型目标。影响算法性能的主要原因如下:第一,小目标分辨率低、信息量不足,导致神经网络提取到的有效特征较少。第二,小目标在图像中所占的区域较小,易受背景干扰,这对算法的定位性能要求较高。第三,小物体标注困难,训练数据有限,导致模型泛化能力差。例如多尺度学习、无锚机制和生成对抗学习等方法,都能提高小目标检测的准确性和鲁棒性。为了改善小目标漏检现象严重的问题,我在 YOLOv8 中增加了 P2 检测头,相当于有四个检测头,使网络能检测到更小的目标。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2858

安全知识:杀毒软件引擎技术之窥探

一. 群雄逐鹿的杀毒软件市场学校机房新购入了一批电脑,负责安装应用程序的李老师在杀毒软件的选择上犯了难,由于机房环境的复杂,如果不安装杀毒软件,势必会因为使用者带来运行的媒体介质感染了病毒而造成系统瘫痪或交叉感染,无论出现哪种情况都会影响上课进度和效率;但是,如果安装的杀毒软件功能不够强大,无法及时更新数据,一样不能防止病毒造成破坏。李老师考虑再三,还是决定来到电脑市场购买正版杀毒软件,但是面对

Penlee's Blog 1312

ThingsBoard教程(十九):规则节点概览介绍

在ThingsBoard的CE V2.5.6版本中,一共有这几种类型在每一种类都有包含了多个节点,每一种类型的节点都有不同的颜色表示本篇文章做一个简单的概括,后续的文章会详细讲解每一个种类的节点如何使用,每一个节点的使用。一共有10个,使用黄色表示 过滤器节点用于消息过滤和路由。一共有9个,使用绿色 属性节点用于更新传入消息的元数据。一共三个,使用蓝色 转换节点用于更改传入消息字段,如发起者、消息类型、有效负载和元数据。一共21个,使用红色标识 动作节点根据传入的消息执行各种动作。一共9个,使用黄色表示,

知无涯 1万+

PyTorch深度学习项目实战100例数据集

最近很多订阅了的用户私信咨询有些数据集下载不了以及一些文章中没有给出数据集链接,为了解决这个问题,专门开设了本篇文章,提供数据集下载链接,打包100例的所有数据集。本专栏适用人群:深度学习初学者,专栏将具体讲解如何快速搭建深度学习模型用自己的数据集实现深度学习小项目。 本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。

优快云 精品推荐 2万+

(转贴) 安全知识:杀毒软件引擎技术之窥探

安全知识:杀毒软件引擎技术之窥探一. 群雄逐鹿的杀毒软件市场学校机房新购入了一批电脑,负责安装应用程序的李老师在杀毒软件的选择上犯了难,由于机房环境的复杂,如果不安装杀毒软件,势必会因为使用者带来运行的媒体介质感染了病毒而造成系统瘫痪或交叉感染,无论出现哪种情况都会影响上课进度和效率;但是,如果安装的杀毒软件功能不够强大,无法及时更新数据,一样不能防止病

水木清华 1063

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

忽然发现,我们已经不在意有没有杀毒软件了!

说起装机必备的软件,杀毒软件或许应该得到提名。但是诸位可能也有观察到这样一个情况:杀毒软件在这两年的热度,已经不如从前了。数年前,大家可能还会因为电脑应该安装哪款杀毒软件发愁,甚至和他人...

472

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

重磅消息:卡巴斯基两款高性价比产品全新上市

还可以识别身份窃贼可能使用的远程控制应用,这些应用能窥探您使用的应用、观看的节目和访问的网站,进而复制并窃取您的身份,以加密格式存储您的敏感文档,如保险号、护照或支付详情,让您在任何设备上都能安全访问您的数据,进而让您的数字身份得到全面保护,敏感文档信息无忧。防止未经授权的访问,保护您的PC、Mac和IOS设备上的摄像头和麦克风,此外还增加了跟踪软件检测功能。新设备加入Wi-Fi时通知您,以便您断开连接,自动检查您的家庭Wi-Fi是否存在漏洞,优化您的家庭Wi-Fi速度。

2401_87257204的博客 481

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

电脑中毒后的六大紧急措施

这样做,杀毒软件可能会报告某些文件在受读写保护无法清理,但带毒运行的实际目的不在于完全清除病毒,而是在于把CIH下次开机时候的破坏减到最低,以防它再次开机破坏主板的BIOS硬件,那么就会黑屏,让你的下一步杀毒无法进行。现在虽然有众多的杀毒软件和防火墙供大家作为电脑的保护,但新病毒和木马,加上黑客人工的入侵方式,电脑中毒的情况还是很普遍.尤其是上网的用户,一不留意就会中招。2、是黑客的潜在的木马发作,或是蠕虫类病毒发作,让你的机器不断地向外界发送你的隐私、或是利用你的名义和邮件地址发送垃圾,进一步传播病毒;

m0_38073539的博客 968

避免计算机中毒的方法,不再怕病毒 电脑中毒后的6招处理方法

现在虽然有众多的杀毒软件和防火墙供大家作为电脑的保护,但新病毒和***,加上***人工的***方式,电脑中毒的情况还是很普遍。尤其是上网的用户,一不留意就会中招。如何防止中毒的技巧文章,大家已经看得很多了。那么万一中毒了,该如何处理呢?下面就谈谈中毒后的一些紧急处理措施:一、正在上网的用户,发现异常应首先马上断开连接如果你发现IE经常询问你是否运行某些ACTIVEX控件,或是生成莫明其妙的文件、询...

weixin_34534456的博客 1046

2024年最全什么是肉鸡服务器,黑客说的肉鸡正确解释_黑肉服务器(1)

(1)浏览某些带恶意代码的网页时候被修改了浏览器的默认主页或是标题,这算是轻的;还有就是遇到可以格式化硬盘或是令你的Windows不断打开窗口,直到耗尽资源死机——这种情况恶劣得多,你未保存和已经放在硬盘上的数据都可能会受到部分或全部的损失。(2)潜在的木马发作,或是蠕虫类病毒发作,让你的机器不断地向外界发送你的隐私,或是利用你的名义和邮件地址发送垃圾,进一步传播病毒;还有就是黑客的手工入侵,窥探你的隐私或是删除破坏你的文件。马上断开连接,这样在自己的损失降低的同时,也避免了病毒向更多的在线电脑传播。

2401_84281720的博客 1090

虚幻引擎Pak文件查看器:原理、工具与实战指南

在游戏开发与资源管理中,文件打包与加密是保护知识产权和优化性能的常见技术。Pak文件作为虚幻引擎(Unreal Engine)中用于整合模型、贴图、音频等资源的容器格式,其核心原理基于特定的头部结构、索引区和数据区设计,支持AES-256加密及Zlib、Oodle等压缩算法,以实现资源的高效存储与安全分发。这类技术不仅提升了游戏加载速度,也为Mod制作、逆向分析和资源调试提供了底层支持。在实际应用中,开发者常借助图形化工具(如FModel)或命令行工具(如UnrealPak.exe)进行文件查看、提取与解密

weixin_33797791的博客 416
上一篇: Windows Rootkit 技术分析
下一篇: 基于文件流的文件隐藏技术
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值