<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Crash Dump Analysis Patterns (Part 56)</title>
	<link>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/</link>
	<description>Structural and Behavioral Patterns for Software Diagnostics, Forensics and Prognostics</description>
	<pubDate>Wed, 06 May 2026 11:14:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-767745</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Tue, 23 Dec 2025 22:07:46 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-767745</guid>
		<description>Wild Code memory dump analysis pattern example:

0:000&gt; db @$scopeip L10
04fd0002  48 61 70 70 79 20 48 6f-6c 69 64 61 79 73 21 00  Happy Holidays!.

0:000&gt; u @$scopeip
04fd0002 48              dec     eax
04fd0003 61              popad
04fd0004 7070            jo      04fd0076
04fd0006 7920            jns     04fd0028
04fd0008 48              dec     eax
04fd0009 6f              outs    dx,dword ptr [esi]
04fd000a 6c              ins     byte ptr es:[edi],dx
04fd000b 6964617973210000 imul    esp,dword ptr [ecx+79h],2173h</description>
		<content:encoded><![CDATA[<p>Wild Code memory dump analysis pattern example:</p>
<p>0:000> db @$scopeip L10<br />
04fd0002  48 61 70 70 79 20 48 6f-6c 69 64 61 79 73 21 00  Happy Holidays!.</p>
<p>0:000> u @$scopeip<br />
04fd0002 48              dec     eax<br />
04fd0003 61              popad<br />
04fd0004 7070            jo      04fd0076<br />
04fd0006 7920            jns     04fd0028<br />
04fd0008 48              dec     eax<br />
04fd0009 6f              outs    dx,dword ptr [esi]<br />
04fd000a 6c              ins     byte ptr es:[edi],dx<br />
04fd000b 6964617973210000 imul    esp,dword ptr [ecx+79h],2173h</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Vostokov</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-741695</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Sat, 12 Mar 2016 19:25:41 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-741695</guid>
		<description>Sometimes 

&lt;p align="left"&gt;&lt;code&gt;0:000&gt; k
ChildEBP RetAddr  
03ced1b0 771d6aec ntdll!KiFastSystemCallRet
03ced1b4 75406a8e ntdll!NtWaitForMultipleObjects+0xc
03ced250 7734be76 KERNELBASE!WaitForMultipleObjectsEx+0x100
03ced298 7734bee4 kernel32!WaitForMultipleObjectsExImplementation+0xe0
03ced2b4 7736072f kernel32!WaitForMultipleObjects+0x18
03ced320 773609ca kernel32!WerpReportFaultInternal+0x186
03ced334 77360978 kernel32!WerpReportFault+0x70
03ced344 773608f3 kernel32!BasepReportFault+0x20
03ced3d0 7720820a kernel32!UnhandledExceptionFilter+0x1af
03ced3d8 771ae364 ntdll!__RtlUserThreadStart+0x62
03ced3ec 771ae1fc ntdll!_EH4_CallFilterFunc+0x12
03ced414 771d72b9 ntdll!_except_handler4+0x8e
03ced438 771d728b ntdll!ExecuteHandler2+0x26
03ced45c 771af9d7 ntdll!ExecuteHandler+0x24
03ced4e8 771d7117 ntdll!RtlDispatchException+0x127
03ced4e8 63050001 ntdll!KiUserExceptionDispatcher+0xf
03ceda64 771e73e2 ModuleA!FunctionA+0xc1
03ceda84 0141b848 ntdll!_SEH_epilog4_GS+0xa
03cedcb4 767cbbf4 ModuleB!FunctionB+0x188 
03cedcc8 767cbcb5 gdi32!NtGdiOpenDCW+0xc
03cedf70 013bc7df gdi32!hdcCreateDCW+0x517
03cee0c8 7734c413 ModuleB!FunctionC+0xff 
03cee0e0 7734c3c2 kernel32!WaitForSingleObjectExImplementation+0x75
03cee0f4 65e66c9c kernel32!WaitForSingleObject+0x12
WARNING: Frame IP not in any known module. Following frames may be wrong.
00000000 00000000 0x65e66c9c&lt;/code&gt;

We see Incorrect Stack Trace pattern since it doesn't make sense that waiting functions call GDI and other modules. Also the return address for ModuleA!FunctionA looks coincidental: 63050001. Although we are able to see code we are not able to disassemble it backwards:

&lt;p align="left"&gt;&lt;code&gt;0:000&gt; u 63050001
ModuleA!FunctionA+0xc1:
63050001 a1056383c4      mov     eax,dword ptr ds:[C4836305h]
63050006 108d4c241051    adc     byte ptr [ebp+5110244Ch],cl
6305000c ff15b4a00563    call    dword ptr [ModuleA!_imp__OutputDebugStringA (6305a0b4)]
63050012 8b4e14          mov     ecx,dword ptr [esi+14h]
63050015 85c9            test    ecx,ecx
63050017 740e            je      ModuleA!FunctionA+0xe7 (63050027)
63050019 8b11            mov     edx,dword ptr [ecx]
6305001b 8b4204          mov     eax,dword ptr [edx+4]&lt;/code&gt;

&lt;p align="left"&gt;&lt;code&gt;0:000&gt; ub 63050001
                 ^ Unable to find valid previous instruction for 'ub 63050001'&lt;/code&gt;

&lt;p align="left"&gt;&lt;code&gt;0:000&gt; ub 63050001-1
                   ^ Unable to find valid previous instruction for 'ub 63050001-1'&lt;/code&gt;

&lt;p align="left"&gt;&lt;code&gt;0:000&gt; ub 63050001-2
                   ^ Unable to find valid previous instruction for 'ub 63050001-2'&lt;/code&gt;

&lt;p align="left"&gt;&lt;code&gt;0:000&gt; ub 63050001-3
ModuleA!FunctionA+0xa4:
6304ffe4 ffd2            call    edx
6304ffe6 84c0            test    al,al
6304ffe8 7541            jne     ModuleA!FunctionA+0xeb (6305002b)
6304ffea 6818c20563      push    offset ModuleA!`string' (6305c218)
6304ffef 68bcc10563      push    offset ModuleA!`string' (6305c1bc)
6304fff4 8d442418        lea     eax,[esp+18h]
6304fff8 6800010000      push    100h
6304fffd 50              push    eax&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Sometimes </p>
<p align="left"><code>0:000> k<br />
ChildEBP RetAddr<br />
03ced1b0 771d6aec ntdll!KiFastSystemCallRet<br />
03ced1b4 75406a8e ntdll!NtWaitForMultipleObjects+0xc<br />
03ced250 7734be76 KERNELBASE!WaitForMultipleObjectsEx+0x100<br />
03ced298 7734bee4 kernel32!WaitForMultipleObjectsExImplementation+0xe0<br />
03ced2b4 7736072f kernel32!WaitForMultipleObjects+0x18<br />
03ced320 773609ca kernel32!WerpReportFaultInternal+0x186<br />
03ced334 77360978 kernel32!WerpReportFault+0x70<br />
03ced344 773608f3 kernel32!BasepReportFault+0x20<br />
03ced3d0 7720820a kernel32!UnhandledExceptionFilter+0x1af<br />
03ced3d8 771ae364 ntdll!__RtlUserThreadStart+0x62<br />
03ced3ec 771ae1fc ntdll!_EH4_CallFilterFunc+0x12<br />
03ced414 771d72b9 ntdll!_except_handler4+0x8e<br />
03ced438 771d728b ntdll!ExecuteHandler2+0x26<br />
03ced45c 771af9d7 ntdll!ExecuteHandler+0x24<br />
03ced4e8 771d7117 ntdll!RtlDispatchException+0x127<br />
03ced4e8 63050001 ntdll!KiUserExceptionDispatcher+0xf<br />
03ceda64 771e73e2 ModuleA!FunctionA+0xc1<br />
03ceda84 0141b848 ntdll!_SEH_epilog4_GS+0xa<br />
03cedcb4 767cbbf4 ModuleB!FunctionB+0x188<br />
03cedcc8 767cbcb5 gdi32!NtGdiOpenDCW+0xc<br />
03cedf70 013bc7df gdi32!hdcCreateDCW+0x517<br />
03cee0c8 7734c413 ModuleB!FunctionC+0xff<br />
03cee0e0 7734c3c2 kernel32!WaitForSingleObjectExImplementation+0x75<br />
03cee0f4 65e66c9c kernel32!WaitForSingleObject+0x12<br />
WARNING: Frame IP not in any known module. Following frames may be wrong.<br />
00000000 00000000 0x65e66c9c</code></p>
<p>We see Incorrect Stack Trace pattern since it doesn&#8217;t make sense that waiting functions call GDI and other modules. Also the return address for ModuleA!FunctionA looks coincidental: 63050001. Although we are able to see code we are not able to disassemble it backwards:</p>
<p align="left"><code>0:000> u 63050001<br />
ModuleA!FunctionA+0xc1:<br />
63050001 a1056383c4      mov     eax,dword ptr ds:[C4836305h]<br />
63050006 108d4c241051    adc     byte ptr [ebp+5110244Ch],cl<br />
6305000c ff15b4a00563    call    dword ptr [ModuleA!_imp__OutputDebugStringA (6305a0b4)]<br />
63050012 8b4e14          mov     ecx,dword ptr [esi+14h]<br />
63050015 85c9            test    ecx,ecx<br />
63050017 740e            je      ModuleA!FunctionA+0xe7 (63050027)<br />
63050019 8b11            mov     edx,dword ptr [ecx]<br />
6305001b 8b4204          mov     eax,dword ptr [edx+4]</code></p>
<p align="left"><code>0:000> ub 63050001<br />
                 ^ Unable to find valid previous instruction for 'ub 63050001'</code></p>
<p align="left"><code>0:000> ub 63050001-1<br />
                   ^ Unable to find valid previous instruction for 'ub 63050001-1'</code></p>
<p align="left"><code>0:000> ub 63050001-2<br />
                   ^ Unable to find valid previous instruction for 'ub 63050001-2'</code></p>
<p align="left"><code>0:000> ub 63050001-3<br />
ModuleA!FunctionA+0xa4:<br />
6304ffe4 ffd2            call    edx<br />
6304ffe6 84c0            test    al,al<br />
6304ffe8 7541            jne     ModuleA!FunctionA+0xeb (6305002b)<br />
6304ffea 6818c20563      push    offset ModuleA!`string' (6305c218)<br />
6304ffef 68bcc10563      push    offset ModuleA!`string' (6305c1bc)<br />
6304fff4 8d442418        lea     eax,[esp+18h]<br />
6304fff8 6800010000      push    100h<br />
6304fffd 50              push    eax</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Wild code and partial stack reconstruction</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-92196</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Wild code and partial stack reconstruction</dc:creator>
		<pubDate>Fri, 04 Sep 2009 14:15:01 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-92196</guid>
		<description>[...] recently got a chance to see an instance of Wild Code pattern in kernel [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] recently got a chance to see an instance of Wild Code pattern in kernel [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 84)</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-74533</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 84)</dc:creator>
		<pubDate>Fri, 15 May 2009 18:19:27 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-74533</guid>
		<description>[...] the assembly code looks almost wild (not like generated by your favourite compiler). For example (that also shows .NET runtime native [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] the assembly code looks almost wild (not like generated by your favourite compiler). For example (that also shows .NET runtime native [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 66)</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-30971</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 66)</dc:creator>
		<pubDate>Fri, 20 Jun 2008 13:06:55 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2008/03/27/crash-dump-analysis-patterns-part-56/#comment-30971</guid>
		<description>[...] provided specific recommendation hints. When looking at the crash point we see an instance of Wild Code [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] provided specific recommendation hints. When looking at the crash point we see an instance of Wild Code [&#8230;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
