---
title: 'Program Compatibility Assistant - Ghi lại bằng chứng Program Execution được kích hoạt bằng GUI'
date: '2026-06-28T22:31:41+07:00'
author: Chigger
tags:
  - digital-forensics
  - windows
draft: false
summary: 'PCA  ghi nhận thông tin về các chương trình được người dùng khởi chạy thông qua Windows Explorer'
image: /uploads/2026/06/7e9f9462f4d99b72.webp
series: digital-forensics
part: 4
---

![](/uploads/2026/06/7e9f9462f4d99b72.webp)
# Giới thiệu về Program Compatibility Assistant (PCA)

Program Compatibility Assistant (PCA) là một thành phần được tích hợp sẵn trong Windows từ phiên bản Windows Vista. Mục đích của PCA là phát hiện các vấn đề tương thích khi người dùng thực thi ứng dụng và tự động đề xuất hoặc áp dụng các biện pháp khắc phục nhằm giúp ứng dụng hoạt động ổn định trên hệ điều hành.

Bắt đầu từ Windows 11 phiên bản 22H2, PCA bổ sung một nguồn dữ liệu mới có giá trị đối với Digital Forensics. Artifact này ghi nhận thông tin về các chương trình được người dùng khởi chạy thông qua Windows Explorer, từ đó hỗ trợ điều tra viên xác minh hoạt động thực thi chương trình và xây dựng timeline của sự cố.

# Cơ chế hoạt động của PCA

Program Compatibility Assistant (PCA) là một cơ chế của Windows được thiết kế để phát hiện các vấn đề tương thích của ứng dụng trong quá trình thực thi. Thay vì can thiệp ngay khi người dùng khởi chạy chương trình, PCA theo dõi quá trình thực thi và đánh giá xem ứng dụng có biểu hiện của các lỗi tương thích hay không.

Thành phần chịu trách nhiệm chính của cơ chế này là **Program Compatibility Assistant Service (PcaSvc)**. Dịch vụ này chạy nền trong hệ điều hành và phối hợp với các thành phần khác của Windows để thu thập thông tin về chương trình đang được thực thi, từ đó xác định có cần áp dụng các biện pháp khắc phục tương thích hay không.
![](/uploads/2026/06/405de032680a9f1f.webp)

Trên Windows 11 phiên bản 22H2, Microsoft bổ sung khả năng lưu lại thông tin về một số chương trình được khởi chạy thông qua Windows Explorer. Thông tin này được lưu dưới dạng PCA artifact và có thể được khai thác trong quá trình điều tra số để xác minh hoạt động thực thi của chương trình.

Quy trình hoạt động của PCA có thể được tóm tắt như sau:

1. Người dùng khởi chạy một chương trình.
2. Windows Explorer tạo tiến trình mới.
3. PcaSvc theo dõi quá trình thực thi của chương trình.
4. PCA đánh giá các điều kiện tương thích.
5. Nếu thỏa mãn điều kiện, PCA tạo hoặc cập nhật PCA artifact.

# Điều kiện kích hoạt PCA

PCA artifact được tạo khi người dùng khởi chạy một chương trình thông qua giao diện đồ họa của Windows (Windows Explorer). Ngược lại, PCA artifact không được tạo khi chương trình được thực thi theo cơ chế tự động, chẳng hạn như thông qua Task Scheduler, Windows Service hoặc các tiến trình khác mà không có sự tương tác trực tiếp từ người dùng với Windows Explorer.

Ngoài ra, artifact này chỉ xuất hiện trên Windows 11 phiên bản 22H2 trở lên. Các phiên bản Windows cũ hơn không lưu trữ PCA artifact theo cơ chế này.

# Vị trí lưu trữ PCA Artifact

Trên Windows 11 phiên bản 22H2 trở lên, PCA artifact được lưu trữ trong thư mục:

```
%SystemRoot%\AppCompat\PCA
```

