自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(207)
  • 资源 (4)
  • 收藏
  • 关注

原创 踩坑ubuntu24.04 编译vtk9.3.1的安卓版本

NDK官方明确废弃了旧版 armeabi ABI,强制使用armeabi-v7a或arm64-v8a。错误信息显示你的构建系统仍在使用超级构建(superbuild)模式,并且内部引用了已不再支持的。生成的合并库: $(pwd)/libvtk_combined.a"超级构建过程可能内部未充分考虑现代NDK变化导致内部配置ARM老ABI,重复失败。echo "正在提取所有.o文件..."echo "合并前所有库的总大小:"# 提取所有.a文件中的.o文件。echo "创建合并库..."

2025-04-03 12:37:44 889

原创 Windows内核中根据PID查找兄弟进程和父进程

在Windows内核驱动开发中,根据进程ID(PID)查找相关进程(如兄弟进程和父进程)是一个常见需求。这涉及到对Windows内核进程管理机制的理解和使用。下面我将详细介绍实现这一功能的方法。

2025-03-26 17:02:14 327 2

原创 Flutter 常见错误和坑

渐进式采用:从简单项目开始,逐步掌握 Flutter 的各个方面保持更新:定期更新 Flutter SDK 和依赖包,但在生产环境中保持稳定版本组件化设计将 UI 拆分为小的、可重用的组件应用单一职责原则使用 const 构造函数优化性能状态管理选择小项目:setState 或 Provider中型项目:Riverpod 或 Bloc大型项目:考虑更完整的状态管理解决方案如 Redux性能优化使用 DevTools 分析性能优化列表渲染,考虑使用 ListView.builder。

2025-03-26 11:51:17 1017

原创 除了sandboxie 还有哪些内核开源项目值得学习

Process Hacker是一个功能强大的开源系统工具,专注于系统资源监控、软件调试和恶意软件检测。它已更名为System Informer,但保持同样的核心功能。

2025-03-26 11:46:28 861

原创 如何在 Flutter 中使用 WebRTC

📱 Flutter 中使用 WebRTC 实现实时音视频通话随着实时通信技术的快速发展,WebRTC 已逐渐成为实现视频通话和直播的一种主流技术。在 Flutter 中,你同样可以轻松调用 WebRTC 来实现跨平台的音视频实时通信。### 📥 一、添加依赖首先打开 `pubspec.yaml` 文件,添加 flutter_webrtc 插件:```yaml```执行以下命令安装:```shell```⚙️ 二、配置平台权限```xml``````xml。

2025-03-21 16:11:27 942

原创 Flutter访问数据库

本文介绍了如何在Flutter应用中使用SQLite数据库进行数据存储和访问。通过sqflite插件,我们可以轻松实现数据库的创建、数据的增删改查等操作。在Flutter开发中,数据存储和访问是非常重要的环节。本文将详细介绍如何在Flutter应用中访问本地数据库,尤其是使用SQLite数据库和sqflite插件。Flutter社区提供了强大的sqflite插件,帮助我们轻松地在Flutter应用中使用SQLite数据库。### 插入数据(Create)## 三、创建数据库和数据表。

2025-03-20 14:47:34 636

原创 flutter 如何与原生框架通讯安卓 和 ios

1. 打开 `android/app/src/main/kotlin/com/example/your_app/MainActivity.kt`(或 `.java` 文件)。在上面的代码中,我们创建了一个名为 `com.example/native` 的通道,并定义了一个方法 `getNativeData`,它将调用原生代码。在 Flutter 中,平台通道的调用是异步的,因此您可以使用 `Future` 和 `async/await` 来处理结果。首先,在 Flutter 项目中创建一个平台通道。

2025-03-12 09:20:01 725

原创 flutter环境最新踩坑

重启ADB服务 `adb kill-server && adb start-server`- 依赖下载:使用 `flutter pub get --verbose`#### gradle-wrapper.properties 修改。- 编译卡住:查看详细日志 `flutter run -v`### 3. Android 设备认证与配置。- 使用 `-v` 参数可查看详细日志。- 保持Gradle和依赖版本兼容。- 网络问题:检查代理、切换网络。- 网络慢可能导致依赖下载卡住。

2025-03-06 14:01:41 375

原创 windows 内核层简单 map 实现与测试

