摘要: 原调试debugwindbgcrash崩溃COM 前言这是几年前在项目中遇到的一个崩溃问题,崩溃在了ComFriendlyWaitMtaThreadProc()里,没有源码。耗费了我很大精力,最终通过反汇编并结合原代码才最终搞清楚了事情的来龙去脉。本文的分析还是基于真实项目进行的,中间略去了很多反汇编的分析工作。文末有我整理的测试代码,大家可以实际体验一把TerminateThread()的杀... 阅读全文
posted @ 2016-12-27 17:49 BCN 阅读(403) 评论(0) 推荐(0) 编辑
摘要: c++代码(大体逻辑没问题,细节需要确认) DWORD __stdcall *ComFriendlyWaitMtaThreadProc(LPVOID lpThreadParameter) { CoInitializeEx(0,0); ThreadParam* pParam =(ThreadParam 阅读全文
posted @ 2016-12-27 14:57 BCN 阅读(272) 评论(0) 推荐(0) 编辑
摘要: structThreadParam { unsignedint p1;// +00h ebp-24h unsignedint p2;// +04h ebp-20h unsignedint cookie;// +08h ebp-1Ch LPSTREAM xxx;// +0Ch ebp-18h HAND 阅读全文
posted @ 2016-12-27 14:38 BCN 阅读(607) 评论(0) 推荐(0) 编辑