自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 动态代理详解

动态代理是一种在运行时动态生成代理对象并拦截方法调用的技术。它广泛应用于 Android 开发中,例如 AOP(面向切面编程)、插件化开发、网络请求框架(如 Retrofit)等场景。通过理解动态代理的原理和实现细节,可以在 Android 开发中灵活应用这一技术,提升代码的可维护性和扩展性。定义一个接口,作为目标对象的行为规范。接口,定义方法调用的拦截逻辑。创建一个类实现该接口。

2025-03-19 11:37:37 980

原创 网页图片长按HitTest流程分析

1. 生成触摸事件 (WM_TOUCH/WEBKIT_EVENT_TOUCH_START)2. 通过IPC::BrokeForwardTouchEvent。11. 通过Mojo接口传递HitTestData。

2025-03-17 14:02:15 668

原创 QUIC网络通信协议

QUIC减少握手延迟(0-RTT)解决 TCP 队头阻塞,提高 HTTP/3 传输效率更安全(默认 TLS 1.3),不易被中间人攻击连接迁移能力强,适合移动设备QUIC 未来可能逐步取代TCP + TLS,成为互联网新一代主流传输协议。下面是 QUIC 连接建立和数据传输的时序图,使用Mermaid语法表示:fill:#333;ClientServer连接建立 (1-RTT)连接建立 (0-RTT)连接迁移完成QUIC 连接关闭ClientServer。

2025-03-13 18:21:02 645

原创 AES加密原理

密钥扩展(Key Expansion)将原始密钥扩展为多个轮密钥(round keys),每一轮使用一个不同的密钥。扩展算法基于轮常量(Rcon)和字节替换操作。初始轮(Initial Round)将明文分块(128 位一组),直接与初始轮密钥进行按位异或(AddRoundKey)操作,生成初始状态矩阵。主轮(Rounds)SubBytes:使用 S-box 对状态矩阵中的每个字节进行非线性替换。ShiftRows:按行进行循环左移,不同行的位移量不同,打乱字节顺序。MixColumns。

2025-03-07 18:15:00 916

原创 主流加解密算法全景解析:对称、非对称与哈希算法详解

对称加密:安全性依赖于密钥保密,适用于大数据量加解密;代表算法如AES、3DES等。非对称加密:密钥对管理简单,支持数字签名和密钥交换,但加解密速度较慢;代表算法如RSA、ECC、DSA等。哈希算法:单向加密,用于数据完整性和密码存储;代表算法如MD5、SHA-256、HMAC等。各类加密算法在现代安全体系中各有定位,通常需要结合使用以构建既高效又安全的通信系统和数据保护方案。选择具体算法时需根据应用场景、数据量、安全需求以及硬件资源等因素综合考虑。

2025-03-07 12:15:17 872

原创 Android双亲委派

下面是一份 Android 类加载器双亲委派机制的时序图示例,描述了当应用调用 loadClass() 时,各个加载器之间的委派过程。ClientApp ClassLoader(DexClassLoader/PathClassLoader)Parent ClassLoader(PathClassLoader)BootClassLoader应用代码调用加载请求loadClass("TargetClass")1. 检查是否已加载2. 未加载则委派父加载器loadClass("TargetClass")1. 继续

2025-03-07 10:25:10 557

原创 OpenSSL 使用方法汇总:从证书管理到加密解密全解析

输出对应的哈希值,用于完整性校验。

2025-03-06 18:24:46 1111

原创 JAVA字节码分析

