nsi卸载进程卡住:

自卸载 调用的函数:MoveFileEx  (PendingFileRenameOperations  MOVEFILE_DELAY_UNTIL_REBOOT   开机延迟删除 )

使用Process Explorer查看进程:

进程卡住 线程栈分析 记录

卡住的两个线程。

查看线程栈:

进程卡住 线程栈分析 记录

进程卡住 线程栈分析 记录

SeAccessCheckWithHint+0xb4a 卡住。

https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/1edad401-396b-4d7a-b5e4-d16fd48ca120/shellexecuteex-hangs-in-openregstream

https://pastebin.com/md38525d

https://communities.vmware.com/thread/266408

查看 SeAccessCheckWithHint+0xb4a  以后有时间 再具体分析(应该跟 主机环境有关)

进程卡住 线程栈分析 记录

最后的结论是:0会话 启动gui进程 导致卡死

写了一个demo 进行排查 记录:

使用服务启动 gui进程 messageBox.exe

安装服务

进程卡住 线程栈分析 记录

服务启动配置:(启动MessageBox.exe 进程)

进程卡住 线程栈分析 记录

MessageBox.exe 正常启动:

进程卡住 线程栈分析 记录

启动服务 (根据配置启动MessageBox.exe):

进程卡住 线程栈分析 记录

用procexp查看  卡死线程

进程卡住 线程栈分析 记录

使用windbg 附加到 messageBox.exe(F6 )

进程卡住 线程栈分析 记录

 

查看线程(~)

进程卡住 线程栈分析 记录

 

查看线程0栈(~ 0 kv)

进程卡住 线程栈分析 记录

切换到线程0(~ 0 s)

进程卡住 线程栈分析 记录

查看线程0栈(kv)

进程卡住 线程栈分析 记录

查看MessageBoxIndirect( const MSGBOXPARAMS *lpmbp ) 

查看MSGBOXPARAMS  ( dd 0020f9b8  (上图 MessageBoxIndirectW 的参数) )

进程卡住 线程栈分析 记录

 

进程卡住 线程栈分析 记录

查看 szText  (du 013b2150)

进程卡住 线程栈分析 记录

查看szCaption (du 013b2180)

进程卡住 线程栈分析 记录

 

与上图的messageBox的内容一致  说明 MessageBoxIndirect 卡住了

ok

测试程序下载url:https://download.csdn.net/download/huanongying131/11228827

 

相关文章:

  • 2021-10-29
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
  • 2021-11-22
  • 2021-08-04
  • 2021-07-08
  • 2021-12-08
猜你喜欢
  • 2022-01-21
  • 2021-04-18
  • 2022-01-07
  • 2022-02-01
  • 2021-08-27
  • 2021-07-12
相关资源
相似解决方案