/ 测试5:多元素随机插入和删除。// 测试1:单个元素插入和查找。// 测试2:重复插入同一个键。// 测试4:删除不存在的元素。// 测试3:删除存在的元素。// 检查是否已存在相同键。// 释放桶数组和映射结构。// 设置比较和哈希函数。// 遍历对应桶的链表。// 遍历对应桶的链表。// 释放每个桶的链表。// 头插法处理冲突。// 验证元素已删除。

2025-03-06 12:55:03 692

原创 Jitter Buffer 与 Packet Buffer 工作原理

webrtc Jitter Buffer Packet Buffer

2025-03-02 07:42:16 393

原创 Sandboxie 如何 规避 PatchGuard

Sandboxie 使用了内核 Hook 技术,但为了规避 Windows 的 **PatchGuard**(内核完整性保护机制),它采取了一系列巧妙的策略。- **影子表(Shadow Table)**:创建 SSDT 的副本,并重定向系统调用到影子表。- **伪造 SSDT 校验和**:修改 SSDT 的校验和以匹配 Hook 后的状态。- **无法完全规避**:PatchGuard 的检测机制非常复杂,完全规避几乎不可能。- **随机化 Hook 时间**:避免 PatchGuard 的定期检测。

2025-02-24 13:39:58 390

原创 ZLMediaKi集群设置

在每台服务器上,您需要配置 `config.ini` 文件。通过以上步骤,您可以成功在集群环境中部署 ZLMediaKit,实现高可用性和负载均衡。# 替换为实际服务器 IP。- 可以使用监控工具(如 Prometheus 和 Grafana)监控服务器的性能和流量。- **操作系统**:推荐使用 Ubuntu 20.04 或 CentOS 7/8。- **服务器**:准备多台服务器,建议至少 2 台用于负载均衡和冗余。- 使用流媒体推流工具(如 OBS)推流到 Nginx 的 IP 地址。

2025-02-23 18:43:33 508

原创 Sandboxie 注入流程的一个整体梳理

windows sandboxie

2025-02-20 14:36:24 870

原创 VirtIO vioseria 驱动介绍

*vioserial** 和 **virtio** 的关系,就像“具体的串口(Serial)驱动”与“通用的虚拟化I/O标准”之间的关系。- `vioserial` 是在 Windows 平台上对 `virtio-console` 设备的实现,可以看作“虚拟串口驱动(Serial)”。- `virtio` 会在虚拟机中暴露“轻量级”的设备(如网卡、磁盘、控制台等 “virtio” 设备),同时宿主机则运行对应的后端处理程序(或驱动),二者通过 **VirtQueue**(环形队列)进行数据通信。

2025-02-20 09:20:08 394

原创 ZLMediaKit Windows 编译指南

# 1. 环境准备### 1.1 必需工具1. Visual Studio 2019 或更高版本3. git4. vcpkg (包管理器)```### 1.2 安装步骤```mermaidA[安装 Visual Studio] --> B[安装 CMake]B --> C[安装 Git]C --> D[安装 vcpkg]D --> E[配置环境变量]```#### Visual Studio 安装选项必选组件:- MSVC C++ 构建工具。

2025-02-19 20:52:42 610

原创 VirtIO viogpudo 驱动详解

