<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: You cannot make your application undestroyable.</title>
	<atom:link href="http://blog.delphi-jedi.net/2008/03/17/you-cant-make-your-application-undestroyable/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.delphi-jedi.net/2008/03/17/you-cant-make-your-application-undestroyable/</link>
	<description>Joint Endeavor of Delphi Innovators of Windows Programming</description>
	<lastBuildDate>Thu, 24 Nov 2011 17:58:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Oliver</title>
		<link>http://blog.delphi-jedi.net/2008/03/17/you-cant-make-your-application-undestroyable/comment-page-1/#comment-153</link>
		<dc:creator>Oliver</dc:creator>
		<pubDate>Sun, 20 Apr 2008 17:15:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.delphi-jedi.net/2008/03/17/you-cant-make-your-application-undestroyable/#comment-153</guid>
		<description>Right, but this requires at least to have the rights to inject into any process and it doesn&#039;t matter. How about me just calling something like &lt;tt&gt;ExitProcess()&lt;/tt&gt; via &lt;tt&gt;CreateRemoteThread()&lt;/tt&gt;? Or how about me injecting faulty code, that will make the process fault and end with an exception? How about the half a dozen other functions that are able to cause the same thing?

The situation is similar to that of rootkits. Rootkits can only use known methods to hide and defenders can only use known vectors to find rootkits. Not in all cases those sets of know-how match, so that one may be ahead of the other, but the problem remains ultimately unsolvable.

// Oliver</description>
		<content:encoded><![CDATA[<p>Right, but this requires at least to have the rights to inject into any process and it doesn&#8217;t matter. How about me just calling something like <tt>ExitProcess()</tt> via <tt>CreateRemoteThread()</tt>? Or how about me injecting faulty code, that will make the process fault and end with an exception? How about the half a dozen other functions that are able to cause the same thing?</p>
<p>The situation is similar to that of rootkits. Rootkits can only use known methods to hide and defenders can only use known vectors to find rootkits. Not in all cases those sets of know-how match, so that one may be ahead of the other, but the problem remains ultimately unsolvable.</p>
<p>// Oliver</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: parmaster</title>
		<link>http://blog.delphi-jedi.net/2008/03/17/you-cant-make-your-application-undestroyable/comment-page-1/#comment-120</link>
		<dc:creator>parmaster</dc:creator>
		<pubDate>Tue, 15 Apr 2008 08:33:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.delphi-jedi.net/2008/03/17/you-cant-make-your-application-undestroyable/#comment-120</guid>
		<description>You could actually inject a thread into process system wide hooking the TerminateProcess API. When a program on the system tries to call the API it can be intercepted and canceled if it matches your unstoppable file.</description>
		<content:encoded><![CDATA[<p>You could actually inject a thread into process system wide hooking the TerminateProcess API. When a program on the system tries to call the API it can be intercepted and canceled if it matches your unstoppable file.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

