草庐IT

Android蓝牙协议栈漏洞剖析

1.背景介绍蓝牙协议相对于其他通信协议如WIFI(802.11)、传统TCP/IP议协等来说,更为复杂,目前蓝牙核心规范(5.3)高达3085页。蓝牙的这种复杂性使得对蓝牙的各个协议的实现进行安全测试与审计变得相对困难,从而导致协议的实现和使用容易出现较多的安全漏洞。但是从另一方面来说,它的复杂性也会要求研究员或攻击者进行漏洞挖掘的技术门槛变得相对更高,需要突破的难点也会更多。图1蓝牙核心规范说明书封面图2蓝牙协议栈架构如图2所示,蓝牙协议栈主要分为两个部分:Host和Controller。Host主要包含链路层之上的整个蓝牙协议栈,包含传输层L2CAP以及在它之上的多种应用层协议,是蓝牙协议

携程鸿蒙应用开发实践

​作者|Gordon,携程资深移动开发工程师,关注鸿蒙开发。背景作为全球领先的一站式旅游服务平台,携程始终坚持以技术创新为发展核心。自鸿蒙发布以来,我们便投入研发力量进行调研、开发,并成功落地了携程机票项目、服务卡片项目等。现将鸿蒙项目中相关经验整理分享,希望能给大家一些参考,也希望鸿蒙发展能越来越好。一、鸿蒙系统简介华为鸿蒙HarmonyOS系统是面向万物互联的全场景分布式操作系统,目前鸿蒙系统已从2.0升级更新至Beta3.0,支持手机、平板、智能穿戴、智慧屏等多种终端设备运行,提供应用开发、设备开发的一站式服务。凭借多终端开发IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交

不改一行业务代码,飞书 iOS 低端机启动优化实践

作者|徐霜晴引言在启动优化时,我们常常通过增加并发的方式来减轻主线程的耗时。而在iOS中,GCD是并发编程最常用的框架。增加并发是否是启动优化的良策?开发者适合选用哪个优先级的GCD队列?本文将结合飞书启动优化,给出选取GCD队列的最佳实践,也提供针对低端机的启动优化思路。应用此思路,我们在未修改飞书业务逻辑的情况下,在飞书低端机上,取得了不错的用户体验收益:首屏展示时间优化100ms,消息列表首刷时间优化1500ms。低端机的特性通过Instruments的AppLaunch功能,我们能看到App启动时的线程状态、TimeProfiler等信息。其中,我们发现不同设备在启动时的表现有很大差异

将 Zeek 与 ELK 栈集成

在本杂志2022年3月版发表的题为“用Zeek轻松实现网络安全监控”的文章中,我们研究了Zeek的功能,并学习了如何开始使用它。现在我们将把我们的学习经验再进一步,看看如何将其与ELK(即Elasticsearch、Kibana、Beats和Logstash)整合。为此,我们将使用一个叫做Filebeat的工具,它可以监控、收集并转发日志到Elasticsearch。我们将把Filebeat和Zeek配置在一起,这样后者收集的数据将被转发并集中到我们的Kibana仪表盘上。安装Filebeat让我们首先将Filebeat与Zeek安装在一起。使用 ​​apt​​ 来安装Filebeat,使用以

Taro性能优化之复杂列表篇

作者|Kenny,携程高级前端开发工程师。2021年加入携程,从事小程序/H5相关研发工作。一、背景随着项目的不断迭代,规模日益增大,而基于Taro3的运行时弊端也日渐凸显,尤其在复杂列表页面上表现欠佳,极度影响用户体验。本文将以复杂列表的性能优化为主旨,尝试建立检测指标,了解性能瓶颈,通过预加载、缓存、优化组件层级、优化数据结构等多种方式,实验后提供一些技术方案的建议,希望可以给大家带来一些思路。二、问题现状及分析我们以酒店某一多功能列表为例(下图),设定检测标准(setData次数及该setData的响应时效作为指标),检测情况如下:指标setData次数渲染耗时(ms)第一次进入列表页7

