<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>frendguo</title>
    <link>https://frendguo.com</link>
    <atom:link href="https://frendguo.com/feed.xml" rel="self" type="application/rss+xml"/>
    <description>一个软件工程师的博客，记录 C++、Windows、AI 工程化的实践笔记与随想。</description>
    <language>zh-CN</language>
    <lastBuildDate>Fri, 01 May 2026 15:52:02 GMT</lastBuildDate>
    <item>
      <title>Windows 权限相关概念解析</title>
      <link>https://frendguo.com/writing/about-windows-privilege</link>
      <guid isPermaLink="true">https://frendguo.com/writing/about-windows-privilege</guid>
      <pubDate>Fri, 04 Jul 2025 09:03:05 GMT</pubDate>
      <category>Windows</category>
      <description>在使用和管理 Windows 系统时，理解其权限体系至关重要。以下将深入解析 Windows 中的核心权限概念，包括 User、Token、Privilege、MIC 和 UAC，帮助你全面掌握它们之间的关系与区别。 一、用户（User） 在 Windows 中，用户是能够被系统验证身份的实体，如普通用户账号、管理员、</description>
    </item>
    <item>
      <title>Windows是如何区分互联网下载文件和本地文件的</title>
      <link>https://frendguo.com/writing/windows-file-source-identification</link>
      <guid isPermaLink="true">https://frendguo.com/writing/windows-file-source-identification</guid>
      <pubDate>Wed, 05 Mar 2025 04:00:19 GMT</pubDate>
      <category>Windows</category>
      <description>你有没有想过，为什么从互联网下载的PowerShell脚本在Windows上运行时会受到限制，而本地创建的脚本却不会？这一切都归功于Windows的一个小秘密—— 区域标识符（Zone Identifier） 机制。今天，我们就来揭开这个机制的神秘面纱，以轻松但专业的方式聊聊Windows是如何区分互联网下载文件和本地</description>
    </item>
    <item>
      <title>如何低成本的获取到应用卡顿情况</title>
      <link>https://frendguo.com/writing/low-cost-app-lag-detection</link>
      <guid isPermaLink="true">https://frendguo.com/writing/low-cost-app-lag-detection</guid>
      <pubDate>Tue, 11 Feb 2025 10:27:42 GMT</pubDate>
      <category>Windows</category>
      <description>引入 在做 WPA 分析的时候，会通过 UI Delay 来判断应用卡顿的时间点。那我们是否可以单独把这一部分数据拎出来，来评估应用卡顿情况？ UI Delays 视图是依据什么来做的 WPA 大部分数据都是来源于众多 ETW Provider，也就是说，我们想获取到卡顿数据，就是找到特定的 provider 的特定事</description>
    </item>
    <item>
      <title>【译】ETW 堆跟踪 – 每个分配都被记录</title>
      <link>https://frendguo.com/writing/etw-heap-tracingevery-allocation-recorded</link>
      <guid isPermaLink="true">https://frendguo.com/writing/etw-heap-tracingevery-allocation-recorded</guid>
      <pubDate>Thu, 06 Feb 2025 08:06:23 GMT</pubDate>
      <category>Windows</category>
      <description>原文： https://randomascii.wordpress.com/2015/04/27/etw heap tracingevery allocation recorded/ Windows 的事件跟踪 (ETW，亦称为 xperf) 通常用于监控 CPU 使用情况，通过采样分析器及其记录上下文切换的能力来实现</description>
    </item>
    <item>
      <title>【译】Wait Analysis - 寻找空闲时间</title>
      <link>https://frendguo.com/writing/wpa-wait-analysis-idle-time-in-windows</link>
      <guid isPermaLink="true">https://frendguo.com/writing/wpa-wait-analysis-idle-time-in-windows</guid>
      <pubDate>Fri, 24 Jan 2025 07:23:23 GMT</pubDate>
      <category>Windows</category>
      <description>原文：https://randomascii.wordpress.com/2012/05/05/xperf wait analysisfinding idle time/ Windows 性能工具包（Windows Performance Toolkit），也称为 xperf，是一个强大且免费的系统级别 Windows</description>
    </item>
    <item>
      <title>如何通过 ETW Provider 来记录应用日志</title>
      <link>https://frendguo.com/writing/how-to-loging-by-etw-provider</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-loging-by-etw-provider</guid>
      <pubDate>Fri, 24 Jan 2025 01:36:36 GMT</pubDate>
      <category>Windows</category>
      <description>背景 最近在做一些性能优化的时候，发现很多应用经常会出现文件 I/O 爆高，但又没做啥事情。结果分析下来发现，都是在写日志。 于是就有了这么一篇，怎么利用 Windows 自己提供的 ETW 来记录应用日志。 通过 ETW 记录日志有什么好处 ETW（Event trace for Windows） 是 Windows</description>
    </item>
    <item>
      <title>如何通过 C++ 实时监听 ETW 事件</title>
      <link>https://frendguo.com/writing/real-time-monitor-etw-event-id-in-cpp</link>
      <guid isPermaLink="true">https://frendguo.com/writing/real-time-monitor-etw-event-id-in-cpp</guid>
      <pubDate>Wed, 22 Jan 2025 02:59:39 GMT</pubDate>
      <category>Windows</category>
      <description>引入 ETW（Event Tracing for Windows）是 Windows 平台上非常强大的事件跟踪机制，广泛用于调试、性能分析以及日志记录等场景。相较于传统的日志方式，ETW 在内核态和用户态都有提供良好的事件跟踪接口，可以帮助开发者更灵活地收集关键信息。 在许多应用场景下，我们不仅要监听某个 Provid</description>
    </item>
    <item>
      <title>【译】调查并确定 Windows 运行速度变慢问题</title>
      <link>https://frendguo.com/writing/windows-slowdown-investigated-and-identified</link>
      <guid isPermaLink="true">https://frendguo.com/writing/windows-slowdown-investigated-and-identified</guid>
      <pubDate>Thu, 16 Jan 2025 07:48:31 GMT</pubDate>
      <category>Windows</category>
      <description>我最近注意到，我的 Windows 7 家用笔记本电脑运行速度比平时要慢。系统似乎在磁盘 I/O 上花了很多时间。当我查看任务管理器时，我发现笔记本电脑的缓存磁盘数据量大约只有平时的 五分之一 ，但问题的原因并不明显。 我的工作之一是性能专家——要调查各种日常或深层次的性能问题。所以当我意识到我的笔记本出现了严重且系统</description>
    </item>
    <item>
      <title>【译】丢失的 WPA 文档 —— 磁盘使用</title>
      <link>https://frendguo.com/writing/the-lost-xperf-documentationdisk-usage</link>
      <guid isPermaLink="true">https://frendguo.com/writing/the-lost-xperf-documentationdisk-usage</guid>
      <pubDate>Wed, 15 Jan 2025 08:29:27 GMT</pubDate>
      <category>Windows</category>
      <description>和之前所抱怨的一样，xperf（Windows Performance Toolkit）的文档依旧相当简略。在摘要表中使用的列名可能极其微妙，而且我从未见过任何介绍它们的官方文档。不过，我曾和 xperf 的作者进行交流，也自己使用 xperf 很多次，并做过一些实验，这篇文章中将分享更多收获，这次聚焦于“磁盘使用”（</description>
    </item>
    <item>
      <title>【译】丢失的 WPA 文档 —— CPU 调度</title>
      <link>https://frendguo.com/writing/the-lost-xperf-documentationcpu-scheduling</link>
      <guid isPermaLink="true">https://frendguo.com/writing/the-lost-xperf-documentationcpu-scheduling</guid>
      <pubDate>Wed, 15 Jan 2025 08:18:50 GMT</pubDate>
      <category>Windows</category>
      <description>正如我之前提到的，xperf（Windows 性能工具包，也称为 ETW）的文档非常匮乏。在这篇文章中，我将尝试解释 CPU Usage (Precise) 表中那些极其微妙而不明显的列名含义，该表展示了在跟踪中记录的所有上下文切换。理解这些列对于分析空闲时间非常重要，而这正是 xperf 的最有价值的功能之一。 注：</description>
    </item>
    <item>
      <title>【译】丢失的 WPA 文档 —— CPU 采样</title>
      <link>https://frendguo.com/writing/the-lost-xperf-documentationcpu-sampling</link>
      <guid isPermaLink="true">https://frendguo.com/writing/the-lost-xperf-documentationcpu-sampling</guid>
      <pubDate>Wed, 15 Jan 2025 07:59:24 GMT</pubDate>
      <category>Windows</category>
      <description>Xperf （Windows Performance Toolkit，也称为 ETW）是一个强大的性能分析工具，但它的使用颇具挑战性。部分难度来自其本身的复杂度——例如，如果你想深入调查线程调度问题，你需要全面理解 Windows 线程调度器的工作原理。 这篇文章在 2015 年 9 月进行了更新，添加了与 UIfor</description>
    </item>
    <item>
      <title>如何通过 PDH（Performance Data Helper） 获取性能计数器的值</title>
      <link>https://frendguo.com/writing/how-to-get-performance-counter-data-by-pdh</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-get-performance-counter-data-by-pdh</guid>
      <pubDate>Tue, 14 Jan 2025 03:01:34 GMT</pubDate>
      <category>Windows</category>
      <description>通过 C++ 调用 PDH 接口来获取性能计数器的值的方法和代码</description>
    </item>
    <item>
      <title>性能监视器的计数器解析（三）- 进程</title>
      <link>https://frendguo.com/writing/windows-performance-monitor-counters-analysis-processv2</link>
      <guid isPermaLink="true">https://frendguo.com/writing/windows-performance-monitor-counters-analysis-processv2</guid>
      <pubDate>Mon, 13 Jan 2025 12:12:59 GMT</pubDate>
      <category>Windows</category>
      <description>各个 \Process V2\ 性能计数器的含义、用法以及补充说明</description>
    </item>
    <item>
      <title>Windows 中如何获取开关机时间</title>
      <link>https://frendguo.com/writing/how-to-get-windows-shutdown-and-boot-time</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-get-windows-shutdown-and-boot-time</guid>
      <pubDate>Thu, 09 Jan 2025 13:11:19 GMT</pubDate>
      <category>Windows</category>
      <description>Windows 上，开关机时间对用户体验影响非常大。获取到每次开机总时间和阶段耗时，有利于我们了解系统瓶颈，方便后续进行改善。 借助于 Windows 强大的诊断能力，Windows 自身借助 ETW 就已经统计了开关机的时间，这样我们获取开关机时间就非常简单了。 具体的数据就在 Microsoft Windows D</description>
    </item>
    <item>
      <title>性能监视器的计数器解析（二）- 物理磁盘</title>
      <link>https://frendguo.com/writing/windows-performance-monitor-counters-analysis-physical-disk</link>
      <guid isPermaLink="true">https://frendguo.com/writing/windows-performance-monitor-counters-analysis-physical-disk</guid>
      <pubDate>Thu, 09 Jan 2025 01:53:25 GMT</pubDate>
      <category>Windows</category>
      <description>引入 在做性能分析的时候，Windows 中自带的 Performance Monitor 非常有效，可以用来分析一些非常复杂的性能问题。 其他计数器解析： 内存：性能监视器的计数器解析（一） 内存 物理磁盘相关计数器 计数器名称 含义 用法 补充说明 \\PhysicalDisk\\Current Disk Queu</description>
    </item>
    <item>
      <title>如何查看性能监视器中的计数器</title>
      <link>https://frendguo.com/writing/how-to-view-performance-monitor-counters</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-view-performance-monitor-counters</guid>
      <pubDate>Wed, 08 Jan 2025 13:02:22 GMT</pubDate>
      <category>Windows</category>
      <description>在性能分析中，计数器是一个非常方便快捷获取当前系统和应用状态的工具。了解并查看有哪些计数器非常重要，能让你在分析应用或者系统性能问题的时候不至于手足无措。 这篇文章就来说下，怎么获取所有可用的计数器。 方法一：在 PerfMon 图形界面中查看 1\. 打开 PerfMon ： 通过「开始」菜单搜索 Performan</description>
    </item>
    <item>
      <title>性能监视器的计数器解析（一）- 内存</title>
      <link>https://frendguo.com/writing/windows-performance-monitor-counters-analysis-memory</link>
      <guid isPermaLink="true">https://frendguo.com/writing/windows-performance-monitor-counters-analysis-memory</guid>
      <pubDate>Wed, 08 Jan 2025 12:11:11 GMT</pubDate>
      <category>Windows</category>
      <description>该博客对 Windows 性能监视器中的内存相关性能计数器进行了深入分析，详细解释了它们的含义、用途，以及在进行有效性能和故障分析时需要注意的其他事项。</description>
    </item>
    <item>
      <title>如何 DIY 申报 BOI</title>
      <link>https://frendguo.com/writing/how-to-apply-boi</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-apply-boi</guid>
      <pubDate>Wed, 20 Nov 2024 12:15:47 GMT</pubDate>
      <category>Windows</category>
      <description>背景 申请完美国公司之后，一项非常重要的事情就是申报 BOI。 整个过程还是比较简单的，只需要几份就可以申报完成了 什么是 BOI BOI 报告（Beneficial Ownership Information Report） 是美国《企业透明法案》（CTA，Corporate Transparency Act）下的一</description>
    </item>
    <item>
      <title>Windows 上如何查看某进程中线程在 cpu 核心的分布</title>
      <link>https://frendguo.com/writing/windows-view-process-thread-cpu-core-distribution</link>
      <guid isPermaLink="true">https://frendguo.com/writing/windows-view-process-thread-cpu-core-distribution</guid>
      <pubDate>Wed, 30 Oct 2024 08:34:39 GMT</pubDate>
      <category>Windows</category>
      <description>背景 最近，遇到一个应用卡顿的问题，最终是由于主要计算的线程被调度到了 E 核上去了，最终换到 P 核上就好了。 关于 Intel 混合架构中的 P 核和 E 核，可以看：https://www.intel.com/content/www/us/en/gaming/resources/how hybrid design</description>
    </item>
    <item>
      <title>如何通过微软账号登录远程桌面</title>
      <link>https://frendguo.com/writing/remote-desktop-with-sign-in-microsft-accout</link>
      <guid isPermaLink="true">https://frendguo.com/writing/remote-desktop-with-sign-in-microsft-accout</guid>
      <pubDate>Sun, 13 Oct 2024 19:04:00 GMT</pubDate>
      <category>Windows</category>
      <description>引入 现在越来越多人通过微软账户来登录 Windows 了，在用微软的远程桌面（也就是 mstsc.exe ）的时候，就会发现，不管是输入 pin 码还是在线账户的密码都无法登录成功。 方法一 执行后，会提示你输入微软账号的密码，输入后，回车就好了。 当出现下图的提示时，表示校验成功了。 注意：输入密码的时候是不会显示</description>
    </item>
    <item>
      <title>Windows 任务管理器是怎么启用/禁用应用自启动的</title>
      <link>https://frendguo.com/writing/how-to-disable-or-enable-startup-app-in-taskmgr</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-disable-or-enable-startup-app-in-taskmgr</guid>
      <pubDate>Wed, 28 Aug 2024 00:10:00 GMT</pubDate>
      <category>Windows</category>
      <description>任务管理器如何启用或禁用开机自启动项？让我们逐步分析，通过一些工具帮你更好地理解系统功能的实现。具体来说，你可以通过编辑注册表项来控制应用的启动状态，并借助工具如 Process Monitor 和 IDA Pro，深入分析这些系统操作背后的逻辑和实现过程。</description>
    </item>
    <item>
      <title>Windows 中遍历进程</title>
      <link>https://frendguo.com/writing/how-to-enum-process-in-windows</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-enum-process-in-windows</guid>
      <pubDate>Mon, 03 Jun 2024 04:01:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇文章介绍了在Windows中遍历进程的四种方法：
