首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

wannacry病毒作者_wannacry病毒利用了哪种漏洞

(一些使用到的API) 检查互斥体是否存在 检查00000000.dky和00000000.pky是否存在,是否是配对的,如果是返回1,否则返回0 如果已经加密过,则创建一个线程,做三件事情...,以及密钥是否配对,是则设置全局标志,然后退出线程 线程3 每隔3秒检测磁盘盘符是否发生变化,如果发生变化 则开启线程 加密新磁盘的文件 线程4 每隔30秒 运行 taskdl.exe 清除所有磁盘的回收站文件...,保证系统正常运行 创建AES秘钥,加密文件 加密流程图 加密流程: 加密文件的算法是AES, AES秘钥被RSA公钥_B加密, 私钥_B 被RSA公钥A 加密, 私钥_A在攻击者手里...,没有中毒的机器,尽快打补丁可以避免中毒,但是已经中毒的打补丁也没用了 3.2 关闭端口 此病毒所利用漏洞只要利用445端口传播,关闭端口漏洞就无法利用 3.3 创建互斥体 此办法只适用于未变种版本...,由于病毒会检测是否创建互斥体MsWinZonesCacheCounterMutexA,用户可自行创建此互斥体,这样病毒检测到互斥体就不会进行加密操作 3.4 因为病毒是生成加密过的用户文件后再删除原始文件

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

快速上手makefile自动化构建工具

✈️ makefile背景  会不会写makefile,从侧面说明了一个人是否具备完成大型工程的能力。  ...✈️ ACM时间   我们来看这样一个现象:   通过上面的现象,我们发现,我们只能make一次,生成对应的可执行程序之后make会检测生成的可执行程序是否存在,存在就不再生成。   ...其实这是因为每个文件都存在着三种时间,make命令则是根据某个时间来判断你的文件是否更改过,是否更新过,再继续做出判断到底执不执行make。...  所以我们makefile的文件就可以这样写:   测试是否可行:   其实在makefile文件中我们甚至可以不用写gcc 和 -o选项,我们可以定义makefile变量: g=gcc#变量g就表示...gcc flag=-o#变量flag就表示-o 替换格式: $(变量)   这样我们就能对 gcc 和选项 -o 进行替换了:   我们进行测试:   同样我们在写依赖关系的时候也可以用变量进行替换:

9510

Linux学习 - 命令运行监测和软件安装

configure是检查系统的库文件、类文件、依赖软件是否存在以及它们的版本是否满足需求,并根据实际检测结果生成Makefile的工具。一般是一堆bash命令的组合。通常也需要在这一步配置一些参数。...编译的语句都写在了Makefile中。make默认编译Makefile中出现的第一个target,也可以指定target编译,并根据Makefile的设置方式依次编译所有依赖的东西。...安装好的软件放入环境变量, 就可以快乐的运行了。 两点注意: 从源码编译最难解决的问题就是依赖的库文件、头文件、依赖软件的缺失或版本不匹配,没有统一的解决办法,原则就是缺啥补啥。...后面提到的Anaconda,会对库文件的依赖提供一个简便的解决办法。...三部曲每一步的执行,屏幕上都会输出比较多的信息,一定仔细看最后有没有ERROR类的字样,对判断软件有无安装成功和下一步要怎么解决问题会很有帮助。

1.9K60

使用 Make 构建网站