Taro性能优化之复杂列表篇

作者|Kenny,携程高级前端开发工程师。2021年加入携程,从事小程序/H5相关研发工作。一、背景随着项目的不断迭代,规模日益增大,而基于Taro3的运行时弊端也日渐凸显,尤其在复杂列表页面上表现欠佳,极度影响用户体验。本文将以复杂列表的性能优化为主旨,尝试建立检测指标,了解性能瓶颈,通过预加载、缓存、优化组件层级、优化数据结构等多种方式,实验后提供一些技术方案的建议,希望可以给大家带来一些思路。二、问题现状及分析我们以酒店某一多功能列表为例(下图),设定检测标准(setData次数及该setData的响应时效作为指标),检测情况如下:指标setData次数渲染耗时(ms)第一次进入列表页7

终端基础:在 Linux 终端中创建目录

在终端基础系列的 ​​上一章​​ 中,你学到了在Linux命令行中改变文件夹的知识。我在最后给出了一个练习,简单地提到了创建目录。在本系列的这一部分,我将讨论如何使用 ​​mkdir​​ 命令在Linux命令行中建立新的文件夹。mkdirdir_name​​mkdir​​ 是“创建目录makedirectories”的简称。让我们来看看这个命令的使用情况。?如果你不知道,文件夹在Linux中被称为目录。在Linux中创建一个新目录你现在应该已经熟悉了 ​​Linux中绝对路径和相对路径的概念​​​。如果没有,请参考 ​​本教程​​。如果你的系统还没有打开终端,请打开它。通常情况下,你从主目录(

跟着小白一起学鸿蒙—开源协议分析

​​想了解更多关于开源的内容,请访问:​​​​51CTO 开源基础软件社区​​​​https://ost.51cto.com​​开源协议概览许可证版本包含许可证包含源代码链接状态变化商业使用散布修改专利许可私人使用许可转售无担保责任没有商标​​2句版BSD许可证​​是是是是是是是​​3句版BSD许可证​​是是是是是是是是一般的​​著作权​​是是否否是否​​Affero通用公共许可证​​是是是是是是是是是​​Apache许可证​​2.0是是是是是是是是是是​​Eclipse公共许可证​​1.0是是是是是是是是是​​GNU宽通用公共许可证LGPL​​2.1是是是是是是是是是是​​GNU宽通用公共许

Firefox 110 发布,带来 GPU 沙盒、WebGL 改进功能

上周发布的Firefox110是今年的第二个版本,现在可以通过官方发布渠道下载和升级。这个月度版本是在 ​​Firefox109​​ 版本之后发布的,后者是在1月份发布的。总的来说,新的功能和错误修复很少,特别是对Linux来说。下面是一个快速点评。Firefox110RunninginLinuxFirefox110的最佳新功能对于Windows用户来说,这个版本有一些好消息。期待已久的安全功能“GPU沙盒”现在在Windows中的Firefox中可用。从理论上讲,沙盒可以隔离一个进程,使其他恶意程序无法攻击或访问系统中的其他进程。有了这个功能,GPU进程会被隔离,在Windows中可以给你一

从文档上学习下OCEANBASE4

​离首次测试Oceanbase4.0社区版已经过去几个月了,不过4.0的文档一直还处于开发阶段,昨天拿到了OB4文档的预览版。从个人在去年的体验上今天看到的OB4.0的文档来看,OB4和以前的OB3.X做了很多架构上的优化,很多地方似乎都有重构的痕迹。虽然对OB的新用户来说,整体架构的提升必然会提高可用性、可靠性和性能,不过对于OB的老用户来说,这并不一定是一件好事。希望Oceanbase4之后其主体能够稳定下来,今后的大版本升级能够平顺一些。今天我们先通过文档来学习一下OB4.0企业版吧。去年我写过一篇吐槽国产数据库文档的文章,后来很多国产数据库厂商都和我做了关于文档方面的沟通,希望我给他们