1. EnumProcesses：常用且简单，但只返回进程ID，需获取进程句柄以获得更多信息。
2. CreateToolhelp32Snapshot：提供详细信息（ID、线程等），但内存占用大且速度最慢。
3. NtQuerySystemInformation：速度快且详细，但需大缓冲区，内存占用高。
4. NtGetNextProcess：</description>
    </item>
    <item>
      <title>Windows 应用性能关键字段解析</title>
      <link>https://frendguo.com/writing/understanding-critical-performance-fields-in-windows-apps</link>
      <guid isPermaLink="true">https://frendguo.com/writing/understanding-critical-performance-fields-in-windows-apps</guid>
      <pubDate>Tue, 28 May 2024 19:18:00 GMT</pubDate>
      <category>Windows</category>
      <description>解释了 Windows 应用程序的各种性能指标，包括 CPU 内核使用率和用户使用率、内存使用量（私有字节、虚拟大小、页面错误、工作集）、I/O 操作（读取、写入、其他 I/O）以及 GPU 使用率（专用、共享、已提交内存）等</description>
    </item>
    <item>
      <title>Windows 应用暂停技术</title>
      <link>https://frendguo.com/writing/how-to-suspend-freeze-windows-app</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-suspend-freeze-windows-app</guid>
      <pubDate>Fri, 24 May 2024 04:27:00 GMT</pubDate>
      <category>Windows</category>
      <description>介绍了四种暂停或冻结 Windows 应用的方法：NtSuspendProcess、SuspendThread、NtDebugActiveProcess 和 JobObjectFreezeInformation。NtSuspendProcess 和 NtDebugActiveProcess 效率高，但无法暂停内核代码；SuspendThread 效率较低，可能漏掉新线程；JobObjectFree</description>
    </item>
    <item>
      <title>如何通过 WRK 来调试/学习 Windows</title>
      <link>https://frendguo.com/writing/how-to-debug-winnt-by-wrk</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-debug-winnt-by-wrk</guid>
      <pubDate>Wed, 22 May 2024 00:06:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇文章提供了使用Windows研究内核（WRK）来调试和学习Windows NT内核的指南。内容包括获取WRK、使用构建脚本或Visual Studio编译代码、配置Windows Server 2003环境，以及设置Windbg进行内核调试。该指南旨在简化设置开发和调试环境的过程，以便研究Windows内部结构。</description>
    </item>
    <item>
      <title>记一次无法关闭的弹窗</title>
      <link>https://frendguo.com/writing/the-tale-of-the-un-closable-popup-window</link>
      <guid isPermaLink="true">https://frendguo.com/writing/the-tale-of-the-un-closable-popup-window</guid>
      <pubDate>Wed, 24 Apr 2024 18:00:00 GMT</pubDate>
      <category>Windows</category>
      <description>通过一个卸载掉弹窗的应用，重启后还会出现的例子来说明如何找到问题应用的过程，以及发现 wpbbin.exe 和 WPBT 机制的过程</description>
    </item>
    <item>
      <title>ETW：Windows 事件追踪 101</title>
      <link>https://frendguo.com/writing/event-trace-for-windows-101</link>
      <guid isPermaLink="true">https://frendguo.com/writing/event-trace-for-windows-101</guid>
      <pubDate>Tue, 05 Mar 2024 02:18:00 GMT</pubDate>
      <category>Windows</category>
      <description>ETW是Windows操作系统提供的跟踪工具，可以记录应用程序和驱动程序产生的事件。它支持高速记录、故障排查和性能分析等功能。ETW的控制由控制器实现，提供事件的是提供商，而请求监听事件的是消费者。学习ETW可用于分析系统行为，包括故障排查和性能影响因素排查。</description>
    </item>
    <item>
      <title>Windows Dump 分类</title>
      <link>https://frendguo.com/writing/varieties-of-windows-dumps</link>
      <guid isPermaLink="true">https://frendguo.com/writing/varieties-of-windows-dumps</guid>
      <pubDate>Tue, 20 Feb 2024 17:41:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇文章介绍了在Windows系统上的Dump文件类型，分为内核模式和用户模式。内核模式包括完全内存转储、核心内存转储、小内存转储、自动内存转储和活动内存转储。而用户模式则有完整用户模式转储和小型转储。不同类型的Dump文件大小、包含的信息和用途各不相同，可以用于系统和应用程序的故障分析与诊断。</description>
    </item>
    <item>
      <title>PowerShell 脚本如何签名</title>
      <link>https://frendguo.com/writing/how-to-sign-psscript</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-sign-psscript</guid>
      <pubDate>Wed, 03 Jan 2024 22:54:00 GMT</pubDate>
      <category>Windows</category>
      <description>这段内容讲述了如何使用PowerShell对脚本文件进行数字签名，以确保脚本的完整性和安全性。首先，需要导入数字证书，并使用Set-AuthenticodeSignature命令对脚本进行签名。签名时最好加上时间戳以防止签名过期。另外，还介绍了如何验证文件是否已签名，可以通过get-authenticodeSignature命令或查看文件属性的数字签名来进行验证。签名后，文件内容不能被更改，否则签</description>
    </item>
    <item>
      <title>如何通过 hook 来拦截截屏</title>
      <link>https://frendguo.com/writing/how-to-hook-screen-capture</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-hook-screen-capture</guid>
      <pubDate>Sun, 24 Dec 2023 22:44:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容介绍了如何在Windows系统中进行屏幕捕获的权限管理，特别是拦截截屏操作。文章首先指出在传统Windows应用程序中，系统没有提供直接的权限管控，因此需要采取一些其他方式，如使用hook来进行权限管控。接着，文章演示了如何通过API Monitor来监听目标应用程序的行为，以确定其使用的截屏方式。然后，文章介绍了如何使用BitBlt接口进行hook操作，以实现拦截截屏。最后，文章提供了注</description>
    </item>
    <item>
      <title>如何通过 WPT 来分析 Windows 启动过程</title>
      <link>https://frendguo.com/writing/how-to-analyze-windows-boot-by-wpt</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-analyze-windows-boot-by-wpt</guid>
      <pubDate>Thu, 14 Dec 2023 19:46:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇文章介绍了如何使用Windows Performance Toolkit（WPT）来分析Windows系统的启动过程。WPT包括Windows Performance Recorder（WPR）和Windows Performance Analyzer（WPA）两个工具，用于记录和分析性能数据。通过WPR记录性能场景为开机，然后使用WPA打开记录的ETL文件进行分析。文章还提到了一些注意事项，</description>
    </item>
    <item>
      <title>如何从头开始写一个 Native App</title>
      <link>https://frendguo.com/writing/how-to-write-first-native-app</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-write-first-native-app</guid>
      <pubDate>Wed, 13 Dec 2023 23:39:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容介绍了如何在Windows中编写第一个本地应用程序（Native App）</description>
    </item>
    <item>
      <title>x86 应用如何访问 64 位的 System32</title>
      <link>https://frendguo.com/writing/how-x86-access-system32-of-64bit</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-x86-access-system32-of-64bit</guid>
      <pubDate>Wed, 13 Dec 2023 22:35:00 GMT</pubDate>
      <category>Windows</category>
      <description>在64位的Windows系统中，有一个神秘的文件夹叫做&quot;Sysnative&quot;，它在Explorer中无法访问，但在兼容32位应用的情况下扮演重要角色。在64位系统上，一些32位应用需要访问特殊文件夹，例如System32，但直接访问会被重定向到SysWOW64文件夹。为了解决这个问题，可以使用&quot;SysNative&quot;虚拟文件夹，允许32位应用访问64位文件。这个特殊文件夹对于兼容性很重要，因为它允许</description>
    </item>
    <item>
      <title>如何自定义 Windows 镜像</title>
      <link>https://frendguo.com/writing/how-to-custom-windows-image</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-custom-windows-image</guid>
      <pubDate>Tue, 05 Dec 2023 16:58:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇文章讨论了在 Windows 中预装应用程序并进行分发的两种方法。第一种方法是使用GHOST分发，需要先在物理机上配置并安装Windows，然后通过备份工具如Norton Ghost、Acronis True Image等来创建系统备份镜像。第二种方法是直接修改Windows镜像，可以使用工具如NTLite来加载ISO文件并添加预装软件，然后生成新的ISO文件进行分发。GHOST分发需要走完W</description>
    </item>
    <item>
      <title>如何使用windbg从头调试 Windows 服务</title>
      <link>https://frendguo.com/writing/how-to-debug-windows-service-from-scratch-by-windbg</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-debug-windows-service-from-scratch-by-windbg</guid>
      <pubDate>Sun, 26 Nov 2023 18:30:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇文章介绍了如何从头开始使用Windbg调试Windows服务。首先，作者提到了设置注册表项，以使Windows在启动服务时自动启动Windbg来进行调试。其次，作者建议延长服务的超时时间，以便有足够的时间进行调试。最后，对于一些复杂的服务，例如svchost.exe中包含多个服务的情况，作者解释了如何将特定服务隔离到单独的svchost.exe进程中进行调试。这些步骤有助于开发人员更有效地调试</description>
    </item>
    <item>
      <title>如何通过WinDbg获取方法参数值</title>
      <link>https://frendguo.com/writing/how-to-get-method-parameter-by-windbg</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-get-method-parameter-by-windbg</guid>
      <pubDate>Tue, 07 Nov 2023 22:58:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容介绍了如何使用 WinDbg 工具来获取方法的参数值。WinDbg 中有多种命令可以帮助我们实现这个目标，包括标准命令、元命令以及扩展命令。其中，通过使用标准命令的 &quot;kP&quot; 命令可以获取方法的参数和参数值，但需要有符号信息支持。此外，文章还介绍了不同的函数调用约定，如cdecl、stdcall、fastcall和X64约定，以及如何在内存中查找方法的参数值。文章提供了详细的示例和调试过程</description>
    </item>
    <item>
      <title>浅谈内存管理-01</title>
      <link>https://frendguo.com/writing/talk-talk-memory-manager0</link>
      <guid isPermaLink="true">https://frendguo.com/writing/talk-talk-memory-manager0</guid>
      <pubDate>Tue, 07 Nov 2023 00:04:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容介绍了内存管理的相关概念。首先，它解释了物理内存和虚拟内存的区别，以及它们的状态和管理方式。物理内存包括不同状态的页面，如使用中、空闲、已修改等。虚拟内存则是每个进程的私有地址空间，包括代码、数据等。文章还提到了一些工具，如任务管理器、Process Explorer、VMMap、RAMMap和Windbg命令，可以用于监控内存使用情况。最后，文章提到了一些性能计数器，如Write Cop</description>
    </item>
    <item>
      <title>如何调试 PowerShell</title>
      <link>https://frendguo.com/writing/how-to-debug-powershell</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-debug-powershell</guid>
      <pubDate>Mon, 06 Nov 2023 23:38:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容介绍了如何调试 PowerShell 源代码，主要包括两种方式：通过 WinDbg 和通过 Visual Studio (VS)。首先，作者建议使用 Windows 平台，并推荐使用稳定版本的源代码。然后，作者详细介绍了两种调试方法的步骤。