Thư mục này chứa dữ liệu được Program Compatibility Assistant tạo ra để ghi nhận thông tin về các chương trình đã được người dùng khởi chạy. Đây là nguồn dữ liệu quan trọng trong quá trình điều tra số, đặc biệt khi cần xác minh hoạt động thực thi của một executable.

Các file quan trọng trong thư mục này bao gồm:

## PcaAppLaunchDic.txt
![](/uploads/2026/06/e1afc5209f634080.webp)


Đây là file quan trọng nhất của PCA artifact. PcaAppLaunchDic.txt lưu trữ đường dẫn đầy đủ (full path) của các file thực thi (binary) đã được khởi chạy, cùng với thời điểm thực thi gần nhất (Last Execution Time) theo chuẩn UTC.

## PcaGeneralDb0.txt
![](/uploads/2026/06/adbc1ff867844c22.webp)


File này lưu trữ thông tin chi tiết về quá trình thực thi với định dạng phân tách bằng ký tự `|` (pipe). Mỗi bản ghi có thể bao gồm các trường dữ liệu như:

- Thời gian thực thi
- Trạng thái thực thi
- Đường dẫn file thực thi
- File Description
- Company Name
- File Version
- Amcache Program ID
- Exit Code

So với `PcaAppLaunchDic.txt`, file này cung cấp nhiều metadata hơn, giúp điều tra viên có thêm ngữ cảnh khi phân tích hoạt động thực thi của chương trình.


# Giá trị của PCA trong Digital Forensics

## Chứng minh Program Execution

Giá trị quan trọng nhất của PCA artifact là ghi nhận thông tin về các chương trình được người dùng khởi chạy thông qua Windows Explorer. Đây là bằng chứng hữu ích để xác định một executable đã được thực thi trên hệ thống.

## Xây dựng Timeline

PCA lưu trữ thời điểm thực thi gần nhất của chương trình, giúp điều tra viên đưa sự kiện thực thi vào timeline của vụ việc. Timeline này có thể được kết hợp với các nguồn dữ liệu khác như Event Logs, Prefetch hoặc $MFT để tái hiện diễn biến của sự cố.

## Phát hiện hoạt động đáng ngờ

Sự xuất hiện của các công cụ như Mimikatz, PsExec, AnyDesk hoặc các executable được thực thi từ thư mục Downloads, Temp hay USB có thể là dấu hiệu của hoạt động bất thường. PCA artifact giúp nhanh chóng xác định các chương trình này và hỗ trợ quá trình điều tra.

## Correlation với các forensic artifact khác

PCA không nên được phân tích một cách độc lập. Thay vào đó, điều tra viên nên đối chiếu PCA với các artifact khác để tăng độ tin cậy của kết quả phân tích.

| Artifact | Mục đích đối chiếu |
| --- | --- |
| Prefetch | Xác nhận chương trình đã được thực thi và thời điểm thực thi gần nhất. |
| Amcache | Thu thập metadata của executable như SHA1, Publisher, Version và Program ID. |
| ShimCache | Kiểm tra sự xuất hiện của executable trên hệ thống. |
| UserAssist | Xác minh chương trình được người dùng khởi chạy thông qua giao diện Windows Explorer. |

Việc kết hợp nhiều artifact giúp giảm nguy cơ đưa ra kết luận dựa trên một nguồn dữ liệu duy nhất và tăng độ tin cậy của kết quả điều tra.

# Hạn chế của PCA Artifact

## Chỉ hỗ trợ trên Windows 11 phiên bản 22H2 trở lên

PCA artifact theo cơ chế được trình bày trong bài viết chỉ xuất hiện trên Windows 11 phiên bản 22H2 trở lên. Đối với các phiên bản Windows cũ hơn, điều tra viên cần dựa vào các artifact khác như Prefetch, Amcache hoặc UserAssist.

## Không ghi nhận mọi hoạt động thực thi

Qua quá trình thực nghiệm, PCA chủ yếu ghi nhận các chương trình được người dùng khởi chạy thông qua Windows Explorer. Các chương trình được thực thi theo cơ chế tự động hoặc bởi các tiến trình khác có thể không xuất hiện trong PCA artifact.

