科技新闻

使用Python打造一款间谍程序

走远了吗. 提交于 2020-03-24 16:47:35
知识点 这次我们使用python来打造一款间谍程序 程序中会用到许多知识点,大致分为四块   win32API 此处可以在MSDN上查看   Python基础重点在cpytes库的使用,使用方法请点击 此处   C语言基础   Hook ​ 程序的基本原理在于通过注册Hook,记录系统事件 那么什么是Hook呢 Hook 技术又叫做钩子函数,系统在调用函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递 注册Hook时我们需要先导入DLL库,在Python中我们使用ctypes来导入,导入方法如下 user32 = CDLL("user32.dll") kernel32 = CDLL("kernel32.dll") 我们导入了user32.dll和kernel32.dll 这两个DLL有什么用处呢    user32.dll   是Windows用户界面相关应用程序接口,用于包括Windows处理,基本用户界面等特性,如创建窗口和发送消息   kernel32.dll  控制着系统的内存管理、数据的输入输出操作和中断处理 流程部分 知道了我们要使用什么样的工具,那么第一步应该怎么做呢 1.首先我们需要先注册Hook到系统上,通过user32.dll中的SetWindowsHookExA函数

Linux网络IO模型

别来无恙 提交于 2020-03-24 13:53:25
同步和异步,阻塞和非阻塞 同步和异步 关注的是结果消息的通信机制 同步 : 同步的意思就是调用方需要主动等待结果的返回 异步 : 异步的意思就是不需要主动等待结果的返回,而是通过其他手段比如,状态通知,回调函数等。 阻塞和非阻塞 主要关注的是等待结果返回调用方的状态 阻塞 : 是指结果返回之前,当前线程被挂起,不做任何事 非阻塞 : 是指结果在返回之前,线程可以做一些其他事,不会被挂起。 两者的组合 1. 同步阻塞 : 同步阻塞基本也是编程中最常见的模型,打个比方你去商店买衣服,你去了之后发现衣服卖完了,那你就在店里面一直等,期间不做任何事 ( 包括看手机 ) ,等着商家进货,直到有货为止,这个效率很低。 2. 同步非阻塞 : 同步非阻塞在编程中可以抽象为一个轮询模式,你去了商店之后,发现衣服卖完了,这个时候不需要傻傻的等着,你可以去其他地方比如奶茶店,买杯水,但是你还是需要时不时的去商店问老板新衣服到了吗。 3. 异步阻塞 : 异步阻塞这个编程里面用的较少,有点类似你写了个线程池 ,submit 然后马上 future.get () ,这样线程其实还是挂起的。有点像你去商店买衣服,这个时候发现衣服没有了,这个时候你就给老板留给电话,说衣服到了就给我打电话,然后你就守着这个电话,一直等着他响什么事也不做。这样感觉的确有点傻,所以这个模式用得比较少。 4. 异步非阻塞 : 异步非阻塞

重新复习-java 多态