viogpudo` 驱动是 **virtio-win** 项目中针对 **VirtIO GPU** 设备在 **Windows** 平台下的 **显示驱动(WDDM)**。- **`viogpudo` 驱动** 是 **virtio-win** 中为 **VirtIO GPU** 设备提供的 **Windows WDDM 显示驱动**,主要具备 **2D 显示输出** 能力;- QXL 是 SPICE 显示方案的老实现;- 若需要多显卡或多屏输出,也可添加多处 virtio-gpu-pci 设备配置;

2025-02-19 17:16:52 353

原创 virtio Balloon 驱动介绍

它是虚拟化平台实现 **内存动态管控**、**过量使用(overcommit)** 以及 **资源弹性** 的关键组件之一,有助于在同一宿主机上运行更多虚拟机并提高整体资源利用率。- **核心目标**:在多虚拟机的环境里,有时某个虚拟机(或一组虚拟机)并不需要占用那么多内存,而另一些虚拟机可能面临内存不足。**Balloon(内存气球)** 在虚拟化环境中是一种用于 **动态调配虚拟机与宿主机之间内存**的机制,能够在保证虚拟机正常运行的前提下,让宿主机更灵活地管理和分配内存资源。需做好合理的阈值控制。

2025-02-19 16:10:25 385

原创 virt-io 如何运行在 kvm windows 虚拟机上

VirtIO 驱动 ISO:从 [Fedora Project 提供的 virtio-win ISO](https://fedorapeople.org/groups/virt/virtio-win/) 或 [GitHub 仓库 virtio-win](https://github.com/virtio-win/virtio-win-pkg-scripts) 下载。- 不同 Windows 版本需要选择合适的 virtio-win 驱动文件夹(如 `w10`、`win8`、`2k19` 等)。

2025-02-19 15:59:15 659

原创 安卓组件化aar

1. **创建新工程**- 启动 Android Studio,点击「New Project」。- 在弹出的模版选择界面,可选择「Empty Activity」或「No Activity」等作为起点。- 按向导填写工程名称、包名、保存位置等信息,点击 Finish 完成创建。2. **添加 Library 模块**- 在创建好的工程中,点击「File」>「New」>「New Module...」。- 在弹出的选择界面里选择「Android Library」。

2025-02-18 06:54:55 703

原创 VirtIO Windows 开源项目详解

├── vioscsi/ # SCSI 驱动。├── viorng/ # 随机数生成器。├── NetKVM/ # 网络驱动。├── viostor/ # 存储驱动。├── vioserial/ # 串口驱动。├── vioinput/ # 输入设备。VB["VirtIO 块设备驱动"]SD["Storport 驱动"]

2025-02-17 21:34:30 631

原创 windows获取进程名为Procress.exe 命令行参数为parm1的程序路径

std::wcout << L"找到 " << processes.size() << L" 个匹配的进程:" << std::endl;std::wcerr << L"无法获取 NtQueryInformationProcess 函数" << std::endl;std::wcerr << L"无法加载 ntdll.dll" << std::endl;std::wcerr << L"创建进程快照失败" << std::endl;std::wcerr << L"无法打开进程" << std::endl;

2025-02-10 09:53:54 815

原创 稻盛和夫如何描述能力

稻盛和夫描述的“能力”不仅仅是技术或专业技能的体现,而是**知识、技能和态度**的综合体。他强调,**态度**是决定能力上限的关键因素,只有通过持续学习、专注努力和积极心态,才能不断提升能力,实现个人和职业的成功。技能(Skill):将知识应用于实际工作的能力,包括解决问题的能力、执行力和创新能力。- **知识**和**技能**是能力的基础,但**态度**是决定能力上限的关键因素。- 如果态度为正(如积极、勤奋),知识和技能的提升会显著放大能力。努力:持续的努力是能力转化为成果的关键。

2025-02-07 16:24:53 294

原创 WebRTC 客户端与ZLMediaKit通讯

以下是一个基本的步骤和示例代码,帮助您实现这一目标。5. **建立连接**:使用 WebRTC 的 `rtc::PeerConnection` 与 ZLMediaKit 建立连接。- **信令**:您需要实现信令机制,将信令数据发送到 ZLMediaKit,并接收来自 ZLMediaKit 的信令数据。4. **建立连接**:使用 WebRTC 的 RTCPeerConnection 与 ZLMediaKit 建立连接。3. **创建 WebRTC 客户端**:使用 C++ 创建 WebRTC 客户端。

2025-02-06 16:18:48 1137

原创 windows开发保饭碗和难度星级

Windows 系统工具开发 | ★★★★★ | ★★★★☆ || Windows 设备驱动开发 | ★★★★★ | ★★★★☆ || 安全与隐私工具开发 | ★★★★★ | ★★★★★ || 桌面应用现代化(跨平台开发) | ★★★★☆ | ★★★★☆ |- 涉及安全技术(如逆向工程、漏洞分析),技术门槛高。

2025-02-06 16:09:36 376

原创 AI 盛行不容易被取代的编程技术

这些领域需要 **深厚的专业知识**、**创造力** 和 **跨学科能力**,因此相对不容易被 AI 完全取代。- **原因**:AI 目前难以完全理解复杂的硬件和系统交互,且底层开发需要高度的精确性和对性能的极致优化。- **原因**:人机交互需要结合心理学、设计学和编程技术,AI 难以完全替代人类的创造力和同理心。- **原因**:DSL 和工具开发需要结合领域知识和编程技术,AI 难以完全替代人类的领域专长。- **特点**:涉及数据隐私、AI 伦理、法律合规等,需要结合技术、法律和伦理知识。

2025-02-06 14:12:37 278

原创 安卓路由与aop 以及 Router-api

安卓路由(Android Router)和AOP(面向切面编程)是两个在Android开发中常用的概念。下面我将详细讲解这两个概念及其在Android开发中的应用。

2025-02-06 10:11:08 713

原创 RDP协议详解

与此同时,为了在开源社区及跨平台领域进一步增强此类应用的可扩展性,不同的组织和爱好者基于微软的技术规范进行了逆向工程或基于公开协议详细文档,开发出了多种跨平台远程桌面解决方案,FreeRDP 就是其中的佼佼者。它旨在实现对最新版 RDP 协议的兼容,并提供丰富的扩展和配置能力。以下内容包含对 RDP(Remote Desktop Protocol,远程桌面协议)及其开源实现 FreeRDP 的较为系统、深入的讲解,涵盖协议概要、历史沿革、核心原理、安全机制、安装与使用方法、扩展与未来发展趋势等方面,

2025-02-02 23:24:40 1306

原创 Windows编译FreeRDP步骤

DCMAKE_TOOLCHAIN_FILE="[vcpkg根目录]/scripts/buildsystems/vcpkg.cmake" ^- 32位编译需将`x64-windows`改为`x86-windows`,`-A x64`改为`-A Win32`# 安装 CMake: https://cmake.org/download/1. **安装必要工具**4. **生成构建文件**2. **安装依赖项**# 使用vcpkg包管理。6. **安装到系统**3. **获取源码**5. **编译项目**

2025-02-02 10:19:30 517

原创 webrtc peerconnection_client peerconnection_server 连接失败问题解决 win10 win11

2 在 peerconnection\client\main.cc 当中替换rtc::PhysicalSocketServer ss;3 在 peerconnection\client\main.cc 当中 // Main loop.之前添加一句话。4 在 \src\modules\video_capture\windows\sink_filter_ds.cc。1 在 peerconnection\client\main.cc 当中。

2025-02-01 21:02:47 506

原创 webrtc协议详细解释

从技术角度看,WebRTC 并不只是一套“前端 API”,而是一整套完整的实时通信协议、标准和框架:它包含 ICE、STUN、TURN 做网络穿透,结合 DTLS/SRTP 等安全传输协议来确保端到端加密,并在浏览器/客户端内置主流媒体编解码器(如 Opus、VP8、VP9、H.264、AV1 等),同时定义了数据通道(DataChannel)以支持泛型数据的实时交互。无论你是要做桌面共享、远程教育、在线会议,还是要做游戏中的实时聊天或物联网设备的视频监控,WebRTC 都提供了一条较为稳健的技术路径。

2025-02-01 11:20:47 1348

原创 webrtc编译需要常用环境变量以及相关名词解释

在使用 `fetch` 命令时,默认情况下会在同步/下载完成后自动执行一些“钩子(hooks)”脚本(类似于运行 `gclient runhooks`),这些脚本通常用于生成项目文件、拉取依赖、设置环境等。通过以上这些环境变量,就能让 GYP/Depot Tools/Ninja 在构建 WebRTC 时正确找到 Visual Studio 2022、Windows SDK 等编译依赖,从而顺利编译。如果加上 `--nohooks` 参数,就会跳过这一步骤,仅仅做代码拉取,不执行后续的钩子脚本。

2025-02-01 07:35:49 358

原创 Chrome浏览器编译系统研究与优化分析

本文深入研究了Chrome浏览器的编译系统,重点分析了GN构建系统和Ninja编译工具的配置与优化策略。通过实验验证,提出了一套完整的多核心编译优化方案,显著提升了Chrome浏览器的编译效率。[1] Chromium项目文档. https://www.chromium.org/developers/[3] Ninja构建系统文档. https://ninja-build.org/manual.html。[2] GN构建系统参考. https://gn.googlesource.com/gn/

2025-01-30 19:02:02 391

原创 Chrome浏览器编译系统研究与优化分析

本文深入研究了Chrome浏览器的编译系统,重点分析了GN构建系统和Ninja编译工具的配置与优化策略。通过实验验证,提出了一套完整的多核心编译优化方案,显著提升了Chrome浏览器的编译效率。[1] Chromium项目文档. https://www.chromium.org/developers/[3] Ninja构建系统文档. https://ninja-build.org/manual.html。| 优化配置 | 编译时间(min) | 内存使用(GB) | CPU利用率(%) |

2025-01-30 19:01:31 515

原创 安卓通过网络获取位置的方法

一 方法介绍1. 基本权限设置首先需要在 AndroidManifest.xml 中添加必要权限:```xml```2. 使用 NetworkLocationProvider```java// 检查是否启用了网络定位// 请求位置更新MIN_TIME_BETWEEN_UPDATES, // 更新间隔,单位毫秒MIN_DISTANCE_CHANGE_FOR_UPDATES, // 最小距离变化,单位米@Override。

