<?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 83)</title>
	<link>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/</link>
	<description>Structural and Behavioral Patterns for Software Diagnostics, Forensics and Prognostics</description>
	<pubDate>Thu, 07 May 2026 03:53:11 +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/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-741644</link>
		<dc:creator>Dmitry Vostokov</dc:creator>
		<pubDate>Fri, 14 Feb 2014 13:35:19 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-741644</guid>
		<description>Sometimes we need to check return addresses to see whether a function introduced an alternative execution path such as with hooking:

[...]
retA ntdll!NtCreateFile
retB DLL!HookCreateFile
retC kernel32!OtherFunction
[...]

Here we can check what function was called from kernel32!OtherFunction:

ub retB
[...]
call [kernel32!_imp_NtCreateFile]

If it is the same function semantically we can assume the hook is pass-through but it is not then we have a divergence of execution flow and we need to pay attention to that.</description>
		<content:encoded><![CDATA[<p>Sometimes we need to check return addresses to see whether a function introduced an alternative execution path such as with hooking:</p>
<p>[&#8230;]<br />
retA ntdll!NtCreateFile<br />
retB DLL!HookCreateFile<br />
retC kernel32!OtherFunction<br />
[&#8230;]</p>
<p>Here we can check what function was called from kernel32!OtherFunction:</p>
<p>ub retB<br />
[&#8230;]<br />
call [kernel32!_imp_NtCreateFile]</p>
<p>If it is the same function semantically we can assume the hook is pass-through but it is not then we have a divergence of execution flow and we need to pay attention to that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Stack trace collection, blocked threads, pass through functions and main thread: pattern cooperation</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-175793</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Stack trace collection, blocked threads, pass through functions and main thread: pattern cooperation</dc:creator>
		<pubDate>Fri, 13 Aug 2010 19:06:55 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-175793</guid>
		<description>[...] functions shown in blue are known from past issues to be pass through forwarding IRP to the lower drivers in a device driver [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] functions shown in blue are known from past issues to be pass through forwarding IRP to the lower drivers in a device driver [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 89)</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-100381</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Crash Dump Analysis Patterns (Part 89)</dc:creator>
		<pubDate>Fri, 23 Oct 2009 20:29:14 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-100381</guid>
		<description>[...] WinDbg to ignore our own functions and modules as well if we are sure they were well-tested or pass-through. For details please see the old minidump analysis case [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] WinDbg to ignore our own functions and modules as well if we are sure they were well-tested or pass-through. For details please see the old minidump analysis case [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Hunting for a Driver</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-83184</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Hunting for a Driver</dc:creator>
		<pubDate>Mon, 06 Jul 2009 15:55:21 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-83184</guid>
		<description>[...] see that DriverA and DriverB are possibly pass-through and have little influence. For DriverC and DriverD we don&#8217;t even have symbol files but they [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] see that DriverA and DriverB are possibly pass-through and have little influence. For DriverC and DriverD we don&#8217;t even have symbol files but they [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crash Dump Analysis &#187; Blog Archive &#187; Null data pointer, pass through functions and platformorphic fault: pattern cooperation</title>
		<link>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-79997</link>
		<dc:creator>Crash Dump Analysis &#187; Blog Archive &#187; Null data pointer, pass through functions and platformorphic fault: pattern cooperation</dc:creator>
		<pubDate>Fri, 19 Jun 2009 23:31:29 +0000</pubDate>
		<guid>https://www.dumpanalysis.org/blog/index.php/2009/04/14/crash-dump-analysis-patterns-part-83/#comment-79997</guid>
		<description>[...] DriverA function on the stack trace looks like a passthrough, DriverA was removed from the system. However, the same pattern continued [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] DriverA function on the stack trace looks like a passthrough, DriverA was removed from the system. However, the same pattern continued [&#8230;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