通过 WinDbg 调试，需要编译源代码，但可能会遇到一些安装 dotnet SDK 版本不匹配的问题，需要手动调整。然后，使用 WinDbg 设置断</description>
    </item>
    <item>
      <title>Now</title>
      <link>https://frendguo.com/writing/now</link>
      <guid isPermaLink="true">https://frendguo.com/writing/now</guid>
      <pubDate>Mon, 06 Nov 2023 22:20:00 GMT</pubDate>
      <category>Windows</category>
      <description>我现在在做什么 (这是一个 now 页面 ，如果你有自己的网站，也应该 制作一个 这样的页面） 最近在翻译 Defrag Tools 的视频，翻译好的会放在 https://6cl.me/bilibili 2024.12.11 2024 年主要做了几件事： 技术上： 静态性能优化。开机后：内存 65% 40%; CPU</description>
    </item>
    <item>
      <title>深入理解 APC</title>
      <link>https://frendguo.com/writing/understand-apc</link>
      <guid isPermaLink="true">https://frendguo.com/writing/understand-apc</guid>
      <pubDate>Wed, 06 Sep 2023 05:17:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容讨论了在Windows操作系统中如何使用APC（异步过程调用）来实现异步操作。它介绍了在Win32 API中使用ReadFileEx函数来演示APC的用法，并解释了在内核层面如何处理APC。文章还提到了用户APC和内核APC之间的区别，并详细描述了在内核模式和用户模式之间切换时如何执行用户APC。
总结来说，这段内容主要讨论了Windows操作系统中的APC机制以及如何在用户层调用Read</description>
    </item>
    <item>
      <title>Windows 驱动入门</title>
      <link>https://frendguo.com/writing/getting-started-with-windows-drivers</link>
      <guid isPermaLink="true">https://frendguo.com/writing/getting-started-with-windows-drivers</guid>
      <pubDate>Wed, 05 Jul 2023 18:59:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容介绍了在Windows上开始使用驱动程序的一些基本知识。它包括了从用户模式（R3）到内核模式（R0）的API调用示例，以及如何创建和调试驱动程序。文章还提到了与驱动程序开发相关的一些概念，如IRP（I/O Request Packet）和不同的驱动程序开发框架（如WDM、KMDF、UMDF等）。最后，文章提到了一些准备工作和安装驱动程序的步骤，以及如何进行符号配置和源代码调试。</description>
    </item>
    <item>
      <title>线程挂起和恢复</title>
      <link>https://frendguo.com/writing/suspend-and-resume-thread</link>
      <guid isPermaLink="true">https://frendguo.com/writing/suspend-and-resume-thread</guid>
      <pubDate>Tue, 23 May 2023 19:23:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容讲述了在Windows操作系统中挂起和恢复线程的过程。挂起线程通过插入一个APC（异步过程调用）来阻止线程执行，然后等待SuspendCount变为0才会继续执行。恢复线程则是通过发送信号量和调用相关函数来唤醒线程，最终等待CPU调度。整个过程涉及到多个内核函数和数据结构的操作，以实现线程的挂起和恢复。</description>
    </item>
    <item>
      <title>Windows 内存分析 CheckList</title>
      <link>https://frendguo.com/writing/windows-memory-analyze-checklist</link>
      <guid isPermaLink="true">https://frendguo.com/writing/windows-memory-analyze-checklist</guid>
      <pubDate>Wed, 15 Feb 2023 03:46:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容是一份Windows内存分析检查清单的摘要。它包括了在分析Windows系统问题时需要考虑的各种方面，包括符号服务器、内部数据库搜索、操作系统信息、应用程序信息、线程信息、堆栈跟踪、蓝屏分析等。这份清单可以帮助分析人员识别和解决Windows系统的故障和问题。</description>
    </item>
    <item>
      <title>线程同步的方式</title>
      <link>https://frendguo.com/writing/thread-sync-methods</link>
      <guid isPermaLink="true">https://frendguo.com/writing/thread-sync-methods</guid>
      <pubDate>Tue, 20 Sep 2022 18:59:00 GMT</pubDate>
      <category>Windows</category>
      <description>讨论了在Windows内核编程中如何进行多线程同步。它介绍了一些常用的同步原语，包括互锁操作、分发器对象、互斥量、快速互斥量、信号量、事件、执行体资源、自旋锁等。这些原语用于确保多线程之间的协调工作，以避免竞争条件和死锁。需要注意的是，不同的同步原语适用于不同的情况，选择正确的原语对于编写高效的多线程代码非常重要。</description>
    </item>
    <item>
      <title>如何使用 DbgView 来查看调试信息</title>
      <link>https://frendguo.com/writing/how-to-view-debuginfo-by-dbgview</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-view-debuginfo-by-dbgview</guid>
      <pubDate>Thu, 15 Sep 2022 00:37:00 GMT</pubDate>
      <category>Windows</category>
      <description>本文介绍了在驱动开发调试过程中如何使用 DebugView（DbgView.exe）来查看输出。首先需要下载 Sysinternals Suite 中的 DbgView.exe 工具，然后在注册表的 HKLMSYSTEMCurrentControlSetControlSession Manager 下增加一个 Debug Print Filter 的键，并设置其值为 8。对于 Windows Vi</description>
    </item>
    <item>
      <title>进程的创建和终止</title>
      <link>https://frendguo.com/writing/create-and-terminal-process</link>
      <guid isPermaLink="true">https://frendguo.com/writing/create-and-terminal-process</guid>
      <pubDate>Mon, 06 Jun 2022 07:42:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容主要讲述了如何创建一个进程，分为用户态和内核态两部分。在用户态，通过一系列方法如CreateProcess、CreateProcessAsUser等，确定进程的参数和标志。然后在内核态，通过NtCreateUserProcess创建用户模式的进程。进程创建过程包括参数转换、打开要执行的镜像文件、创建进程对象等步骤。其中还提到了镜像劫持（IFEO）的原理，可以通过注册表实现打开一个进程时实际</description>
    </item>
    <item>
      <title>Windows 启动过程分析</title>
      <link>https://frendguo.com/writing/how-to-boot-with-windows</link>
      <guid isPermaLink="true">https://frendguo.com/writing/how-to-boot-with-windows</guid>
      <pubDate>Sun, 22 May 2022 16:18:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇文章介绍了Windows操作系统的启动过程，分为加载内核、内核初始化和应用程序初始化三个部分。启动过程概览涵盖了两种方式：传统的BIOS和UEFI。文章详细解释了BIOS的加载过程，包括POST、Bootstrap Loader、BIOS和CMOS Setup。然后介绍了NT内核的加载，包括实模式和保护模式下的操作。最后，提到了从系统分区读取boot.ini文件和检查hiberfil.sys文</description>
    </item>
    <item>
      <title>执行体方法通用格式定义</title>
      <link>https://frendguo.com/writing/format-definition-of-executable-method</link>
      <guid isPermaLink="true">https://frendguo.com/writing/format-definition-of-executable-method</guid>
      <pubDate>Sun, 22 May 2022 15:27:00 GMT</pubDate>
      <category>Windows</category>
      <description>这篇内容是关于Windows中可执行方法的通用格式定义的说明 。 通用格式由三部分组成：Prefix（前缀） 、 Operation（操作） 、 Object（对象） ， 它们用于描述方法的内部组件 、 行为以及要操作的对象或资源 。 常见的前缀包括Alpc 、 Cc 、 Cm 、 Csr等 ， 用于表示不同的组件或模块 。 这个格式用于定义Windows中各种方法的结构和行为方式 。</description>
    </item>
  </channel>
</rss>