2025-01-29 21:41:57 1364 1

原创 h5 网页测试摄像头

h1 class="text-xl font-bold mb-4 text-center">摄像头测试</h1>status.textContent = '无法访问摄像头,请确保已授予权限';status.textContent = '您的浏览器不支持摄像头API';startBtn.textContent = '开启摄像头';status.textContent = '摄像头已开启';status.textContent = '摄像头已关闭';-- 拍照结果 -->-- 控制按钮 -->

2025-01-29 21:19:15 737

原创 linux 内核学习方向以及职位

Linux内核开发是一个专业性很强的方向,需要长期积累和持续学习,但也是一个非常有前景的领域,特别是在云计算、物联网等新兴领域有广阔的发展空间。- 掌握调试工具(gdb、ftrace等)1. Linux内核开发工程师。- Makefile编写。2. 嵌入式Linux工程师。- 熟悉Linux内核架构。- Socket编程。3. 专业Linux公司。- 参与内核邮件列表讨论。- Linux系统编程。- 良好的问题分析能力。- 从LDD3开始学习。- 阅读简单的内核代码。- 提交内核patch。

2025-01-25 19:10:03 552

原创 windows内核学习方向以及职位

1. **虚拟化方向**```优势:- 云计算持续增长- 容器技术发展- 安全隔离需求增加- 微软Azure战略重点具体领域:- Hyper-V技术- WSL2架构- 容器隔离- 内存虚拟化- 设备虚拟化发展前景:- 云原生技术融合- 边缘计算支持- 混合云场景- 安全虚拟化```2. **网络方向**```优势:- 网络协议持续演进- 5G/6G技术发展- 零信任架构需求- 网络虚拟化趋势研究方向:- NDIS驱动- WFP框架- TCP/IP协议栈-

2025-01-23 10:28:00 492

原创 流媒体服务器选择以及评估

**Nginx-RTMP**:小型直播、测试环境。- **ZLMediaKit**:综合应用、商业项目。- **LiveGO**:中小型应用、开发测试。- **小型直播**:Nginx-RTMP。- **商业应用**:ZLMediaKit。- **RED5**:教育平台、互动直播。- 支持RTMP/HLS/WebRTC。- **SRS**:商业直播、专业应用。- 支持RTMP/HLS/DASH。- **开发测试**:LiveGO。- **教育直播**:RED5。- **专业直播**:SRS。

2025-01-23 10:17:07 449

原创 Windows内核注册表操作拦截与重定向机制研究

本文详细分析了Windows注册表操作的内核级拦截机制和重定向技术,从基本原理到具体实现进行了全面阐述。重点介绍了重定向机制的设计与实现,包括分层重定向、写时复制、缓存优化等关键技术。**摘要**:本文深入研究了Windows操作系统中注册表操作的内核级拦截机制及重定向技术,详细分析了其实现原理、关键技术和应用场景。通过对注册表过滤驱动架构的剖析,阐述了回调注册、拦截流程、重定向实现和安全防护等核心问题。// 重定向目标路径。LAYER_SYSTEM, // 系统层。// 检查是否需要重定向。

2025-01-23 09:46:03 908

原创 Linux控制HDMI输出方式

1. **使用xrandr命令**(最常用):```bash# 查看当前显示设备xrandr# 开启HDMI输出# 关闭HDMI输出# 设置HDMI为主显示器# 设置分辨率# 设置刷新率# 扩展显示(右侧)# 镜像显示```2. **使用图形界面工具**:- 系统设置 → 显示设置- arandr(xrandr的图形界面版本):```bash# 安装arandr```3. **自动检测脚本示例**:```bash。

2025-01-22 16:38:48 1285

cef_binary_84_h264.7z

cef 84 mac84 win32 支持264

2021-07-17

KsBinSword 黑客技术学习 ddk NT式驱动入门 SSDT rootkit

KsBinSword 黑客技术学习 ddk NT式驱动入门 SSDT rootkit 别人的代码虽然 释放资源时有点问题但是 思想值得参考学习 注: 只用于交流学习 出现问题本人概不负责

2013-03-05

MFC draw paint gdi

MFC draw paint gdi 很好用 MFC draw paint gdi MFC draw paint gdi

2013-03-05

NDIS 驱动开发 网络驱动 开发指南

NDIS 驱动开发 网络驱动 开发指南

2012-08-10

空空如也

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

TA关注的人

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