ぐ巨炮叔叔 提交于 2020-03-24 11:42:09
多态的定义: 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)简而言之就是: 对于同一动作做出的响应产生不同的结果 多态存在的必要条件: 在继承的基础上 要有重写 父类引用指向子类对象(即向上转型) 多态存在的好处: 可替换性 (substitutability)。多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。 可扩充性 (extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。 接口性 (interface-ability)。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。 灵活性 (flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。 简化性 (simplicity)。多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。 多态的实现方式: 继承和接口 继承实现多态: 对于指向子类对象的父类引用,在处理该引用时,它适用于继承该父类的所有子类,子类对象的不同,对方法的实现也就不同,执行相同动作产生的行为也就不同。 如果父类对象是抽象类,则继承了该抽象类的子类必须父类中的所有抽象方法

国产高性价比手机要凉凉?官方回应

做~自己de王妃 提交于 2020-03-24 11:36:59
3 月,跳不动了?>>> 5月26日消息,有网友在360公司董事长兼CEO周鸿祎微博下留言:360还做不做手机了?更不更新系统了? 对此360公司官方微博回复这位网友:公司的新战略是大安全战略,将聚焦于三个安全大脑的建设。在5G和物联网时代,万物互联。360本质上是一家安全公司,将更加聚焦于安全。 360手机还会继续做吗?官方回应 360手机还会继续做吗?官方回应 目前360商城在售机型是360 N7 Lite(6GB+128GB版本),360 N7、360 N7 Pro已经售罄。 其中360 N7 Pro和360 N7 Lite是360 2018年8月21日推出的机型,360在今年1月份还推出了红衣版N7 Pro,N系列至今未有新品亮相。 当下中国手机市场竞争已经进入白热化阶段,除了360,锤子手机产品线也暂时停更。锤子科技CEO罗永浩微博确认,锤子还在做手机,但是需要一段时间,具体细节暂未透露。 来源: oschina 链接: https://my.oschina.net/u/3008585/blog/3060380

华硕技嘉“8.8”联盟案三大疑团逐一浮现

爷,独闯天下 提交于 2020-03-24 11:02:50
 PConline广州8月8日消息 [文/新闻主笔 黄约兴] 在诡异的华硕技嘉合并风传数日后,8月8日下午三点,华硕和技嘉终于在台北终于召开联合记者会,正式宣布技嘉将其旗下的主板和显卡业务切割到一家新成立的子公司中,而华硕将以转投资的方式注资这家新公司,从此双方组成策略联盟。正式改写了台湾板卡历来的五大一线厂商(华硕、鸿海、精英、技嘉和微星)独大的版图。其中,技嘉预计持股51%,华硕持股49%。新公司预计在2007年1月开始运作,在董事会的五大董事里,技嘉占了三席,华硕占了两席。   消息传出,业界一片哗然,就像AMD合并ATI一样,海峡两岸的IT制造业者在接受PConline产业资讯编辑采访时,也纷纷提出了多样的说法和疑问,不少业者坦言,这样的合作方式,尽管估计只有双方高层才清楚这次合作背后的原委和财务运作手法,但是留给业界的想象空间和疑问,依然非常巨大。不少业者在接受采访的所提出的疑问十分相似,综合起来,就是质疑合作双方的意图、运作方式、冲突回避和利益分摊。   疑团一:史前未见的合作方式背后用意何在?   这次华硕跟技嘉合作,罕有的才用双方共同成立合作公司的方式,与近年来发生的环电收购升技,鸿海收购普立尔的整体收购方式完全不同,也让先前风传华硕吞并技嘉的媒体大跌眼镜,其中,技嘉在投资额度和董事会所占席位上还占有主动权,华硕从风传中的吞并方,摇身变为投资方

MD5算法分析

て烟熏妆下的殇ゞ 提交于 2020-03-24 06:13:19
1、 MD5是什么? MD5即Message-Digest Algorithm 5(消息摘要算法第五版)的简称,是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一(又译哈希算法、摘要算法等),主流编程语言普遍已有MD5的实现。 2、 什么是散列算法? 在信息安全技术中,经常需要验证消息的完整性,散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。这个固定长度的输出称为原输入消息的“散列”或“消息摘要”(Message digest)。 3、 散列函数的基本特性 散列函数必须具备两个基本特征:单向性和碰撞约束。 3.1、单向性是指其的操作方向的不可逆性,在散列函数中是指只能从输入推导出输出,而不能从输出计算出输入; 3.2、碰撞约束是指不能找到一个输入使其输出结果等于一个已知的输出结果 或者不能同时找到两个不同的输入使其输出结果完全一致。 一个函数只用同时严格的具备了这样的特性,我们才能认可这样的一个HASH。 4、单向性的典型运用: 4.1、密码加密 利用散列函数的单向性,我们能够实现口令,密码等安全数据的安全存储。密码等很多关键数据我们需要在数据库中存储,但是在实际运用的过程中,只是作比较操作,因此我们可以比较HASH结果。 5、碰撞约束的典型运用: 5.1、用做字典的键(可哈希)

[JMS 3] ActiveMQ实现简单的helloworld

≯℡__Kan透↙ 提交于 2020-03-24 01:04:34
3 月,跳不动了?>>> 目录 (?) [-] 开发环境 搭建开发环境 运行 总结 第一篇博文 深入浅出JMS(一)–JMS基本概念 ,我们介绍了JMS的两种消息模型:点对点和发布订阅模型,以及消息被消费的两个方式:同步和异步,JMS编程模型的对象,最后说了JMS的优点。 第二篇博文 深入浅出JMS(二)–ActiveMQ简单介绍以及安装 ,我们介绍了消息中间件ActiveMQ,安装,启动,以及优缺点。 这篇博文,我们使用ActiveMQ为大家实现一种点对点的消息模型。如果你对点对点模型的认识较浅,可以看一下第一篇博文的介绍。 JMS其实并没有想象的那么高大上,看完这篇博文之后,你就知道什么叫简单,下面直接进入主题。 开发环境 我们使用的是ActiveMQ 5.11.1 Release的Windows版,官网最新版是ActiveMQ 5.12.0 Release,大家可以自行下载, 下载地址 。 需要注意的是,开发时候,要将apache-activemq-5.11.1-bin.zip解压缩后里面的activemq-all-5.11.1.jar包加入到classpath下面,这个包包含了所有jms接口api的实现。 搭建开发环境 建立项目 我们只需要建立一个java项目就可以了,导入jar包,项目截图: 点对点的消息模型,只需要一个消息生成者和消息消费者,下面我们编写代码。

3D打印技术首次造出类脑组织

南笙酒味 提交于 2020-03-23 19:34:28
3 月,跳不动了?>>> 美国《趣味科学》网站日前报道称,英国科学家近日使用新的3D打印技术,首次打印出像人脑一样柔软的类脑组织,朝最终3D打印出功能齐备的完整大脑迈出重要一步。 以往,只有相对硬一些的材料可被3D打印出来,而大脑、肺等软组织,一般很难通过3D打印技术获得。这是因为3D打印过程涉及逐层建造物体,下层要能支撑不断增长的结构的重量,打印非常柔软的材料,容易出现底层材料崩塌问题。 此次,研究人员使用一种新型复合水凝胶(包含水溶性合成聚乙烯醇以及植物凝胶两种成分),打印出三维支架,然后用胶原蛋白包裹打印出结构,并用人类细胞进行填充,得到了类脑软组织。 新研究主要作者、伦敦帝国理工学院机械工程系研究人员谭正初(音)说:“3D打印技术有望使医生利用病人自己的细胞,为其制造出定制器官,从而大幅缓解移植器官严重短缺的问题。但以前3D打印出来的生物结构,大多是骨骼或像肝脏、肾脏这样的较硬器官,大脑等软组织很难3D打印。” 为解决打印软组织难这一问题,研究人员在打印过程中进行了降温处理。谭正初说:“我们使用的是低温打印过程,这意味着,下层被冻住了,这使其非常稳固,新层结构可以打印在上面,不会出现底层崩塌的现象。打印完成后,我们可以让得到的物体慢慢解冻,并保持形状。” 据悉,该技术目前还存在不少局限性,比如,他们仅能制造出类脑组织的小样本,而非整个大脑。此外

Kafka

China☆狼群 提交于 2020-03-23 18:25:05
Kafka 是一个分布式流式处理平台。 三个关键功能: 消息队列:发布和订阅消息流,这个功能类似于消息队列,这也是 Kafka 也被归类为消息队列的原因。 容错的持久方式存储记录消息流: Kafka 会把消息持久化到磁盘,有效避免了消息丢失的风险·。 流式处理平台: 在消息发布的时候进行处理,Kafka 提供了一个完整的流式处理类库。 Kafka 主要有两大应用场景: 消息队列 :建立实时流数据管道,以可靠地在系统或应用程序之间获取数据。 数据处理: 构建实时的流数据处理程序来转换或处理数据流。 和其他消息队列相比,Kafka的优势 我们现在经常提到 Kafka 的时候就已经默认它是一个非常优秀的消息队列了,我们也会经常拿它给 RocketMQ、RabbitMQ 对比。我觉得 Kafka 相比其他消息队列主要的优势如下: 极致的性能 :基于 Scala 和 Java 语言开发,设计中大量使用了批量处理和异步的思想,最高可以每秒处理千万级别的消息。 生态系统兼容性无可匹敌 :Kafka 与周边生态系统的兼容性是最好的没有之一,尤其在大数据和流计算领域。 队列模型与Kafka 的消息模型 队列模型:早期的消息模型 使用队列(Queue)作为消息通信载体,满足生产者与消费者模式,一条消息只能被一个消费者使用,未被消费的消息在队列中保留直到被消费或超时。 比如:我们生产者发送 100

[Microsoft Teams]使用连接器接收Azure Devops的通知

半世苍凉 提交于 2020-03-23 18:17:15
1. 什么是连接器 连接器(connector)是Teams中频道的一个接受消息的功能,官方的解释如下: 连接器允许用户订阅来自 web 服务的接收通知和消息。 它们公开服务的 HTTPS 终结点,通常以卡片形式发布消息。 简单来说就是Teams提供了一个接口, web服务可以通过这个接口推送消息给Teams的频道。 2. 为什么要用连接器接受来自Azure Devops的消息? 因为微软提供了就试试看,结果用起来感觉不错,统一在Teams中接收消息也很方便美观,还可以直接在通知下面进行交流。 使用前提是要拥有Office 365的帐号,配置好连接器后Azure Devops可以将项目里发生的消息推送给Teams,例如: 工作项更新 拉取请求 代码提交 生成 发布部署和批准 在使用连接器以前我一值用邮箱接收Azure Devops的消息,于是这些消息把我邮箱塞爆了,用了Teams的连接器后,邮箱里Azure Devops的通知我就丢在那里不管了。 3. 在Microsoft Teams中配置连接器 要使用连接器,首先在Microsoft Teams中团队“频道”的“更多选项”菜单中选中“连接器”: 点“Azure DevOps Server”右边的“配置”按钮,然后输入连接器的名称点击“创建”: 创建连接器后需要复制它的 Webhook URL : 这样一个连接器就建立好了