以下是Java字节码(.classJava字节码是基于的二进制流,按顺序紧凑排列,无分隔符。

2025-02-28 17:47:24 960

原创 RePlugin字节码修改流程分析

判断是否需要修改(如目标类名匹配)判断是否需要修改(如目标类名匹配)回写修改后的 .class 文件。回写修改后的 .class 文件。继续后续构建流程(打包、签名等)注册自定义 Transform。完成 Transform 任务。遍历所有 .class 文件。遍历所有 .class 文件。加载 CtClass 对象。加载 CtClass 对象。

2025-02-27 19:28:12 946

原创 C++语言基础

以上是 C++ 语言的基础内容,涵盖了基本语法、数据类型、控制结构、函数、面向对象编程、指针与引用以及 STL 的使用。C++ 是一种通用的、面向对象的编程语言,广泛应用于系统软件开发、游戏开发、嵌入式系统等领域。它继承了 C 语言的高效性和灵活性,并在此基础上增加了面向对象的特性。C++ 的核心特性之一是支持面向对象编程(OOP),主要包括类和对象。C++ 提供了丰富的数据类型,包括基本数据类型和复合数据类型。C++ 提供了强大的 STL,包含容器、算法和迭代器等工具。

2025-02-26 14:15:00 557

原创 C++开发技能

掌握常见的数据结构如链表、树、图、哈希表、队列、栈等的实现和应用,熟悉基本算法,如排序、查找、动态规划等,并能在实际问题中灵活运用。:掌握C++11、C++14、C++17等新特性,如智能指针、lambda表达式、并发支持等,以编写现代化的C++代码。:深入理解面向对象编程概念,包括类与对象、封装、继承、多态等OOP特性,以及模板、命名空间、异常处理等C++特性。:熟悉C++的基本语法、数据类型、指针、内存管理等核心知识,能够编写高效、可靠的C++代码。

2025-02-26 09:52:40 356

原创 Android Chromium 开发必备技能

深入了解Chromium的架构,特别是其渲染引擎Blink的工作原理。:了解如何在Android应用中集成和定制Chromium内核,特别是WebView的使用和优化。:熟悉使用调试工具(如GDB、LLDB)和性能分析工具(如Chrome DevTools)来调试和优化Chromium代码。:了解操作系统的基本概念,如进程管理、内存管理、文件系统等,以便更好地理解Chromium与系统的交互。:熟练使用Git等版本控制系统,以及相关的协作工具,以便参与Chromium的开发和维护。

2025-02-26 09:49:16 319

原创 Https通信中证书验证流程

客户端验证服务器证书的有效性是一个多步骤的过程,涉及证书链验证、域名匹配、吊销检查等多个环节。但在某些场景下(如自定义客户端或嵌入式设备),可能需要手动处理证书验证逻辑。在 HTTPS 通信中,客户端验证服务器证书的有效性是确保通信安全的重要步骤。检查证书的 Not Before 和 Not After 字段。以下是将您提供的 HTTPS 证书验证流程转换为。返回证书链(服务器证书 + 中间证书)使用中间证书公钥验证服务器证书签名。检查证书的 SAN 或 CN 字段。使用根证书公钥验证中间证书签名。

2025-02-21 21:24:39 872

原创 HTTPS 证书交换流程

HTTPS 的密钥交换过程是基于 TLS(Transport Layer Security)协议实现的,其核心目标是通过加密和认证机制确保通信双方的安全性。HTTPS 密钥交换的核心是通过非对称加密(如 ECDHE)协商共享密钥,并使用对称加密(如 AES)保护实际数据传输。在此阶段,客户端和服务器通过密钥交换算法(如 ECDHE)协商出共享密钥(Pre-Master Secret)。握手完成后,客户端和服务器使用协商出的会话密钥进行对称加密通信。由于椭圆曲线的数学特性,双方计算出的。

2025-02-21 12:03:21 798

原创 HTTPS 通信流程

加密套件(如 TLS_AES_256_GCM_SHA384)支持的椭圆曲线(如 X25519, P-256)验证签名算法(RSA-2048/ECDSA)验证签名(SHA-256 with RSA)发送服务器证书(X.509 v3)Finished(AEAD加密)Finished(AEAD加密)计算共享密钥(ECDHE)计算共享密钥(ECDHE)客户端随机数(32字节)服务器随机数(32字节)验证域名(CN/SAN)OCSP检查(HTTP)应用数据(AEAD加密)应用数据(AEAD加密)

2025-02-20 16:05:56 924

原创 DNS\DOH\DOT 查询流程图

fill:#333;color:#333;color:#333;fill:none;DoHDoT传统DNS协议: HTTPS端口: 443TLS加密+HTTP混合在HTTPS流量中协议: TLS端口: 853TLS加密专用端口可能被封锁协议: UDP/TCP端口: 53无加密易被劫持/篡改。

2025-02-19 10:29:50 849

原创 Chromium 内核 DNS 解析

下面是 Chromium 内核 DNS 解析的完整调用链路和时序图:fill:#333;paraltaltalt:应用程序通过调用方法来创建一个实例。在内部创建一个实例,负责管理解析请求。DnsClient创建一个DnsClient实例,用于处理 DNS 查询。DnsClientDnsClient完成初始化,准备处理 DNS 请求。:应用程序调用的方法,传入主机名。调用的方法,创建一个新的解析请求。调用缓存组件,检查是否存在该主机名的缓存记录。:如果缓存中存在有效记录,直接返回缓存结果。

2025-02-18 16:47:28 771

原创 深入解析 DNS 与 DoH(DNS over HTTPS)协议

DNS(Domain Name System,域名系统)是互联网的一项核心服务,用于将人类可读的域名(如)转换为计算机可识别的 IP 地址(如DNS 的主要功能是帮助用户通过易于记忆的域名访问网站,而不需要记住复杂的 IP 地址。DoH(DNS over HTTPS,基于 HTTPS 的 DNS)是一种通过 HTTPS 协议进行 DNS 查询的技术。它旨在解决传统 DNS 查询中存在的安全性和隐私问题。

2025-02-12 14:36:47 1306

原创 2024年AI大模型评测深度分析:GPT-4仍领先,国产模型奋起直追

近期,随着Claude 3、文心4.0等新一代AI大模型的发布,全球AI模型竞争格局愈发激烈。通过分析权威评测榜单的最新数据,我们可以清晰地看到当前AI大模型的发展现状和未来趋势。

2025-02-12 09:35:15 730

原创 Linux系统卡死问题处理

根据具体情况选择合适步骤,逐步缩小问题范围!

2025-02-11 19:04:22 973

原创 Chromium 的 GN 语法总结

GN 语法设计简洁且灵活,核心概念包括目标(targets)、变量(variables)、依赖(dependencies)、条件判断(conditionals)、路径(paths)、函数(functions)等。它使用类似于其他构建工具的方式来组织和管理项目的构建过程,但更加关注构建效率和可扩展性。掌握 GN 语法有助于在 Chromium 项目中高效地管理构建流程,确保正确的目标和依赖关系被处理。

2025-01-26 14:10:36 1230

原创 Native 崩溃解析工具

一个Python工具库,用于简化Android NDK崩溃分析。该库通过封装NDK工具来简化操作,支持解析.dmp文件和logcat崩溃日志,并支持灵活配置参数。支持多平台(Linux、Windows、macOS),并提供Shell和Batch脚本便于使用。

2025-01-22 13:21:53 1012

原创 自动填充组件 Autofill

core/: 在 content/ 和 ios/ 中共享的代码。browser/: 浏览器进程的代码。common/: 浏览器和渲染器共享的代码。content/: 使用 //content 层的驱动程序(除 iOS 外的所有平台)。browser/: 浏览器进程的代码。renderer/: 渲染器进程的代码。common/: 浏览器和渲染器共享的代码。ios/: 使用 //ios 的驱动程序(与 //content 相对应)。android/: Android 平台的 Java 代码。

2024-06-05 11:31:13 1480

原创 Chromium 扩展工作原理

与扩展页面和后台页面的通信:扩展程序的不同组件之间可以通过消息传递机制进行通信。内容脚本可以向扩展页面或后台页面发送消息,而扩展页面和后台页面也可以相互之间发送消息,实现不同组件之间的数据传递和协作。事件监听和处理:扩展程序可以监听浏览器和页面的各种事件,如页面加载完成、用户点击按钮等,然后根据这些事件执行相应的操作,如修改页面内容、弹出通知、打开新标签页等。这个时序图详细描述了扩展工作流程中的各个环节,包括页面事件和浏览器事件的处理,以及扩展与页面和后台页面之间的消息传递过程。

2024-05-10 18:06:20 426 1

原创 Chromium浏览器的代理配置和通信原理

是一个用于获取PAC脚本的组件,它的作用是从指定的URL地址获取PAC脚本内容,以便浏览器能够根据脚本定义的规则来动态选择合适的代理服务器。总的来说,Chromium浏览器通过代理服务器来处理网络请求,代理服务器负责转发请求、处理响应,从而实现了对网络请求的管理和控制。是负责执行PAC脚本并根据其结果选择适当的代理服务器的组件,它在代理配置的动态管理和网络请求的代理路由中起着关键作用。是负责代理配置管理和代理信息提供的核心组件,在浏览器的网络请求中起着重要的作用。

2024-05-08 15:34:43 1741 1

原创 浏览器预防中间人攻击-HSTS策略

在收到带有`Strict-Transport-Security`头部的HTTPS响应后,浏览器会在指定的时间内强制使用HTTPS连接该域名,即使用户手动输入HTTP链接或通过HTTP链接访问该域名,浏览器也会自动将其重定向到HTTPS。HSTS(HTTP Strict Transport Security)是一种网络安全策略,通过强制使用加密的HTTPS连接,防止不安全的HTTP连接,提高网站安全性,防止中间人攻击和数据窃取。当为1时,表示浏览器应将当前页面的所有HTTP请求升级为HTTPS请求。

2024-05-08 15:28:45 374 3

课堂安全教育 小学生防溺水 注意事项.pptx

该PPT文件强调了小学生防溺水教育的重要性,提出了家庭和学校在提升防溺水意识、进行安全教育和监督责任方面的作用。介绍了包括应急演练、水域安全评估、监护人配备和医疗准备在内的实际措施。同时,强调了法律责任、政策支持、社区合作以及社会资源在防溺水工作中的作用,旨在通过全社会的共同努力,降低溺水事故发生率。

2024-05-08

课堂安全教育:溺水防护措施总结.pptx

该PPT文件提供了全面的溺水防护教育,包括溺水原因、水域风险、预防措施、自救与他救技巧。强调了儿童安全意识、水域监管、防溺水教育的重要性。介绍了水上活动的安全规则,以及如何通过家庭与学校的联合教育、急救知识普及和实操模拟演练,提高学生的自救能力和减少溺水事故。

2024-05-08

空空如也

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

TA关注的人

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