万一Grunt和JSHint升级,插件没有升级,就有可能出现兼容性问题。Make是直接调用JSHint,不存在这个问题。...(4)功能问题 make已经使用了几十年,全世界无数的大项目都用它构建,早就证明非常可靠,各种情况都有办法解决,前人累积的经验和资料也非常丰富。...三、Makefile的通用配置 开始构建之前,要编写Makefile文件。它是make命令的配置文件。所有任务的构建规则,都写在这个文件(参见《Make 命令教程》)。 首先,写入两行通用配置。...SHELL变量指定构建环境使用BASH。 四、检查语法错误 第一个任务是,检查源码有没有语法错误。 js_files = $(shell find ....-p $(dir $@) handlebars templates/*.handlebars > $@ template: build/templates.js 上面代码查看build目录是否存在

3.2K40

C语言(可重入函数)

大家都写过C语言中的函数,但有没有想过,你编写的函数在同一个时刻是否允许被多个调用者调用呢?是不是不管谁来调用,有多少个调用者同时调用,都能给出一致的表现,返回一致的结果?...函数可能使用了能长期存活的静态数据,俗称老不死数据。...综上所述的函数行为总结一个概念就是:在多次调用中(不管是否同时)行为变现一致的函数,被称为可重入函数,否则被称为不可重入函数。...正如其名所提示的,我们在程序中,同时调用这些函数有可能会产生不一致的结果,产生这样结果的原因有三,上面已经提到,用比较官方严肃的语言来表述如下: 一是因为函数内部使用了共享资源,比如全局变量、环境变量。...从这点出发,如果你想要写一个线程安全的可重入函数的话,只要遵循以下原则就行了: A) 不使用任何静态(老不死)数据,只使用局部变量或者堆内存。 B) 不调用上表中的任何非线程安全的不可重入函数。

2.3K40

最全“勒索病毒”的应对方案

所有受害电脑中的文件和软件都会被加密锁定,黑客要求必须在指定时间内,支付价值300美元的比特币才能解锁文件;如果超时,支付额会翻倍;拒绝的话,电脑中的文件则可能会被彻底清空。...禁用办法有两种:命令行禁用和服务列表中 Server 禁用。 ?...(图片来源于网络) 对于 XP、2003 等微软已不再提供安全更新的机器,推荐使用360 “NSA 武器库免疫工具” 检测系统是否存在漏洞,并关闭受到漏洞影响的端口,可以避免遭到勒索软件等病毒的侵害。...企业管理员用户: 管理员在不确定电脑是否被感染的情况下,可以使用腾讯电脑管家首推的“管理员助手”诊断工具进行检测。...(4) 360安全卫士【离线救灾版】的NSA武器库免疫工具会自动运行,并检测您的电脑是否存在漏洞。 (5) 完成修复后重启电脑 ?

2.5K90

网络工程师从入门到精通-通俗易懂系列 | 搞定RIP路由协议+默认路由

· 水平分割(split horizon) 从一个接口学习到的路由不会再从该接口更新出去,cisco可以对每个接口关闭水平分割功能 · 路由中毒(route posion) 用于在发往其它路由器的路由更新中将路由标记为不可达...· 毒性逆转(poison reverse) 带毒性反转的“水平分割”规则规定,从特定接口向外发送更新时,将通过该接口获知的所有网络标 示为不可达 · 触发更新(trigger update) 一旦检测到拓扑变更...,立即广播路由刷新报文,不等到下一刷新周期 · 抑制定时器(Hold-down Time) RIP定时器 ?...有没有一种办法,让默认路由自动传递,不需要每台路由器上都去写默认路由。 方法1:写一条出接口形式的默认路由 R2: ip route 0.0.0.0 0.0.0.0 F1/0 必须是出接口 !

80140

PureDNS –具有精确通配符过滤功能的快速域解析器和子域暴力破解

负载平衡 通过运行一系列已知的,受信任的解析器来验证结果是否没有DNS中毒 保存有效域,通配符子域根目录以及仅包含有效条目的干净massdns输出的列表 从stdin读取域或单词的列表,并启用安静模式,...如果PATH环境变量中存在指向massdns二进制文件的路径,则puredns将立即可用。/usr/local/bin在大多数系统上,复制massdns可执行文件的一个好地方。...执行此步骤后,结果通常会受到污染:某些公共解析器将向您发送错误答案,通配符子域会迅速使结果膨胀。...2.通配符检测 然后,Puredns使用其通配符检测算法从massdns结果文件中检测并提取所有通配符子域根。...此时,生成的文件应清除通配符子域和DNS中毒的答案。 项目地址: https://github.com/d3mondev/puredns

2.8K30

linux安装软件的三种方式:yum install 、rpm安装以及源码包安装

8)rpm包安装的时候要手动配置环境变量。...笔者嫌这样太麻烦,所以直接 加上-y选项,这样就省略掉了问用户是否安装的那一步 4)卸载一个rpm包 “yum remove [-y] [rpm包名]” 卸载和安装一样,你也可以直接加上-y选项来省略掉和用户交互的步骤...所以如果你的机器上没有安装gcc就没有办法去编译源码。你可以使用 yum install -y gcc 来完成安装。 安装一个源码包,通常需要三个步骤: 1. ....在这一步会自动检测你的linux系统与相关的套件是否有编译该源码包时需要的库,因为一旦缺少某个库就不能完成编译。只有检测通过后才会生成一个Makefile文件。...等check结束后生成了Makefile文件 除了查看有没有生成Makefile文件来判定有没有完成./config 的操作外,还可以通过这个命令”echo $?”

12.6K22

Makefile missing separator. Stop.怎么解决「建议收藏」

运行makefile 提示:makefile 3 missing separator.stop: 检查了一番发现,有几个原因会引起这样的结果: 第一:makefile的命令行,开头必须用tab键,目前没有发现...查看/etc/vimrc文件以及~/.vimrc,查看是否有set fileencodings的选项,是否设定了utf-8。没有的话加上。...stop makefile常见错误 [解决办法] 这个makefile里不要乱用TAB,只有命令所在的行才能且只能以TAB开头!...其他的如,make变量的定义、赋值,make内定函数如$(error "strings")都不能以TAB开头,不然make会将其作为命令来处理! [解决办法] 1.第一行ifnep这个符号是做什么的?...-C $(KDIR) M= $(PWD) clean: rm -rf *.o *.mod.c *.ko *.symvers *.order *.makers endif [解决办法

3K30

说唱有嘻哈 算法有哈希

看新闻得知一个叫Wow.exe的文件可能中毒了,公告叫大家检测该文件的MD5校验码,这又是个什么意思? ?...如果文件被病毒修改过,那么会得到一个完全不同的32位字符串,所以我们下载这个WOW.exe文件以后,只需要对这个文件使用MD5算法,看看校验码是否跟网站给出的MD5校验码一致,就可以判断该文件是否中毒。...哈希算法解决了什么问题 又要拿快递说事了,没办法,快递里很多规则都是程序员定的,所以用这个来看比较形象。 双十一刚过不久,大家收快递有没有收到手软?手机短信有没有收到手抖?...这里均匀的意思是尽量保证快递在架每一个架子,每一层都有,不是堆在一个架子的一层,如果都堆在一层,找的时候还是一个个去对快递单号,架子没有起到作用,找起来一样很慢)。...有没有感觉很形象?(和快递架那张图对比看) 前面看到计算文件的哈希算法实现是MD5,驿站放快递也有自己的编码实现,那么HashMap如何实现哈希算法?

55630

一文读懂机器学习“数据中毒

或者,如果我们提供的所有羊图像中都包含大片牧场像素区域的话,那么机器学习算法可能会调整其参数来检测牧场,不再以羊为检测目标。 ?...在之前的某个用例中,一个皮肤癌检测算法曾错误地将所有包含标尺标记的皮肤图像都识别为存在黑色素瘤。这是因为大多数恶性病变的图像中都含有标尺标记,机器学习模型检测这些标记要比检测病变变化容易得多。...在这种情况下,如果说,我们用于训练图像分类器的所有狗够的图像都是用同一架相机拍摄的,那么最终,该机器学习模型可能会去检测特定图像是否是由该相机进行拍摄的,不去检测图像的内容。...TrojanNet利用单独的神经网络来检测对抗补丁,并触发预期行为 TrojanNet“数据中毒”方法有以下几个优点。...第三,它不会降低模型在其原始任务上的性能,这是其他类型的“数据中毒”经常出现的问题。最后,TrojanNet神经网络可以通过训练检测多个触发器,不是单个补丁。

80920

实战Makefile前,该知道那些知识?

也许在写Makefile的时候,都要养成这样一个习惯,一般的风格都是: clean: rm $(obj) *.o 更为稳健的做法是(原因:如果当前目录存在clean文件,该命令会执行失败),解决办法...命令出错规则(-符号): 当命令运行完,make会检测每个命令的返回码,如果返回成功,那make会执行下一条命令,当规所有的命令成功返回后,make执行完成。....PHONY:clean clean: -rm $(obj) *.o 变量 变量的定义 Makefile也支持变量定义,变量的定义也让的我们的Makefile更加简化,可复用。...-Wall -g -c LDFLAGS:链接库使用的选项-L -l 其中:默认值可以被修改,比如CC默认值是cc,但可以修改为gcc:CC=gcc 自动变量Makefile的语法提供一些自动变量,...这些变量可以让我们更加快速的完成Makefile的编写,其中自动变量只能在规则中的命令使用,常用的自动变量如下: $@:规则中的目标 $<:规则中的第一个依赖文件 $^:规则中的所有依赖文件 CC

45920

大话高可用

高可用我另一个更资深老大其实总结的很全面了:别人死我们不死,自己不作死,不被队友搞死。   然后就是怎么别人死我们不死:最好就是别人的东西和我们没关系,就是去依赖。如果实在有依赖呢,那就尽量弱依赖。...java.util包的容器的迭代器,在每次迭代的时候,其内部实现都会去判断modCount变量是否为expectedModCount的值。是的话就继续遍历,否则就抛出异常,终止遍历。...采用安全失败机制的集合容器,在遍历时不时直接在集合内容上访问的,而是先复制原有集合内容,然后在拷贝的集合上进行遍历。所以再遍历过程中对元集合所作的修改并不能被迭代器检测到,不会触发异常。...最简单的比如心跳检测、事件监听等。   安全恢复一般主要是在恢复前对系统或数据先做一些检查、数据还原等。    ...别人死我们不死和不被队友搞死的区别在于,队友和我们需要有明确的业务边界,搞清楚哪些是我们负责的,然后就是保证别人死我们不死。 ?

78220

PNAS:饮食调控大脑网络的稳定性—大脑老化的生物标志物

为了确定饮食是否会影响大脑网络的稳定性,我们另外扫描了42名成年人,使用超高场(7 T)超快(802 ms) fMRI优化单参与者水平检测灵敏度。一组在标准饮食、夜间禁食和生酮饮食条件下进行扫描。...无论酮中毒是通过生酮饮食还是外源性酮酯实现的,葡萄糖都使网络不稳定,酮则使网络稳定。总之,我们的结果表明,脑网络的不稳定可能反映了与痴呆相关的低代谢的早期迹象。...以12个静息态网络的不稳定性为预测变量,以年龄为预测变量进行LASSO回归,发现这3个网络具有高选择性,其他网络均为零权重。      ...重要的是,这表明大脑衰老的第一个潜在标记可能在认知症状明显出现前几十年就能被神经生物学检测出来。      ...图2 葡萄糖与脑网络失稳,酮中毒与脑网络稳定 图3 酮中毒饮食与标准饮食相比,ALFF增加。

29800

机器学习工具走进医疗:实时检测新型细菌危险性,控制预防疾病爆发

一种新型机器学习工具可用于检测新出现的细菌菌株沙门氏菌:比起食物中毒,它是否更有可能导致危险的血液感染。...有些类型会导致食物中毒,称为胃肠道沙门氏菌,另一些会扩散到肠道外导致严重疾病,例如导致伤寒的伤寒沙门氏菌(Salmonella Typhi)。...机器学习模型辨认了将近200个基因,用于确定细菌是否会引起食物中毒或更好地适应侵入性感染。...使用这个工具,我们可以处理大量的数据集并在几秒钟内获得结果,最终这项工作将对我们之前无法检测的危险细菌产生重大影响。”...当使用撒哈拉以南非洲地区目前出现的沙门氏菌菌株做检测时,该工具正确地辨别了两种类型的流行性感染(肠炎沙门氏菌和鼠伤寒沙门氏菌),它们更加危险且与更多的血液感染病例相关。

24830

Makefile教程

如果target已存在,则检测target依赖项是否是最新的,若被修改,则重新生成target; (4)如果依赖项(比如目标文件)是根据其它依赖项生成的,那么按照步骤3来检测生成依赖项。...“:=”表示变量的值决定于它在Makefile中的位置,不是整个Makefile展开后的最终值。...Makefile是根据依赖项是否被修改决定是否重新执行command。如果不把头文件写入依赖项中,则面临的风险就是修改了头文件,目标文件不会被重新编译。...(4)Makefile中对一些简单变量的引用,可以不使用”()”和”{}”来标记变量名,直接使用$x的格式来实现,此种用法仅限于变量名为单字符的情况。另外自动化变量也使用这种格式。...对于一般多字符变量的引用必须使用括号,否则make将把变量名的首字母作为作为变量不是整个字符串($PATH在Makefile中实际上是$(P)ATH)。

3.9K53
领券