ShellExecute引起的句柄泄漏

0x00

最近在检查公司Client的时候发现句柄表中存在 Process <Non-existence Process>(9516)Thread <Non-existence Process>(9615): 17060
很明显,问题应该是CreateProcess之后没有将 PPROCESS_INFORMATION 相关的句柄关闭。于是搜索了下代码,发现至少对 Thread 句柄的处理十分干净。所以只能DUMP了进程,拉进Windbg分析。

0x01

使用 s –d 命令搜索了下内存,发现了一处可疑之处。
010f900c 00000838 00000d58 0000252c 000042a4
!handle 838 显示的是进程
!handle d58 显示的是线程
252c = 9516
42a4 = 17060
基本可以肯定是这里。
使用 !address 010f900c 分析下内存,发现是Heap。
继续 !heap -x 0x10f900C,得到以下输出:
0:000> !heap -x 0x10f900C
Failed to read heap keySEGMENT HEAP ERROR: failed to initialize the extention Entry User Heap Segment Size PrevSize Unused Flags
010f8f28 010f8f30 01050000 01050000 1d0 10 8 busy

可以看出010f8f30对应大小是1d0,使用dds命令检查 010f8f30,果然发现了点东西:
010f8f30 744a1c84 windows_s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值