V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Greatshu
V2EX  ›  问与答

求助大神,怎么解决 CTF 加载程序 和 ChsIME.exe 占用 CPU 问题?

  •  
  •   Greatshu · 8 天前 · 843 次点击

    系统是 Windows 11 ,之前 Windows 10 也出现过有同样的问题。

    现象是开机一段时间,CTF 加载程序( ctfmon.exe ) 和 ChsIME.exe 就开始占用大约 10%的 CPU ,其中 ChsIME.exe 有两个同名进程,其中一个进程占用 0%CPU ,另一个进程占用较多。我用的是笔记本电脑,风扇会狂转。任务管理器结束占用较多的 ChsIME.exe 或者 ctfmon.exe 后会好一段时间,一段时间后现象反复。

    1762960907134.png

    1762961304833.png

    前两天重装了 Windows 11 ,仍然无法解决,使用 procmon 单独监测 ChsIME.exe 发现它一直在反复读取一个注册表,读取频率极高,根据日志估算,每秒约 6000 次。日志文件如下,Logfile.CSV 。

    https://gofile.io/d/2iEnR9

    1762961506619.png

    "23:30:42.5128945","ChsIME.exe","15120","RegQueryKey","HKLM","SUCCESS","Query: HandleTags, HandleTags: 0x0"
    "23:30:42.5129152","ChsIME.exe","15120","RegOpenKey","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE","SUCCESS","Desired Access: Query Value"
    "23:30:42.5129359","ChsIME.exe","15120","RegQueryValue","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE\LaunchUserOOBE","NAME NOT FOUND","Length: 16"
    "23:30:42.5129521","ChsIME.exe","15120","RegCloseKey","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE","SUCCESS",""
    

    procmon 单独监测 ctfmon.exe 没有发现明显问题,日志文件如下,ctfmonLogfile.CSV 。

    https://gofile.io/d/2iEnR9

    系统版本如下

    1762962629893.png

    第 1 条附言  ·  7 天前

    感谢@zk8802 的分析和 @youngteam99 的提醒,基本确定是 KeePass 安全桌面问题

    https://keepass.info/help/kb/sec_desk.html#ime

    开启 KeePass 安全桌面:

    https://i.imgur.com/PNzJJf5.mp4

    关闭 KeePass 安全桌面:

    https://imgur.com/dYRQYYY.mp4

    18 条回复    2025-11-13 17:31:16 +08:00
    LucasChang
        1
    LucasChang  
       8 天前
    标记一下,蹲一位大佬来给大伙上课
    Donduck
        2
    Donduck  
       7 天前
    最接近的案例:
    https://bbs.kafan.cn/thread-2243657-1-1.html
    其中一个 ChsIME 理应是 SYSTEM 权限
    zk8802
        3
    zk8802  
       7 天前
    能上传一下你的 shell32.dll 吗?这个文件在 C:\Windows\System32 下面。

    读取 LaunchUserOOBE 是 shell32.dll 中的 ShowShellInfrastuctureCriticalFailureDialog 函数完成的,但是根据我本地的 shell32.dll 中的实现,读取 LaunchUserOOBE 的逻辑在每个进程中只应该被调用一次(因为有一个 flag 控制该逻辑是否已经执行过)。反复读取这个注册表键好像和我看到的实现不一致呀……

    另外你可以用 Process Explorer 或者其它工具看一下 ChsIME.exe 进程里面有没有加载非微软的 DLL ;如果有的话,卸载相关软件试一下。
    zk8802
        4
    zk8802  
       7 天前
    我错了。调用点应该是在 msctf.dll 里面。不需要 shell32.dll 了。
    zk8802
        5
    zk8802  
       7 天前
    简单看了一下 msctf.dll ,调用点应该是 IsUserOOBE ,但是问题的根源有可能是 TF_Notify 被反复调用,或者 CAlpcPort 被反复调用(我还不理解这个类是做什么的),纯静态分析的话太浪费时间了。楼主如果有兴趣找到问题根源,可以用 ETWController ( https://github.com/Alois-xx/etwcontroller/)记录几秒钟的 ETW trace 发上来,我可以继续研究一下。
    yiyiwa
        6
    yiyiwa  
       7 天前
    我的笔记本也有同样的问题,最后直接换一个输入法
    Greatshu
        7
    Greatshu  
    OP
       7 天前
    @zk8802 #5 感谢大佬的分析,暂时没有复现,下次遇到我用 ETWController 试试
    Greatshu
        8
    Greatshu  
    OP
       7 天前
    我的电脑上目前安装的软件有这些,除此之外还有 v2rayN v7.16.1

    ![1763001632327.png]( https://youke1.picui.cn/s1/2025/11/13/691544f6aa86f.png)

    型号是联想拯救者 Y7000 2019
    Greatshu
        9
    Greatshu  
    OP
       7 天前
    @yiyiwa #6 你好,麻烦看一下 8 楼,有安装类似的软件吗。我是重装的系统,安装了这几个软件就出现这个问题了。
    yiyiwa
        10
    yiyiwa  
       7 天前
    我的是 DELL ,然后 vmware workstation, chrome ,VC 库有的。还有一些其它的。

    反正网上的办法都折腾过了,不灵。

    因为用五笔,最后直接用 冰凌 了。
    youngteam99
        11
    youngteam99  
       7 天前   ❤️ 1
    @Greatshu 看看是不是 keepass 的问题,https://keepass.info/help/kb/sec_desk.html#ime
    zk8802
        12
    zk8802  
       7 天前
    楼主额外安装输入法了吗?
    Greatshu
        13
    Greatshu  
    OP
       7 天前
    @youngteam99 #11 感谢,我试试能不能复现
    Greatshu
        14
    Greatshu  
    OP
       7 天前
    @zk8802 #12 没有,用的系统自带的微软拼音
    Greatshu
        15
    Greatshu  
    OP
       7 天前
    @youngteam99 #11 成功复现,基本确定是 KeePass 安全桌面问题
    开启 KeePass 安全桌面:
    https://i.imgur.com/PNzJJf5.mp4

    关闭 KeePass 安全桌面:
    https://imgur.com/dYRQYYY.mp4
    youngteam99
        16
    youngteam99  
       7 天前
    @Greatshu https://sourceforge.net/p/keepass/discussion/329220/thread/5637b4a2f9/?limit=250 ,开发者说貌似是微软的问题,不知道是微软还是 KeePass 的问题
    Greatshu
        17
    Greatshu  
    OP
       7 天前
    @youngteam99 #16 我猜是微软锅更大,keepass 我从 win7 就开始用了,win7 ,8 ,8.1 ,都没有问题,后来出现过一段时间无法在软件中输入中文,不知道哪个版本后又修好了
    zk8802
        18
    zk8802  
       7 天前 via iPhone
    @Greatshu 谢谢排查!我明天调试一下 Keepass 安全桌面。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1077 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:15 · PVG 07:15 · LAX 15:15 · JFK 18:15
    ♥ Do have faith in what you're doing.