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


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

"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 。
系统版本如下

感谢@zk8802 的分析和 @youngteam99 的提醒,基本确定是 KeePass 安全桌面问题
https://keepass.info/help/kb/sec_desk.html#ime
开启 KeePass 安全桌面:
https://i.imgur.com/PNzJJf5.mp4
关闭 KeePass 安全桌面:
1
LucasChang 8 天前
标记一下,蹲一位大佬来给大伙上课
|
2
Donduck 7 天前
|
3
zk8802 7 天前
能上传一下你的 shell32.dll 吗?这个文件在 C:\Windows\System32 下面。
读取 LaunchUserOOBE 是 shell32.dll 中的 ShowShellInfrastuctureCriticalFailureDialog 函数完成的,但是根据我本地的 shell32.dll 中的实现,读取 LaunchUserOOBE 的逻辑在每个进程中只应该被调用一次(因为有一个 flag 控制该逻辑是否已经执行过)。反复读取这个注册表键好像和我看到的实现不一致呀…… 另外你可以用 Process Explorer 或者其它工具看一下 ChsIME.exe 进程里面有没有加载非微软的 DLL ;如果有的话,卸载相关软件试一下。 |
4
zk8802 7 天前
我错了。调用点应该是在 msctf.dll 里面。不需要 shell32.dll 了。
|
5
zk8802 7 天前
简单看了一下 msctf.dll ,调用点应该是 IsUserOOBE ,但是问题的根源有可能是 TF_Notify 被反复调用,或者 CAlpcPort 被反复调用(我还不理解这个类是做什么的),纯静态分析的话太浪费时间了。楼主如果有兴趣找到问题根源,可以用 ETWController ( https://github.com/Alois-xx/etwcontroller/)记录几秒钟的 ETW trace 发上来,我可以继续研究一下。
|
6
yiyiwa 7 天前
我的笔记本也有同样的问题,最后直接换一个输入法
|
8
Greatshu OP 我的电脑上目前安装的软件有这些,除此之外还有 v2rayN v7.16.1
 型号是联想拯救者 Y7000 2019 |
10
yiyiwa 7 天前
我的是 DELL ,然后 vmware workstation, chrome ,VC 库有的。还有一些其它的。
反正网上的办法都折腾过了,不灵。 因为用五笔,最后直接用 冰凌 了。 |
11
youngteam99 7 天前 @Greatshu 看看是不是 keepass 的问题,https://keepass.info/help/kb/sec_desk.html#ime
|
12
zk8802 7 天前
楼主额外安装输入法了吗?
|
13
Greatshu OP @youngteam99 #11 感谢,我试试能不能复现
|
15
Greatshu OP @youngteam99 #11 成功复现,基本确定是 KeePass 安全桌面问题
开启 KeePass 安全桌面: https://i.imgur.com/PNzJJf5.mp4 关闭 KeePass 安全桌面: https://imgur.com/dYRQYYY.mp4 |
16
youngteam99 7 天前
@Greatshu https://sourceforge.net/p/keepass/discussion/329220/thread/5637b4a2f9/?limit=250 ,开发者说貌似是微软的问题,不知道是微软还是 KeePass 的问题
|
17
Greatshu OP @youngteam99 #16 我猜是微软锅更大,keepass 我从 win7 就开始用了,win7 ,8 ,8.1 ,都没有问题,后来出现过一段时间无法在软件中输入中文,不知道哪个版本后又修好了
|